RSS

platform untuk komputasi terdistribusi

Platform Untuk Komputasi Terdistribusi

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 komputer 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 hasil 'kesepakatan' antara sejumlah vendor dan pengembang perangkat lunak terkenal seperti IBM, Hewlett-Packard, dan DEC, yang tergabung dalam sebuah konsorsium bernama OMG (Object Management Group).

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). Sebagai contoh, dalam ilustrasi di awal tulisan ini, jika si pasien memerlukan obat tertentu, maka obyek aplikasi di tempat praktek dokter berlaku sebagai client dan mengirim pesan ke obyek aplikasi di apotik guna mengetahui apakah obat yang diperlukan tersedia di sana.

Keunikan dari CORBA adalah kemampuannya dalam menangani heterogenitas antara client dan 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).







Tidak seperti pada lazimnya bahasa OO (C++ atau Java), proses pengiriman pesan dari client ke implementasi obyek tidak dilakukan secara langsung. Pertama, stub dan skeleton "mengisolasi" client dan implementasi obyek dari tugas-tugas level rendah seperti proses marshalling dan unmarshalling data. Selanjutnya ORB berfungsi sebagai "pialang" yang menjembatani heterogenitas antara kedua obyek. ORB menangani perbedaan platform, pelacakan lokasi obyek, dan proses transfer pesan sedemikian rupa sehingga transparan terhadap kedua obyek. Dengan demikian pemrograman client dan implementasi obyek bisa berkonsentrasi sepenuhnya pada aspek fungsionalitas keduanya.

Mekanisme yang ditunjukkan pada Gambar 1 merupakan dasar operasi sistem berbasis CORBA. Sebagai contoh, dalam kasus si A di atas, program di tempat praktek dokter bertindak sebagai client bagi program di rumah sakit. Bila si A perlu dirawat di rumah sakit, maka program sang dokter akan mengirimkan pesan ke program di rumah sakit melalui ORB. Menariknya, kedua program tersebut dapat dikembangkan tanpa perlu banyak ikatan antara keduanya, misalnya menggunakan bahasa pemrograman apa, sistem operasi apa, dan sebagainya. Cukup berangkat dari sebuah 'kesepakatan' yang dituangkan dalam sebuah interface (lihat bagian tentang Pemrograman Berbasis CORBA), maka kedua program tersebut bisa dikembangkan secara independen.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar: