remote method invocation ( rmi ) materi 3

12
Remote Method Invocation (RMI) Materi 3 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG 2012

Upload: valin

Post on 23-Feb-2016

84 views

Category:

Documents


0 download

DESCRIPTION

Remote Method Invocation ( RMI ) Materi 3. Pemrograman Jaringan. Dosen : Eko Prasetyo Teknik Informatika UMG 2012. Konsep RMI. Semua method program yang pernah kita buat , dipanggil secara lokal . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Remote Method Invocation ( RMI ) Materi  3

Remote Method Invocation (RMI)Materi 3

Pemrograman Jaringan

Dosen: Eko PrasetyoTeknik Informatika UMG

2012

Page 2: Remote Method Invocation ( RMI ) Materi  3

Konsep RMI

2

Semua method program yang pernah kita buat, dipanggil secara lokal.

Dalam linkungan terdistribuasi, seringkali dibutuhkan untuk dapat memanggil method pada objek remote (mis, objek yang ada di sistem yang lain).

RMI (Remote Method Invocation) menfasilitasi kebutuhan ini.

Dalam RMI, detail jaringan dibutuhkan oleh alir program dan socket tidak nampak, karena obyek berlokasi disistem lain dan hampir transparan tehadap programmer Java. Satu kali refrensi ke objek remote didapatkan, method objek

tersebut dipanggil dengan cara yang sama seperti secara lokal. Dibalik layar, RMI akan menggunakan aliran byte untuk

mentransfer pemanggilan data dan method, tapi semua dihandle secara otomatis oleh infrastruktur RMI.

Page 3: Remote Method Invocation ( RMI ) Materi  3

Konsep RMI

3

Program server mempunyai kontrol objek remote yang terdaftar dalam interface bernama service, yang dikerjakannya membuat interface tersebut bisa diakses oleh program klien. Interface berisi tanda method objek dimana server membuatnya

tersedia secara publik. Program klien bisa menggunakan nama service yang sama untuk

mendapatkan referensi interface dalam bentuk yang disebut stub. Stub secara efektif adalah pendamping untuk objek remote. Di

sistem remote, ada pendamping lain yang disebut skeleton. Ketika program klien memanggil method objek remote, maka akan

tampak ke klien bahwa method seperti dipanggil secara langsung. Yang terjadi sebenarnya, method dipanggil dalam stub, stub

menforward panggilan dan parameter ke skeleton di mesin remote.

Page 4: Remote Method Invocation ( RMI ) Materi  3

Konsep RMI

4

Page 5: Remote Method Invocation ( RMI ) Materi  3

Detail Implementasi

5

Package yang digunakan untuk implementasi RMI aplikasi client-server adalah: java.rmi, java.rmi.server dan java.rmi.registry, hanya 2 yang pertama yang digunakan secara eksplisit.

Langkah-langkah:1. Membuat interface2. Mendefinisikan kelas yang mengimplementasi interface3. Membuat proses server4. Membuat proses klien

Contoh: Aplikasi menampilkan selamat ke semua klien yang

menggunakan interface yang tepat yang terdaftar dengan nama service untuk memanggil implementasi method yang terasosiasi di server. Dalam penerapan nyata, ada banyak method dan method

tersebut dimilik beberapa kelas.

Page 6: Remote Method Invocation ( RMI ) Materi  3

Contoh

6

1. Membuat interface

2. Mendefinisikan kelas yang mengimplementasikan interface. Mengimplementasikan paket

java.rmi dan java.rmi.server. Harus membuatkan konstrukt

3. Membuat proses server Server membuat objek

dari implementasi kelas tersebut, kemudian meregisterkannya dengan service naming yang disebut registry. Dilakukan menggunakan method rebind dari kelas Naming (dari paket java.rmi), menggunakan 2 argumen: String nama objek

sebagai URL dengan protokol RMI

referensi ke objek remote

Page 7: Remote Method Invocation ( RMI ) Materi  3

Contoh

7

4. Membuat proses klien Klien mendapatkan referensi ke

objek remote dari registry. Dilakukan menggunakan teknik lookup kelas Naming, dimasukkan sebagai argumen ke method tersebut URL yang sama dimana server mem-binding referensi objek.

Karena lookup mengembalikan referensi Remote, referensi ini harus di typecast ke referensi Hello (bukan referensi HelloImpl).

Satu kali referensi hello didapatkan, maka dia dapat digunakan untuk memanggil metoh yang disediakan interface.

Page 8: Remote Method Invocation ( RMI ) Materi  3

Kompilasi dan eksekusi

8

Mengompilasi semua file javac Hello.java javac HelloImpl.java javac HelloServer.java javac HelloClient.java

Mengompilasi kelas implementasi dengan compiler rmic rmic -v1.2 HelloImpl Dihasilkan file dengan nama HelloImpl_stub.class.

Buka window Cprompt, Menjalankan registry RMI rmiregistry

Buka window Cprompt baru, jalankan server Panggil Java interpreter: java HelloServer

Buka window Cprompt baru, jalankan klien Panggil Java interpreter: java HelloClient

Page 9: Remote Method Invocation ( RMI ) Materi  3

Contoh aplikasi

9

Aplikasi akan membuat objek akun bank tersedia untuk menghubungkan klien, yang dapat memanipulasi objek remote dengan memanggil method.

1. Membuat interface

2. Mendefinisikan kelas yang mengimplementasikan interface Implementasi data dan method yang

diasosiasikan dengan akun masing-masing, kelas tersebut mendefinisikan konstruktor untuk objek implementasi.

Page 10: Remote Method Invocation ( RMI ) Materi  3

Contoh aplikasi

10

3. Membuat proses di server Kelas server membuat

array objek implementasi dan melakukan bind terhadap masing-masing objek ke registry. Nama setiap objek dibentuk dari gabungan nomor akun dengan kata 'Account' (Misal, 'Account111111')

Page 11: Remote Method Invocation ( RMI ) Materi  3

Contoh aplikasi

11

4. Membuat proses di klien Klien menggunakan

method lookup untuk mendapatkan referensi ke masing-masing akun (yang ditangani oleh objek implementasi)

Page 12: Remote Method Invocation ( RMI ) Materi  3

Any Question ?

12