Sistem terdidtribusi adalah suatu kesatuan dari
elemen-elemen yang saling berinteraksi secara sistematis dan teratur untuk
mendistribusikan data, informasi, obyek dan layanan dari dan kepada pengguna
yang terkait didalamnya. Sementara Sistem komputer terdistribusi adalah sebuah
sistem yang memungkinkan aplikasi komputer beroperasi secara terintegrasi pada
lebih dari satu lingkungan yang terpisah secara fisis. Ciri khas sistem
komputer terdistribusi adalah heterogenitas dalam berbagai hal: perangkat
keras, sistem operasi, dan bahasa pemrograman.
Dalam membuat aplikasi client server, programmer masih harus
membuat fungsi-fungsi yang sama untuk aplikasi yang berbeda. Kadang kala kode
program yang sama digunakan dengan melakukan copy paste dan melakukan sedikit
perubahan untuk menyesuaikan dengan aplikasi yang baru dibuat. Jika ada
perubahan, fungsi tersebut dalam masing-masing aplikasi harus di update satu
persatu lagi. Hal ini mengakibatkan perawatan program menjadi susah dan
fungsi-fungsi tersebut dapat menjadi tidak konsisten satu sama lain.
- CORBA
Common Object Request Broker Architecture
(CORBA) merupakan standar yang dikeluarkan oleh Object Management Group (OMG). CORBA
didesain agar komponen cerdas diizinkan untuk dapat saling menjelajah satu
dengan yang lain dan saling berinteraksi melalui suatu objek bus yang bernama
ORB (Object Request Broker). Melalui ORB inilah objek–objek yang terletak di
local atau di remote pada sistem terdistribusi berbasis CORBA saling
berkomunikasi. Untuk mendefinisikan sistem berbasis CORBA terlebih dahulu kita
harus mendefinisikan IDL (Interface Definition Language).
CORBA dikatakan sebagai sebuah spesifikasi middleware yang ideal yang
mendukung suatu sistem terdistribusi yang menerapkan teknologi berbasis objek,
selain itu CORBA juga dikatakan sebagai suatu sistem yang terbuka, artinya
bahwa teknologi CORBA merupakan sebuah standarisasi yang terbuka bagi siapasaja
yang ingin menerapkan. Spesifikasi CORBA ini berisi sebuah spesifikasi
infrastruktur yang disebut Object Request Broker (ORB) yang memungkinkan
aplikasi klien untuk dapat berkomunikasi dengan obyek secara remote.
Spesifikasi ini meliputi antarmuka program, protokol komunikasi dan model obyek
atau layanan yang memungkinkan aplikasi yang ditulis dengan berbagai macam
bahasa pemrograman. Dengan adanya dua hal tersebut, pengembang dapat membangun
sebuah aplikasi yang dapat berkomunikasi walaupun satu dengan yang lainnya
menggunakan bahasa pemrograman yang berbeda.
CORBA membungkus kode program yang dibuat dengan bahasa pemrograman tertentu
menjadi sebuah obyek yang ditambah dengan informasi mengenai kemampuan kode
program dan cara mengaksesnya. Obyek tersebut dapat dipanggil oleh program lain
melalui jaringan. CORBA menggunakan interface definition languange (IDL) untuk
menunjukkan interface atau antarmuka yang dapat digunakan oleh program atau
obyek lain. Dari IDL tersebut CORBA akan memetakannya ke implementasi yang
lebih spesifik dari masing-masing bahasa pemrograman.
CORBA disusun oleh
komponen-komponen utama :
- ORB (Object Request
Broker)
- IDL (Interface
Definition Language)
- DII (Dynamic
Invocation Interface)
- OA (Object Adapter)
- IR (Interface
Repositories)
Komponen CORBA pada
sisi Client:
- Client Application
- Client IDL Stubs
- Dynamic Invocation
Interface
- Interface
Repository
- Client Side ORB
Interface
- ORB Core
Komponen CORBA yang
terletak di sisi Server
- Server Side ORB
Interface
- Static IDL Skeleton
- Dynamic Skeleton
Interface 4. Object Adapter
- Server Side
Implementation
2. COM
Component
Object Model (COM) adalah teknologi yang diciptakan oleh Microsoft untuk
memungkinkan komunikasi antaraplikasi. Teknologi ini sudah disediakan untuk beberapa platform tetapi
kebanyakan digunakan untuk platform Windows. Teknologi ini sudah diperkenalkan
oleh microsoft pada tahun 1993 tetapi baru populer pada tahun 1997.
Perkembangan teknologi COM ini bermula dari teknologi OLE (Object Linking and
Embedding) yang dibuat untuk memungkinkan aplikasi dapat saling bertukar data.
3. DCOM
Pada tahun 1996 diperkenalkan Distributed Component Object Model (DCOM)
sebagai jawaban Microsoft atas CORBA. DCOM dibandingkan dengan COM
memiliki kelebihan mampu untuk
terdistribusi dan berkomunikasi antarkomponen melalui jaringan. DCOM dan CORBA
saling berkompetisi untuk menjadi standar dalam distribusi komponen melalui
internet. Namun dibalik kesulitan dalam hal keamanan, sebuah browser yang
berjalan menggunakan teknologi http sudah dapat menggantikan teknologi tsb.
4. RMI
Remote Method Invocation (RMI) adalah sebuah teknik pemanggilan method
remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan
paradigma pemrograman berorientasi obyek (Object Oriented Programming). RMI
memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method.
Dengan dibolehkannya program Java memanggil method pada remote obyek, RMI
membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada
jaringan. RMI menyediakan mekanisme dimana server dan client berkomunikasi dan
memberikan informasi secara timbal balik. Aplikasi semacam ini seringkali
disebut aplikasi objek terdistribusi
Langkah-Langkah Pembuatan Program dengan
RMI
Dalam RMI, semua informasi tentang satu
pelayanan server disediakan dalam suatu definisi remote interface. Dengan
melihat pada definisi interface, seorang pemrogram dapat memberitahukan method
apa yang dapat dikerjakan oleh server, meliputi data apa yang diterima dan data
apa yang akan dikirim sebagai tanggapan.
Definisi yang ada pada remote interface
menentukan karakteristik methods yang disediakan server yang dapat dilihat oleh
client. Client programmer harus dapat mengetahui methods apa yang disediakan server
dan bagaimana memanggilnya langsung dengan melihat ke remote interface. Client
mendapatkan referensi ke remote object melalui RMI registry.
Membangun suatu aplikasi terdistribusi
menggunakan RMI meliputi 6 langkah. Keenam langkah tersebut adalah:
- Mendefinisikan remote interface
- Implementasi remote interface dan server
- Pengembangan client (atau applet) yang
menggunakan remote interface
- Mengkompilasi source files dan mem-buat
stub and skeletons
- Memulai (start) RMI registry
- Menjalankan server dan client
Artikel Terkait :
Arif Setianto
Hendy Pradana
Jaka Sudrajat
Mahin Aufa
Sumber :