Corba sistem Terdistribusi


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 atauObject 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 sebagaiclient (si pengirim pesan) dan yang lain bertindak sebagai server (yang menerima pesan dan memroses pesan yang bersangkutan). Corba adalah rancangan midllewere yang memungkinkan program applikasi untuk saling berkomunikasi melalui jaringan dan tidak peduli keheterogenan bahasa pemrograman,software,hardware yang digunakan.
Keunikan dari CORBA adalah kemampuannya dalam menangani heterogenitas antara client danserver (dalam terminologi CORBA), obyek server dinamakan implementasi obyek (object implementation). Keduanya dapat saja diimplementasikan dalam hardware, system 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).
Dalam didistribusikan komputasi, obyek permintaan broker (ORB) merupakan bagian dari middleware software yang memungkinkan pemrogram untuk membuat program panggilan dari satu komputer ke komputer lain melalui jaringan. ORBs mempromosikan interoperabilitas yang didistribusikan objek sistem karena memungkinkan pengguna untuk membangun sistem oleh piecing bersama-benda dari vendor yang berbeda-yang berkomunikasi satu sama lain melalui ORB.
ORB menangani transformasi dalam proses-struktur data ke dan dari urutan byte, yang dikirim melalui jaringan. This is called marshalling or serialization . Hal ini disebut marshalling atau serialization. Beberapa ORBs, seperti CORBA-compliant, sistem menggunakan Interface Description Language (IDL) untuk menjelaskan data yang akan dikirimkan pada panggilan jarak jauh. Selain marshalling data, ORBs sering mengekspos banyak fitur, seperti didistribusikan transaksi, layanan direktori atau penjadwalan real-time.

Selain ORB hal Penting lainnya yang akan dibahas yaitu IDL(interface definition language). IDL dikembangkan untuk menyediakan fungsi khusus, yaitu agar dapat digunakan untuk mendefinisikan suatu antarmuka (Interface) layanan yang tersedia dalam suatu sistem terdistribusi. Untuk menggunakan IDL dan Objek yang terdapat pada sistem berbasis CORBA pengguna harus mengetahui minimal nama interface objek yang akan digunakan. Jika informasi objek telah diketahui sebelumnya maka hal tersebut tidaklah menjadi masalah, tetapi jika pengguna objek tidak mengetahui informasi mengenai objek yang akan digunakan maka hal tersebut akan menyulitkan. Salah satu cara untuk mendapatkan informasi mengenai objek yang akan dipakai adalah dengan menanyakan kepada pemilik objek tersebut, bagaimana jika pemilik objek tersebut berada di tempat yang jauh dan pengguna tidak mengenal siapa pemilik objek tersebut, hal ini tentunya akan menyulitkan pengguna objek dalam mencari informasi objek yang akan digunakannya.

Dalam pencarian objek yang ada di sistem dapat digunakan Location Service yang terdapat pada Visibroker. Dengan melakukan pengaksesan ke Location Service diharapkan pengguna dapat mengetahui Objek aktif yang terdapat pada sistem berbasis CORBA. Dengan adanya aplikasi yang mampu menjelajah system terdistribusi berbasis CORBA diharapkan pengguna dan pengembang bias mendapatkan informasi mengenai objek aktif dan IDL yang akan digunakan.

Sintaks IDL sendiri mirip dengan sintaks bahasa C++. Berikut ini contoh sebuah spesifikasi interface untuk layanan yang disediakan oleh obyek aplikasi di apotik. Ingat bahwa spesifikasi ini berlaku baik untuk client maupun implementasi obyek.

