DISTRIBUTED O BJECT
CO RBA & RMI
O utline
Arsitektur CO RBA
Komponen utama CO RBA
Komponen Corba pada client
Komponen Corba pada server
Komponen utama penyusun CO RBA
Sistem keamanan CO RBA
Arsitektur CO RBA
CO RBA
(Common
O bject
Request
Broker
Architecture) adalah suatu standard untuk sistem
objek oriented
terdistribusi yang dikembangkan
oleh O MG.
CO RBA memungkinkan kita menggunakan aplikasi
Arsitektur CO RBA
CO RBA memiliki arsitektur yang berbasiskan model
objek.
Model ini diturunkan dari abstrak Core O bject
Model yang didefiniskan O MG di dalam O MA
(O bject Management Architecture).
Sistem
CO RBA
terdiri
dari
objek-objek
yang
Arsitektur CO RBA
O bject Management Architecture (O MA) mendef inisikan berbagai f asilitas highlevel yang diperlukan untuk komputasi berorientasi objek. Bagian utama dari O MA adalah O bject Request Broker (O RB).
O RB merupakan suatu mekanime yang memberikan transparansi lokasi, komunikasi, dan aktivasi suatu objek.
Komponen CO RBA
CO RBA disusun oleh komponen-komponen utama :
O RB (O bject Request Broker)
IDL (Interf ace Def inition Language)
DII (Dynamic Invocation Interf ace)
IR (Interf ace Repositories)
Komponen CO RBA
Komponen CO RBA
Komponen CO RBA pada client
1. Client Application
2. Client IDL Stubs
3. Dynamic Invocation Interf ace
4. Interf ace Repository
5. Client Side O RB Interf ace
Komponen CO RBA
Komponen CO RBA pada server :
1. Server Side O RB Interf ace
2. Static IDL Skeleton
Komponen CO RBA
1. O bject Request Broker - O RB
O RB merupakan inti dari CO RBA dan bertanggung jawab untuk menjalankan semua mekanisme yang dibutuhkan, yaitu:
Menemukan implementasi objek untuk memenuhi request
Menyiapkan implementasi objek untuk menerima request
Komponen CO RBA
Dengan O RB, yang terdiri dari interf ace, suatu client dapat berkomunikasi dengan object implementation tanpa adanya batasan platform, teknologi jaringan, bahasa pemrograman, dan letak objek
Komponen CO RBA
Dengan menggunakan O RB, objek client bias meminta sebuah method pada sebuah object server yang bisa saja terdapat dalam satu mesin maupun jaringan yang berbeda.
Komponen CO RBA
O bject Implementation (O I)
Suatu O bject Implementation (O I) menyediakan semantik dari objek, yang umumnya dilakukan dengan mendef iniskan data untuk object instance dan kode untuk method-method objek tersebut.
Komponen CO RBA
Secara umum, O bject Implementation (O I) tidak tergantung pada O RB atau bagaimana suatu client memanggil suatu objek.
Komponen CO RBA
O bject Implementation (O I) menerima suatu request melalui
1. IDL Skeleton
Komponen CO RBA
2. Interf ace
Interf ace suatu objek dapat didef inisikan dengan cara statis, yaitu menggunakan IDL (Interf ace Def inition Languange).
Komponen CO RBA
Client meminta suatu request dengan melakukan akses ke O R (O bject Ref erence) suatu objek yang dituju dan mengetahui tipe dari objek dan operasi-operasi yang dapat dilakukan pada objek tersebut.
Komponen CO RBA
Dalam arsitekturnya, O RB tidak perlu dimplementasikan dalam sebuah komponen tunggal; namun, O RB didef inisikan menggunakan interf ace-interf ace yang dimilikinya.
Interf ace-interf ace tersebut dikelompokan menjadi:
1. operasi yang sama untuk semua implementasi O RB
2. operasi khusus untuk tipe objek tertentu
Komponen CO RBA
3. O bject Ref erence (O R)
O bject Ref erence (O R) merupakan informasi yang dibutuhkan untuk menentukan sebuah objek dalam O RB.
Client dan O bject Implementation (O I) memiliki bagian yang tertutup dari O R dengan language mapping, yang kemudian disekat dari representasi aktualnya.
Komponen CO RBA
Komponen CO RBA
4. Interf ace Def inition Language (IDL)
O bjek-objek CO RBA dispesif ikasikan menggunakan interf ace, yang merupakan penghubung antara client dan server.
Interf ace Def inition Language (IDL) digunakan untuk mendef inisikan interf ace tersebut.
Komponen CO RBA
Melalui IDL, O bject Implementation (O I) akan memberitahu client yang akan mengaksesnya operasi apa saja dan method apa saja yang harus dipanggil client tersebut.
Bahasa Pemrograman yang berbeda dapat mengakses objek-objek CO RBA dalam bebagai cara yang berbeda.
Komponen CO RBA
Language Mapping ini menyertakan def inisi tipe data untuk bahasa pemrograman tertentu dan procedure interf ace untuk mengakses objek melalui O RB. Ini meliputi:
1. Struktur dari client stub interf ace (tidak dibutuhkan untuk bahasa O O P)
2. Dynamic Invocation Interf ace
3. Implementation Skeleton
4. O bject Adapters
Komponen CO RBA
Komponen CO RBA
Dynamic Invocation/ Skeleton Interf ace
IDL interf ace yang digunakan oleh sebuah client ditentukan pada saat client dikompilasi.
Komponen CO RBA
Bila suatu aplikasi membutuhkan interf ace-interf ace yang tak didef iniskan saat kompilasi, maka diperlukan DII (Dynamic Invocation Interf ace) atau pun DSI (Dynamic Skeleton Interf ace).
DII memungkinkan suatu aplikasi/ client memanggil operasi-operasi dari sembarang interf ace.
Komponen CO RBA
Dynamic Invocation Interf ace (DII)
DII memungkinkan client untuk mendapatkan sebuah instance dari objek CO RBA dan membuat invocation pada objek tersebut dengan menciptakan request yang sif atnya dinamis.
Komponen CO RBA
Empat tahap yang diperlukan saat penggunaan Dynamic Invocation Interf ace (DII):
Mengidentif ikasikan target objek yang akan dipanggil
Mendapatkan target interf ace dari objek tersebut
Membangun invocation
Komponen CO RBA
keuntungan menggunakan DII, yaitu:
Aplikasi client dapat melakukan permintaan kepada setiap operasi meskipun tersebut tidak diketahui pada saat aplikasi dikompilasi
Komponen CO RBA
Dynamic Skeleton Interf ace (DSI)
Dynamic Skeleton Interf ace (DSI) menyerupai DII, namun tereletak di sisi server.
DSI memungkinkan server ditulis tanpa harus mempunyai skeleton-skeleton atau informasi tentang waktu kompilasi, dan untuk objek mana server ini diimlementasikan.
Komponen CO RBA
5. O bject Adapter (OA)
O bject Adapter (OA) merupakan cara utama bagi sebuah O bject Implemetation (O I) untuk mengakses service yang disediakan oleh O RB.
Komponen CO RBA
6. O RB Interf ace
Komponen CO RBA
7. Intef ace Repository (IR)
Interf ace Repository (IR) merupakan online database yang berisi tentang meta informasi tentang tipe dari objek O RB.
Komponen CO RBA
O RB biasa menggunakan IR untuk:
menyediakan interoperability antar implementasi O RB yang berbeda
menyediakan type checking dari signature sebuah request yang melalui SII dan DII
Mengecek kebenaran graf ik inheritance
Mengelola instalasi dan distribusi interf ace def inition alam sebuah jaringan
Mengizinkan designer apliaksi untuk memodif ikasi interf ace def inition
Komponen CO RBA
8. Implementation Repository
Implementation Repository terdiri dari informasi yang memperbolehkan O RB untuk mencari dan mengaktivasi implementasi suatu objek.
Komponen CO RBA
9. Internet Inter-O RB Protocol (IIO P)
CO RBA mendef inisikan IIO P (Internet Inter-O RB Protocol) untuk mengatur bagaimana objek berkomunikasi melalui jaringan.
Sistem Keamanan CO RBA
Secara
umum,
keamanan
berkenaan
dengan
masalah:
Conf identiality (informasi hanya diberikan pada user yang berhak mengaksesnya)
Integrity (informasi hanya boleh diubah oleh user yang berhak mengubahnya)
Accountability (aksi-aksi user yang berhubungan dengan keamanan selalu dicatat)
Sistem Keamanan CO RBA
Beberapa jenis ancaman yang dideskripsikan dalam
spesif ikasi O MG adalah:
Kontrol keamanan (Security control) di-bypass oleh orang lain
Seorang authorised user mendapatkan akses pada informasi yang seharusnya disembunyikan darinya
Sistem Keamanan CO RBA
Kurangnya accountability, misalnya identitas user yang tidak mencukupi
Penyadapan untuk mendapatkan data yang seharusnya dirahasiakan
Sistem Keamanan CO RBA
Sistem CO RBA bukanlah jenis sistem informasi
Sistem Keamanan CO RBA
O leh karena sifat terdistribusi tersebut, beberapa
tujuan
keamanan
yang
khusus pada
CO RBA
adalah:
Sistem Keamanan CO RBA
Karena sistem CO RBA berorientasi objek, maka spesif ikasi-nya juga harus berorientasi objek:
1.interf ace harus sepenuhnya objek oriented murni
2.model harus menggunakan enkapsulasi untuk menampilkan kesatuan sistem dan menyembunyikan kompleksitas mekanisme sekuriti dibawah interf ace sederhana
Sistem Keamanan CO RBA
Secure O bject Invocation, untuk memastikan invocation diproteksi oleh aturan sekuriti
Sistem Keamanan CO RBA
spesif ikasi O MG menentukan f itur-f itur kunci yang harus
diproses oleh sistem keamanan pada CO RBA, yaitu:
Authorisation dan Access control (memutuskan apakah suatu user dapat mengakses objek (umumnya menggunakan identitas secara normal dan/ atau atribut istimewa lain) dan apakah atribut kontrol dari objek target dapat mengaksesnya)
Sistem Keamanan CO RBA
Keamanan dari komunikasi antar objek (hal ini memerlukan koneksi yang terpercaya antara client dan target, yang mungkin memerlukan autentif ikasi dari client untuk target, maupun autentif ikasi dari target untuk client. Hal ini juga memerlukan integrity protection dan Conf identiality protection untuk message yang dikirimkan antar object)
Non-repudiation (menyediakan bukti nyata dari suatu aksi yang dilakukan oleh user)
RMI (Remote Method Invocation)
RMI adalah salah satu bagian dari J2SE yang
digunakan untuk membangun aplikasi terdistribusi
menggunakan bahasa Java.
RMI adalah kumpulan kelas dalam Java yang
RMI (Remote Method Invocation)
RMI
menggunakan
prinsip
pemrograman
berorientasi obyek dimana obyek satu dapat saling
berkomunikasi dengan obyek lainnya.
Untuk
membangun
aplikasi
RMI
dibutuhkan
Interf ace.
Arsitektur RMI
Arsitektur RMI
RMI Server akan mendaf tarkan remote obyeknya
ke RMI Registry melalui bind dengan nama unik.
RMI
Client
yang
akan
melakukan
suatu
pemanggilan method dari
remote
obyek, harus
meminta
ref erensi
obyek
ke
RMI
Registry
berdasarkan nama kelas obyek tersebut.
Dalam RMI harus ada pendefinisian
interf ace
Arsitektur RMI
Arsitektur RMI
Selama remote invocation stub bertanggung jawab
untuk:
Meminta lokasi remote server obyek pada remote ref erence Layer
Marshalling : merangkaian argumen pada output stream
Memberitahu remote ref erence Layer bahwa semua data parameter telah terkirim, sehingga pemanggilan method sesungguhnya dapat dilakukan oleh server
Unmarshalling: rangkaian nilai yang diterima dari remote obyek
Arsitektur RMI
Skeleton bertanggung jawab untuk:
Marshalling: nilai kembalian atau exception kepada stub client