Friday, September 12, 2008

Komputasi Tersebar dengan Java RMI

Friday, August 24th, 2007

oleh

Iriano Jaya M. S.   (02/157632/PA/09186)
Wijaya Adhi S.      (03/165672/PA/09459)
Wim Permana      (03/165273/PA/09313)

Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Gadjah Mada
Yogyakarta
2007

1. Pendahuluan

1.1. Latar Belakang

Pada awalnya, pada dekade 70-an, para developer banyak yang menggunakan konsep pemrograman client-server untuk membuat aplikasi dalam sebuah jaringan. Dengan konsep client-server, seorang developer mempunyai gambaran yang jelas ketika melihat suatu aplikasi. Dengan kata lain, developer tersebut minimal sudah mengetahui, aplikasi mana yang bertugas sebagai server dan mana yang akan menjadi client-nya.

Aplikasi di sisi server (server-side application) adalah aplikasi yang akan memberikan tanggapan/respon dari permintaan yang sudah diajukan oleh client. Sementara itu, client (client-side application), bertugas sebagai pihak yang akan membuat permintaan (request) ke aplikasi server.

Sayangnya, konsep ini memiliki kelemahan dari sisi abstraksi. Hal ini terjadi karena developer tersebut harus selalu berurusan dengan detail socket dan protokol yang digunakan oleh kedua belah pihak – aplikasi server dan client. Adapun masalah yang harus dihadapi oleh developer tersebut antara lain:
Server dan client harus saling mengetahui lokasi keduanya (ip address).
Client harus tahu keadaan server (sudah pindah atau masih di tempat yang sama)
Apa yang akan terjadi jika beberapa client mengakses server pada saat yang bersamaan?
Baik server ataupun client harus tahu tentang protokol dan bahasa yang digunakan oleh mitranya.

Untuk mengatasi masalah abstraksi seperti ini, pada tahun 1970, sebuah teknologi baru yang dikenal dengan nama RPC (Remote Procedure Call) diperkenalkan. Dengan teknologi ini, developer dapat mengimplementasikan kesederhanaan konsep pemanggilan prosedur untuk aplikasi-aplikasi client-server. Inilah alasan utama di balik nama RPC.

Meskipun teknologi RPC ini relatif sudah memberikan kenyamanan bagi developer, tapi perkembangan yang terjadi di bidang pemrograman berorientasi objek akhirnya menuntut kehadiran teknologi baru. Sederet teknologi akhirnya benar-benar muncul, antara lain; RMI (Remote Method Invocation), CORBA (Common Object Request Broker Architecture), dan SOAP (Simple Object Access Protocol).

Sampai tulisan ini dibuat, ketiga teknologi ini telah menjadi paradigma baru dalam lingkungan komputasi tersebar. Baik RMI, CORBA, maupun SOAP memang memiliki kelemahan dan kelebihan masing-masing. Jadi, keberadaan RMI tidak akan memusnahkan CORBA atau SOAP, pun sebaliknya juga begitu.

1.2. Apa itu RMI?

RMI atau Remote Method Invocation adalah pustaka kelas (library) sekaligus API (application programming interface) dalam bahasa pemrograman Java yang memungkinkan objek-objek yang berjalan di sebuah JVM (Java Virtual Machine) melakukan pemanggilan metode milik objek yang berada di dalam JVM lain yang terletak di mesin lainnya.

Tidak seperti CORBA1 atau DCOM2 yang bisa dikembangkan menggunakan bahasa pemrograman yang berbeda-beda, RMI hanya dibuat khusus untuk objek-objek yang ditulis menggunakan Java.

http://www.wimpermana.web.ugm.ac.id/budi_s/category/semester-8/sistem-terdistribusi/

No comments: