Pages - Menu

Selasa, 10 Juni 2014

CORBA

CORBA

       I.            Overview CORBA
Interoperabilitas adalah kemampuan saling bekerjasama antar sistem komputer. Sebenarnya  interoperabilitas bukanlah barang baru, karena protokol komunikasi datapun (TCP/IP misalnya) pada dasarnya diciptakan untuk mewujudkan interoperabilitas. Yang belum banyak dikenal adalah interoperabilitas pada level perangkat lunak aplikasi. 
Dalam konteks sistem komputasi  terdistribusi, meskipun komponen-komponen aplikasi dibuat dengan bahasa pemrograman yang berbeda, menggunakan development tools yang berbeda, dan beroperasi di lingkungan yang beragam, mereka tetap harus dapat saling bekerjasama. Interoperabilitas perangkat lunak  menuntut homogenitas pada suatu level tertentu. Untuk itu diperlukan semacam 'standarisasi'. 

Berawal dari keperluan ini lahirlah CORBA (Common Object Request Broker Architecture).
CORBA adalah sebuah arsitektur software yang berbasis pada teknologi berorientasi obyek atau Object Oriented (OO) dengan paradigma  client server. Dalam terminologi OO, sebuah obyek berkomunikasi dengan obyek lain dengan cara pengiriman pesan (message passing). Konteks komunikasi ini kemudian dipetakan ke dalam model client-server : satu obyek berperan sebagai client (si pengirim pesan) dan yang lain bertindak sebagai server (yang menerima pesan dan memroses pesan yang bersangkutan).  

       I.            Perbedaan CORBA dan RMI
CORBA berbeda dengan RMI, berikut perbedaan CORBA dengan RMI:
1.      CORBA adalah dapat diimplementasikan dengan sembarang bahasa  pemrograman.
2.      CORBA terdiri dari beberapa mekanisme dimana RMI dapat termasuk di  dalamnya.
3.      Pada RMI tidak menggunakan ORB (Object Request Broker).
 

CORBA  pada  dasarnya  berbasis  pada protokol  yang  dinamakan  IIOP  (Internet  InterORB  Protocol)  untuk  berkomunikasi  dengan objek-objek  yang  ada  di  komputer  server  yang lain  (remoting  object). 
Segala  sesuatu yang  ada  di  dalam  arsitektur  CORBA  pada prinsip-nya  bergantung  pada  ORB  (Object Request  Broker),di  mana  ORB  ini  bertindak sebagai  sesuatu  yang  menghubungkan  (bertindak sebagai  bus)  masing-masing  objek  CORBA sehingga  mereka  dapat  saling  berinteraksi  baik secara lokal pada komputer yang sama (localhost) maupun  berinteraksi  secara  jarak  jauh  (remote). Masing-masing  objek  CORBA  yang bertindak  sebagai  server  memiliki  antarmuka (interface)  dan  memiliki  sejumlah  method  yang dapat  dimanfaatkan  oleh  objek-objek  CORBA yang  lainnya.  Untuk  meminta  layanan  tertentu, klien  CORBA  bisa  meminta  rujukan  objek tertentu  ke  komputer  server.  Selanjutnya  klien dapat melakukan pemanggilan  method  pada objek CORBA  yang  bertindak  sebagai  server  melalui rujukan objek seperti  jika objek  tersebut berada di ruang  memori  klien.  Komponen-komponen  ORB bertanggung jawab  untuk  menentukan implementasi  objek  yang  mana  yang  diinginkan klien, bertanggungjawab untuk  menyiapkan objek untuk  menerima  permintaan,  berkomunikasi dengannya,  dan  bertanggungjawab  untuk mengirimkan  hasil  eksekusi  implementasi  objek kembali  ke  arah  klien.  Sebuah  objek  CORBA berinteraksi dengan ORB melalui antarmuka ORB atau  melalui  Object  AdapterBOA  (Basic  Object Adapter)  atau  POA  (Portable  Object  Adapter). Dikarenakan  CORBA  merupakan spesifikasi,  maka  pada dasarnya bisa digunakan di berbagai  platform  sistem  operasi  yang  berbeda, mulai dari komputer-komputer besar (mainframe), komputer-komputer yang memiliki sistem operasi UNIX/Linux,  hingga  komputer-komputer  dengan sistem operasi Windows.

       I.            Keunikan CORBA 

Keunikan dari CORBA adalah kemampuannya dalam menangani heterogenitas antara clientdan server (dalam terminologi CORBA, obyek server dinamakan implementasi obyek (object implementation). Keduanya dapat saja diimplementasikan dalam hardware, sistem operasi, bahasa pemrograman, dan di lokasi yang berbeda, tetapi tetap bisa saling berkomunikasi. Kuncinya ada pada sebuah lapisan software yang disebut dengan ORB (Object Request Broker).


Keterangan gambar 
ORB adalah middleware yang memungkinkan suatu object yang berada di client mengirim messsage ke suatu method yang terencapsulated oleh suatu object yang ada di server. Artinya, ORB meneruskan message dan menangani semua komunikasi dan koordinasi yang dibutuhkan untuk menemukan object yang dimaksud oleh message tadi, memanggil methodnya, melewatkan data yang sesuai ke object dan kirim data hasil kembali ke object yang membuat message tadi. Standar yang umum digunakan untuk mengimplementasikan ORB adalah : CORBA, COM, dan JavaBeans. Struktur sederhana CORBA adalah seperti pada Gambar di atas. Saat CORBA diimplementasikan di sistem C/S, object dan object dan class object pada client dan server didefinisikan menggunakan interface description language (IDL).


Skeletons adalah bagian kode yang dibangin pada kode implementasi server pada antarmuka (interface). Stub adalah bagian kode yang membuat antarmuka (interface) dapat diakse (available) oleh client Java menyediakan ORB (Object Request Broker) yang mendukung teknologi CORBA. ORB adalah komponen runtime yang dapat digunakan untuk distributed computing menggunakan komunikasi IIOP. OMG (Object Management Group) adalah industri yang membuat spesifikasi dan mempublikasikan CORBA. Java IDL (Interface Definition Langauge) merupakan sebuah teknologi untuk distribusi objek yang berinteraksi antar platform. CORBA menggunakan IDL untuk membuat antarmuka (interface). Java IDL adalah implementasi dari teknologi antarmuka pada CORBA. Model pemrograman IDL atau biasa disebut Java IDL terdiri dari ORB CORBA dan kompiler idlj yang memetakan OMG IDL ke Java dengan menggunakan Java CORBA ORB. Aplikasi CORBA  dibuat dengan menggunakan IDL untuk mendefinisikan antarmuka objek agar dapat diakses oleh klien maupun server.

KESIMPULAN

Komputasi terdistribusi merupakan sesuatu yang amat kompleks, apalagi jika ruang lingkupnya sangat luas (pada level enterprise misalnya).CORBA membantu menyederhanakan persoalan dengan menyembunyikan berbagai detail pekerjaan pada level rendah dan heterogenitas sistem dan platform.




Tidak ada komentar:

Posting Komentar