Selasa, 18 Maret 2014

Konsep Objek Terdistribusi dan Objek Interface



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.


  1. 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 :


 


0 komentar:

Posting Komentar