interface checkObat {
float checkHarga(in string namaObat);
boolean checkTersedia(in string namaObat);
};
Sekilas definisi di atas mirip dengan definisi kelas dalam C++. Perbedaan yang paling nyata adalah tidak ada kode program untuk fungsi checkHarga dan checkTersedia ! Perlu diingat bahwa interfacehanya menyatakan apa yang tersedia (aspek what), tidak menyebutkan bagaimanamenyediakannya (aspek how). Kita tidak akan membahas sintaks IDL dalam kesempatan ini. Fokus kita adalah bagaimana menggunakan spesifikasi interface yang dibuat dengan IDL ini untuk membuat client dan implementasi obyek dalam aplikasi.
Yang perlu diperhatikan dalam pemrograman client dan implementasi obyek adalah bahasa pemrograman yang digunakan. Bahasa yang bisa digunakan adalah yang memiliki pemetaan(mapping) dengan IDL. Pemetaan ini menyebutkan ekuivalensi tipe data, fungsi, dan konstruksi pemrograman IDL lainnya dalam konstruksi pemrograman bahasa yang bersangkutan. Pada umumnya bahasa pemrograman populer seperti C, C++, Java, Smalltalk, dan COBOL telah memiliki pemetaan ini. Seperti telah dijelaskan di depan, client dan implementasi obyek dapat menggunakan bahasa pemrograman yang berbeda.

Selain ORB hal Penting lainnya yang akan dibahas yaitu IDL(interface definition language). IDL dikembangkan untuk menyediakan fungsi khusus, yaitu agar dapat digunakan untuk mendefinisikan suatu antarmuka (Interface) layanan yang tersedia dalam suatu sistem terdistribusi. Untuk menggunakan IDL dan Objek yang terdapat pada sistem berbasis CORBA pengguna harus mengetahui minimal nama interface objek yang akan digunakan. Jika informasi objek telah diketahui sebelumnya maka hal tersebut tidaklah menjadi masalah, tetapi jika pengguna objek tidak mengetahui informasi mengenai objek yang akan digunakan maka hal tersebut akan menyulitkan. Salah satu cara untuk mendapatkan informasi mengenai objek yang akan dipakai adalah dengan menanyakan kepada pemilik objek tersebut, bagaimana jika pemilik objek tersebut berada di tempat yang jauh dan pengguna tidak mengenal siapa pemilik objek tersebut, hal ini tentunya akan menyulitkan pengguna objek dalam mencari informasi objek yang akan digunakannya.

Dalam pencarian objek yang ada di sistem dapat digunakan Location Service yang terdapat pada Visibroker. Dengan melakukan pengaksesan ke Location Service diharapkan pengguna dapat mengetahui Objek aktif yang terdapat pada sistem berbasis CORBA. Dengan adanya aplikasi yang mampu menjelajah system terdistribusi berbasis CORBA diharapkan pengguna dan pengembang bias mendapatkan informasi mengenai objek aktif dan IDL yang akan digunakan.

Sintaks IDL sendiri mirip dengan sintaks bahasa C++. Berikut ini contoh sebuah spesifikasi interface untuk layanan yang disediakan oleh obyek aplikasi di apotik. Ingat bahwa spesifikasi ini berlaku baik untuk client maupun implementasi obyek.

interface checkObat {
float checkHarga(in string namaObat);
boolean checkTersedia(in string namaObat);
};
Sekilas definisi di atas mirip dengan definisi kelas dalam C++. Perbedaan yang paling nyata adalah tidak ada kode program untuk fungsi checkHarga dan checkTersedia ! Perlu diingat bahwa interfacehanya menyatakan apa yang tersedia (aspek what), tidak menyebutkan bagaimanamenyediakannya (aspek how). Kita tidak akan membahas sintaks IDL dalam kesempatan ini. Fokus kita adalah bagaimana menggunakan spesifikasi interface yang dibuat dengan IDL ini untuk membuat client dan implementasi obyek dalam aplikasi.
Yang perlu diperhatikan dalam pemrograman client dan implementasi obyek adalah bahasa pemrograman yang digunakan. Bahasa yang bisa digunakan adalah yang memiliki pemetaan(mapping) dengan IDL. Pemetaan ini menyebutkan ekuivalensi tipe data, fungsi, dan konstruksi pemrograman IDL lainnya dalam konstruksi pemrograman bahasa yang bersangkutan. Pada umumnya bahasa pemrograman populer seperti C, C++, Java, Smalltalk, dan COBOL telah memiliki pemetaan ini. Seperti telah dijelaskan di depan, client dan implementasi obyek dapat menggunakan bahasa pemrograman yang berbeda.

