Remote Method Invocation (RMI)

“Tidak akan ada perantara antara yang menjalani dengan yang menyebabkan perubahan.”—Aristotle, Physics, Book VII, § 2.

Sebelum bahasa Java ada, rancang bangun sistem-sistem terdistribusi sangat berfokus pada masalah heterogenitas – perbedaan CPU, sistem operasi, bahasa, dan format data. Terdapat tantangan untuk membuat format arsitektur netral dan protokol yang dapat disesuaikan dengan arsitektur manapun tanpa membebani programmer.

Pada tahun 1995, Sun Microsystems memperkenalkan bahasa pemrograman Java. Sejak saat itu, Java telah diadopsi oleh banyak pengembang perangkat lunak untuk mencari cara dalam membangun dengan aman, platform aplikasi independen di lingkungan jaringan terdistribusi seperti World Wide Web. Seiring dengan keunggulan portabilitas antar platform, Java adalah bahasa sederhana yang menarik untuk dipelajari, menggabungkan banyak keunggulan runtime dari Smalltalk dan konsep pemrograman Modula3 dengan sintak C + + yang familiar.

Pengembang  juga dapat memanfaatkan runtime library yang sangat lengkap, yang aman dan murah – kebanyakan gratis. Lingkungan komputasi yang semakin komplek memerlukan teknik pemrograman semakin hebat, seperti pemrograman berorientasi object. Java adalah bahasa berorientasi object yang memungkinkan pengembang untuk menghasilkan aplikasi client server  terdistribusi. Aplikasi terdistribusi bergantung pada komunikasi antara “object” yang berada di lokasi yang berbeda.

Remote Method Invocation (RMI) menambah kekuatan dan fleksibilitas dari remote procedure calls (RPC) pada Java. RMI menyediakan kerangka kerja agar antar object Java di Java virtual machine (JVMs) yang berbeda dapat berinteraksi. RMI dibangun di atas fasilitas object dan class, protokol serialisasi object, dan dukungan jaringan TCP / IP Java.

Arsitektur sistem RMI

Berikut ini adalah contoh ilustrasi arsitektur sistem RMI:

Sistem RMI sederhana

Gambar 1 menggambarkan sistem RMI yang paling sederhana: sebuah remote interface, satu client, dan satu atau lebih servers-remote-objects yang berada pada host. Client memanggil method pada remote object melalui remote interface. Sebuah naming service seperti RMI registry pada host, untuk menyediakan mekanisme yang digunakan  client untuk menemukan satu atau lebih inisial RMI server.

Gambar 1. Sistem RMI sederhana

Sistem RMI tingkat lanjut

Gambar 2 mengilustrasikan sistem RMI tingkat lanjut, termasuk aktivasi RMI – sistem yang memungkinkan server untuk diaktifkan sesuai dengan permintaan.

Gambar 2. Sistem RMI tingkat lanjut menunjukan codebase dan aktivasi.

Diagram ini juga mengilustrasikan suatu web server menyediakan RMI codebase service  yang dapat juga dihadirkan dalam sistem RMI.

Codebase adalah lokasi global untuk file  Java class dan Java Archive (JAR), yang dapat diakses oleh RMI client dan RMI server.

Sistem RMI over IIOP.

Gambar 3 mengilustrasikan RMI over  IIOP. Pada RMI / IIOP, COS Naming service, diakses melalui  Java Naming and Directory Interface (JNDI), digunakan sebagai pengganti dari RMI registry. Dalam RMI over IIOP tidak dapat menggunakan Aktivasi RMI, yang hanya didukung oleh Java remote method protocol (JRMP).

Gambar 3. RMI over IIOP

RMI mengurangi kompleksitas komputasi terdistribusi-seperti lokasi server, koneksi jaringan, transfer data, sinkronisasi, dan propagasi kesalahan-ke sebuah method pemanggilan dan penanganan eksepsi sederhana di client.

[ROM]

One Response to Remote Method Invocation (RMI)

  1. Johan says:

    Sistem RMI over IIOP lebih cocok digunakan untuk pemograman cross languange ( beda bahasa pemograman ). Untuk beberapa kasus, bahasa yang digunakan adalah C++ dan Java karena Java dan C++ secara native dapat dihubungkan dengan JNI ( Java Native Interface ). Dalam beberapa hari mendatang, saya dan tim akan melakukan percobaan ( testing ) akses method RMI java dari C++. Hasil uji coba nantinya akan diposting disini 😀

Leave a Reply

Your email address will not be published. Required fields are marked *

Powered by WordPress | Designed by: diet | Thanks to lasik, online colleges and seo
Skip to toolbar