contact
Test Drive Blog
twitter
rss feed
blog entries
log in

January 05, 2011

RMI (Remote Method Invocation)

Java menawarkan RMI (Remote Method Invocation) sebagai alternatif dari socket. Tidak seperti Socket, RMI mengabstrakkan interface antara client dan server menjadi satu pemanggilan prosedur lokal. Oleh karena itu, dengan mengguna-kan RMI, programmer tidak perlu merancang satu protokol.

RMI (Remote Method Invocation) adalah salah satu bagian dari J2SE yang digunakan untuk membangun aplikasi terdistribusi menggunakan bahasa Java. RMI adalah kumpulan kelas dalam Java yang digunakan untuk menangani pemanggilan (invocation) method secara jarak jauh (remote) dalam suatu jaringan atau Internet. RMI menggunakan prinsip pemrograman berorientasi obyek dimana obyek satu dapat saling berkomunikasi dengan obyek lainnya.

RMI terdiri dari RMI client dan server. RMI server biasanya akan membuat beberapa remote
obyek dan referensi-nya yang dapat diakses oleh RMI client menggunakan suatu URL dan menunggu RMI client meminta ke server. Sedangkan RMI client akan membuat koneksi ke server
dan meminta pemanggilan ke beberapa remote obyek berdasarkan referensi yang diterimanya. RMI client akan menggunakan remote obyek sebagai lokal obyek. Setiap remote obyek yang dibuat oleh RMI server didaftarkan terlebih dahulu ke dalam RMI registri, agar ketika client membutuhkannya dapat meminta dengan mudah ke RMI registry. RMI Server akan mendaftarkan remote obyeknya ke RMI Registry melalui bind dengan nama unik. RMI Client yang akan melakukan suatu pemanggilan method dari remote obyek, harus meminta referensi obyek ke RMI Registry berdasarkan nama kelas obyek tersebut.

Merancang dan Menerapkan Aplikasi Komponen RMI

Langkah –langkahnya :

1. Mendefinisikan remote interface. Sebuah antarmuka remote menentukan metode yang dapat dipanggil dari jauh oleh klien. Desain interface tersebut meliputi ptipeobjek yang akan digunakan sebagai parameter dan mengembalikan nilai untuk metode ini.

import java.rmi.Remote;

import java.rmi.RemoteException;


public interface Hello extends Remote {

String SayHello(String nama)throws RemoteException;

}

2. Implements objek remote. Remote objek harus mengimplementasikan satu atau lebih remote interface. Kelas objek remote dapat mencakup implementasi interface dan metode lain yang tersedia hanya secara lokal.

import HelloApi.Hello;

import java.rmi.RemoteException;

import java.rmi.server.UnicastRemoteObject;


public class HelloServer extends UnicastRemoteObject implements Hello {


    public HelloServer() throws RemoteException {

        super();

    }


    public String SayHello(String nama) throws RemoteException {

        return "Hello "+nama;

    }

}

3. Implementasi Client. Klien yang menggunakan objek remote dapat diimplementasikan kapan saja setelah interface remote didefinisikan, termasuk setelah remote objek telah dikirim.

public class FormClient extends javax.swing.JFrame {

private Hello hello;

    public FormClient(Hello hello) {

        this.hello=hello;

        initComponents();

    }

try {

            String response = hello.SayHello(txtNama.getText());

            txtResponse.setText(response);

        } catch (RemoteException ex) {

            ex.printStackTrace();

        }

}

0

0 komentar:

Post a Comment

About Me

My photo
Sleman, Yogyakarta, Indonesia
Saya seorang mahasiswi di sebuah pts di yogyakarta,semester akhir. saya berasal dari kota kecil dari daerah jawa timur,dengan membawa harapan besar.

Followers