Minggu, 04 Maret 2012

CORBA

Penjelasan CORBA

CORBA (www.corba.org) adalah cara lain untuk melakukan pemrograman jaringan terdistribusi dan open system, dimana obyek yang dipanggil tidak hanya berasal dari program yang dibuat dengan bahasa Java saja tetapi juga bisa dibuat dengan bahasa lain.

Corba dikatakan standar sistem terdistribusi (distributed sistem standard) karena dengan menggunakan corba, sistem secara keseluruhan saling terhubung dan berkomunikasi antar platform (sistem operasi dan hardware) yang berbeda.

Dengan CORBA kita dapat membangun aplikasi yang dapat saling berkomunikasi walau satu sama lain menggunakan bahasa pemrograman dan platform yang berbeda.

CORBA memiliki Interface Definition Interface yang mendukung mapping ke suatu bahasa pemrograman tertentu. CORBA menyediakan API untuk berkomunikasi antar obyek secara

remote.

Perbandingan RMI & CORBA

Perbandingan RMI & CORBA

CORBA

RMI

Bahasa pemrograman yang digunakan : Java , C++, VB, Delphi, Perl dan Phyton

Bahasa pemrograman yang digunakan: Java

Service : Naming, Lifecycle, Tansaction Event

Service : Naming

Kemudahan : Mudah

Kemudahan : Mudah

Dukungan Sistem terdistribusi: Sangat Baik

Dukungan Sistem terdistribusi: Baik

Standart organisasi terbuka : Ya

Standart organisasi terbuka : Tidak


v CORBA

CORBA memiliki beberapa keuntungan utama, diantaranya independen dalam bahasa, vendor dan sistem operasi. ORB CORBA tersedia pada beberapa sistem operasi yang banyak digunakan saat ini (Termasuk pada sistem operasi microsoft dibandingkan dengan DCOM). ORB CORBA juga tersedia untuk digunakan secara luas pada berbagai bahasa pemrograman termasuk C++, Ada, COBOL, SmalTalk dan Java. Dengan menggunakan IIOP, ORB CORBA yang dikembangkan oleh suatu vendor dapat diambil dengan kata lain kita dapat memanipulasi obyek dari ORB lain yang dikembangkan oleh vendor lain.

Ada empat bagian utama dari CORBA :

  1. Object Request Broker (ORB), berfungsi sebagai software perantara bagi obyek untuk saling berhubungan.
  2. CORBAServices, mendefinisikan layanan pada level sistem yang ditambahkan pada ORB seperti Security, Naming dan Transactions.
  3. CORBAFacilities, mendefinisikan layanan level aplikasi seperti penggabungan dokumen dan fasilitas lain.
  4. Business Object mendefinisikan obyek sesungguhnya.

v RMI

Remote Method Invocation memungkin client java untuk membentuk obyek yang terletak pada remote server. Mirip seperti CORBA, tetapi dalam RMI aplikasi server juga harus ditulis dengan Java dan juga harus menggunakan tools yang disediakan pada JDK 1.1, RMI memiliki batasan, tidak seperti CORBA, RMI tidak memiliki konsep layanan. Selain itu, obyek server yang ditulis dengan RMI java memiliki performance yang kurang karena batasan penggunaan JVM (CORBA memiliki performance lebih). Singkatnya, RMI merupakan pilihan untuk aplikasi dengan skala kecil yang keseluruhannya ditulis dengan java.

ORB

ORB Bertindak sebagai broker (perantara) antara client dan server yang berjalan pada tiap mesin yang berisi API untuk mencari obyek dan menerima request, mengkomunikasikan hubungan antar obyek menggunakan sistem IIOP (Internet Inter-ORB Protocol).

ORB tersedia untuk beberapa platform yang berbedabeda, mencari obyek, merequest remote method melalui interface CORBA, dan mengembalikannya ke client. ORB Menangani secara menyeluruh terhadap suatu permintaan (request) dari client ke object atau

sebaliknya (response) dari obyek ke client dan ORB harus tersedia di sisi server dan client.

Pada sisi client, ORB memiliki fungsi:

- Menghubungkan ke interface repository / IR (penyedia definisi interface).

- Membantu client dalam menyusun suatu permintaan (invocation) ke object server secara dinamis dengan menggunakan DII (Dynamic Invocation Interface).

Pada sisi server, ORB berfungsi:

- Selain bertanggung jawab untuk mengirimkan response dari server ke client yang dituju, ORB juga membantu untuk memulai dan menghentikan operasi terhadap object server yang diminta.

Stub dan Skeleton

• Digunakan untuk marshalling dan Unmarshalling remote method invocation.

- Marshalling: encoding, to pack all information about remote method invocation to be sent to the remote destination.

- Unmarshalling: unpack and decode the message

- Stub marshall the method request, and Skeleton unmarshall therequest and forward to actual remote method.

- Stub berkomunikasi dengan remote object.

• Ada 2 cara menghasilkan kode stub pada client dan kode skeleton pada server:

- Static: SII (static invocation interface) dan SSI (static skeleton interface), digenerate saat kompilasi IDL.

- Dynamic: DII (dynamic invocation interface) dan DSI (dynamic skeleton interface)


Referensi: www.corba.org