Selain ORB hal Penting lainnya yang akan dibahas yaitu IDL(interface definition language). IDL dikembangkan untuk menyediakan fungsi khusus, yaitu agar dapat digunakan untuk mendefinisikan suatu antarmuka (Interface) layanan yang tersedia dalam suatu sistem terdistribusi. Untuk menggunakan IDL dan Objek yang terdapat pada sistem berbasis CORBA pengguna harus mengetahui minimal nama interface objek yang akan digunakan. Jika informasi objek telah diketahui sebelumnya maka hal tersebut tidaklah menjadi masalah, tetapi jika pengguna objek tidak mengetahui informasi mengenai objek yang akan digunakan maka hal tersebut akan menyulitkan. Salah satu cara untuk mendapatkan informasi mengenai objek yang akan dipakai adalah dengan menanyakan kepada pemilik objek tersebut, bagaimana jika pemilik objek tersebut berada di tempat yang jauh dan pengguna tidak mengenal siapa pemilik objek tersebut, hal ini tentunya akan menyulitkan pengguna objek dalam mencari informasi objek yang akan digunakannya.

Dalam pencarian objek yang ada di sistem dapat digunakan Location Service yang terdapat pada Visibroker. Dengan melakukan pengaksesan ke Location Service diharapkan pengguna dapat mengetahui Objek aktif yang terdapat pada sistem berbasis CORBA. Dengan adanya aplikasi yang mampu menjelajah system terdistribusi berbasis CORBA diharapkan pengguna dan pengembang bias mendapatkan informasi mengenai objek aktif dan IDL yang akan digunakan.

Sintaks IDL sendiri mirip dengan sintaks bahasa C++. Berikut ini contoh sebuah spesifikasi interface untuk layanan yang disediakan oleh obyek aplikasi di apotik. Ingat bahwa spesifikasi ini berlaku baik untuk client maupun implementasi obyek.

interface checkObat {
float checkHarga(in string namaObat);
boolean checkTersedia(in string namaObat);
};


Sekilas definisi di atas mirip dengan definisi kelas dalam C++. Perbedaan yang paling nyata adalah tidak ada kode program untuk fungsi checkHarga dan checkTersedia ! Perlu diingat bahwa interfacehanya menyatakan apa yang tersedia (aspek what), tidak menyebutkan bagaimanamenyediakannya (aspek how). Kita tidak akan membahas sintaks IDL dalam kesempatan ini. Fokus kita adalah bagaimana menggunakan spesifikasi interface yang dibuat dengan IDL ini untuk membuat client dan implementasi obyek dalam aplikasi.
Yang perlu diperhatikan dalam pemrograman client dan implementasi obyek adalah bahasa pemrograman yang digunakan. Bahasa yang bisa digunakan adalah yang memiliki pemetaan(mapping) dengan IDL. Pemetaan ini menyebutkan ekuivalensi tipe data, fungsi, dan konstruksi pemrograman IDL lainnya dalam konstruksi pemrograman bahasa yang bersangkutan. Pada umumnya bahasa pemrograman populer seperti C, C++, Java, Smalltalk, dan COBOL telah memiliki pemetaan ini. Seperti telah dijelaskan di depan, client dan implementasi obyek dapat menggunakan bahasa pemrograman yang berbeda.






Posted under: ,

Share this post
No Responses to "Corba sistem Terdistribusi"

Profil Saya

Foto saya
Belajar, Semangat itu kan tetap ada

statistik