Sistem
Terdistribusi adalah kumpulan autonomous computers yang terhubung melalui
sistem jaringan computer dan dilengkapi dengan system software tedistribusi untuk
membentuk fasilitas computer terintegrasi.
Sebuah sistem
yang komponennya berada pada jaringan komputer. Komponen tersebut saling berkomunikasi
dan melakukan koordinasi hanya dengan pengiriman pesan (message passing).
Antarmuka dalam
sistem terdistribusi
Dalam
program terdistribusi, modul-modul dapat berjalan dalam proses terpisah.
Tidaklah mungkin untuk menjalankan modul dalam satu proses untuk mengakses
variabel dalam sebuah modul proses lain. Oleh karena itu, antarmuka modul yang dimaksudkan
untuk RPC atau RMI tidak dapat menetapkan akses langsung ke variabel.
Perhatikan bahwa CORBA IDL interface dapat menetapkan atribut, yang tampaknya
melanggar aturan ini.Namun, atribut tidak diakses secara langsung.mekanisme
Parameter-passing, misalnya panggilan dengan nilai dan panggilan dengan referensi,
yang digunakan dalam prosedur lokal panggilan tidak cocok ketika pemanggil dan
prosedur yang berada dalam proses yang berbeda.
Spesifikasi
prosedur atau metode dalam interface dari modul program terdistribusi
menggambarkan parameter sebagai input atau output atau kadang-kadang keduanya.
Input parameter dilewatkan ke modul remote dengan mengirimkan nila inilai argumen
dalam pesan permintaan dan kemudian memasok mereka sebagai argumen ke operasi
yang akan dieksekusi di server. Parameter output dikembalikan dalam pesan
balasan dan digunakan sebagai hasil dari panggilan atau menggantikan
nilai-nilai variabel yang terkait dalam pemanggil. Ketika parameter yang
digunakan untuk kedua input dan output nilai harus ditransmisikan dalam pesan
requet and reply.
Dua
paragraf berikutnya membahas antarmuka yang digunakan dalam client-server model
RPC dan dalam model objek terdistribusi RMI:
- Layanan antarmuka : Dalam model client-server, setiap server menyediakan satu set prosedur yang tersedia untuk digunakan oleh klien. Sebagai contoh, sebuah file server akan memberikan prosedur untuk membaca dan menulis file. Antarmuka layanan istilah digunakan untuk merujuk pada spesifikasi prosedur yang ditawarkan oleh saluran pembuangan, menentukan jenis masukan dan argumen output dari masing-masing prosedur.
- Remote interface : dalam model objek terdistribusi, remote interface menentukan metode objek yang tersedia untuk invokasi oleh objek dalam proses-proses lain, mendefinisikan jenis input dan output argumen dari masing-masing. Namun, besar Perbedaannya adalah bahwa metode dalam remote interface dapat melewati objek sebagai argument dan hasil method.
Dan pada saat
ini dua standar utama middleware untuk mendukung komputasi objek terdistribusi
yaitu:
1.
CORBA (Common
Object Request Broker Architecture)
CORBA
merupakan satu set standar untuk middleware yang diintegrasikan dengan sistem
operasi Microsoft.
2. DCOM (Distributed Component Object Mode)
DCOM
merupakan standar yang dikembangkan dan implementasi oleh Microsoft dan
diintegrasikan dengan sistem operasi Microsoft.
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).
Struktur
aplikasi terdistribusi berbasis CORBA
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).
Referensi