DISTRIBUTED OBJECT CORBA RMI

Teks penuh

(1)

DISTRIBUTED O BJECT

CO RBA & RMI

(2)

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

(3)

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

(4)

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

(5)

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.

(6)

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)

(7)

Komponen CO RBA

(8)

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

(9)

Komponen CO RBA

Komponen CO RBA pada server :

 1. Server Side O RB Interf ace

 2. Static IDL Skeleton

(10)

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

(11)

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

(12)

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.

(13)

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.

(14)

Komponen CO RBA

 Secara umum, O bject Implementation (O I) tidak tergantung pada O RB atau bagaimana suatu client memanggil suatu objek.

(15)

Komponen CO RBA

 O bject Implementation (O I) menerima suatu request melalui

 1. IDL Skeleton

(16)

Komponen CO RBA

2. Interf ace

 Interf ace suatu objek dapat didef inisikan dengan cara statis, yaitu menggunakan IDL (Interf ace Def inition Languange).

(17)

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.

(18)

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

(19)

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.

(20)

Komponen CO RBA

(21)

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.

(22)

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.

(23)

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

(24)

Komponen CO RBA

(25)

Komponen CO RBA

Dynamic Invocation/ Skeleton Interf ace

 IDL interf ace yang digunakan oleh sebuah client ditentukan pada saat client dikompilasi.

(26)

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.

(27)

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.

(28)

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

(29)

Komponen CO RBA

 keuntungan menggunakan DII, yaitu:

 Aplikasi client dapat melakukan permintaan kepada setiap operasi meskipun tersebut tidak diketahui pada saat aplikasi dikompilasi

(30)

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.

(31)

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.

(32)

Komponen CO RBA

6. O RB Interf ace

(33)

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.

(34)

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

(35)

Komponen CO RBA

8. Implementation Repository

 Implementation Repository terdiri dari informasi yang memperbolehkan O RB untuk mencari dan mengaktivasi implementasi suatu objek.

(36)

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.

(37)

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)

(38)

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

(39)

Sistem Keamanan CO RBA

 Kurangnya accountability, misalnya identitas user yang tidak mencukupi

 Penyadapan untuk mendapatkan data yang seharusnya dirahasiakan

(40)

Sistem Keamanan CO RBA

Sistem CO RBA bukanlah jenis sistem informasi

(41)

Sistem Keamanan CO RBA

O leh karena sifat terdistribusi tersebut, beberapa

tujuan

keamanan

yang

khusus pada

CO RBA

adalah:

(42)

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

(43)

Sistem Keamanan CO RBA

 Secure O bject Invocation, untuk memastikan invocation diproteksi oleh aturan sekuriti

(44)

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)

(45)

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)

(46)

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

(47)

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.

(48)

Arsitektur RMI

(49)

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

(50)

Arsitektur RMI

(51)

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

(52)

Arsitektur RMI

Skeleton bertanggung jawab untuk:

 Marshalling: nilai kembalian atau exception kepada stub client

Figur

Memperbarui...

Referensi

Memperbarui...