Remote Method Invocation (RMI) Materi 3

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek (Project)
Advertisements

Sistem Terdistribusi 02 – Model dan Permasalahan Sistem Terdistribusi
BAHASA PEMROGRAMAN JAVA
Kelas A & B Jonh Fredrik Ulysses STMIK PALANGKARAYA - JFU
JAVA Network Programming. Apa itu JAVA? ● Bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun ● Dikembangkan.
Pemrograman Jaringan Socket Programming Aurelio Rahmadian.
Dahlan Abdullah / Website : PENGANTAR SISTEM BD TERDISTRIBUSI.
Praktikum Bahasa Pemrograman
Sistem Komunikasi.
Pengenalan Pemrograman Jaringan Materi 1 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG 2012.
Pemograman 1 Pertemuan 1.
Pemrograman Berorientasi Objek
CORBA “Common Object Request Broker Architecture”
Jaringan Terdistribusi
Remote Method Invocation (rmi)
Socket Programming Hernando Ivan Teddy S.Kom. Pertemuan 6 Pemrograman Jaringan STMIK GI MDP PALEMBANG 2013.
MySQL dan PHP.
Java Server Pages D4 LJ-PJJ Dasar Pemrograman Web Eru©Juli-2009 PENS – ITS.
Inter Process Communication
REMOTE SERVICE.
PERTEMUAN KE 2 JAVA SERVER PAGES (JSP) BY : TITO SUGIHARTO
Web Service.
Wahyu Herlambang ( ) Pendidikan Teknik Informatika dan Komputer Universitas Negeri Makassar 2012 Wahyu Herlambang ( ) Pendidikan Teknik.
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ Model & Komunikasi Oleh : Laseri, S.Kom.
FTP File Transfer Protocol
Pengenalan Pemrograman Jaringan dengan GUI Materi 2
Try, Catch, Finally Throws
Pemrograman berbasis obyek
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Pengenalan Java.
Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian.
Kriptografi Kunci Publik (Asimetry Key) Algoritma Pertukaran Kunci Simetri (Diffie-Hellman) Materi 10 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik.
Pengantar & Dasar Pemrograman Java Oleh :Yeka Hendriyani, M.kom
KELAS GENERIK.
Socket Programming - 1 (TCP)
Java Remote Object Invocation (RMI)
Distributed Object CORBA and RMI
Pemrograman CORBA Sederhana
Pengenalan Pemrograman Java
Komunikasi (Sistem Terdistribusi).
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ Model SISTER Oleh : Laseri, S.Kom.
Inheritance dan Kata Kunci static
Arsitektur SisTer.
Arsitektur SisTer.
Java Database Connectivity Materi 5
Objek-Oriented Programming (OOP)
Pemprograman Berorientasi Objek
Sistem Terdistribusi.
Mobile Computing 7 Middleware.
Pemrograman internet ABU SALAM, M.KOM.
Array Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam.
Pengaksesan Jaringan (Connection)
Pengenalan dan Struktur Java (Statement Output)
BAB ENCAPSULATION ( Enkapsulasi )
POLYMORPHISM.
Basis Data Klien Server dan Basis data Internet Materi 7
KELAS DAN OBJEK BAGIAN I Pertemuan 6.
JAVA Mudah dipelajari jika telah mengenal konsep OOP, terbuka (open source) dan mudah dikembangkan SEDERHANA KEUNGGULAN JAVA AMAN Dibuat dengan pertimbangan.
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
Socket Programming - 1 (TCP)
Process and Tread Saifudin Anshory Abd. Chariz Fauzan Wahyu Hartono
Mobile Media API (MMAPI)
Exception Sussi.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
JAVA.
- PERTEMUAN 2- CONSTRUCTOR
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Dasar Pemrograman Java H. Risdiandri Iskandar, SKom,MM 1.
Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian.
Transcript presentasi:

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

Konsep RMI 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.

Konsep RMI

Detail Implementasi Contoh: 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: Membuat interface Mendefinisikan kelas yang mengimplementasi interface Membuat proses server 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.

Contoh 1. Membuat interface 3. Membuat proses server 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

Contoh 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.

Kompilasi dan eksekusi 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

Contoh aplikasi 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.

Contoh aplikasi 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')

Contoh aplikasi 4. Membuat proses di klien Klien menggunakan method lookup untuk mendapatkan referensi ke masing-masing akun (yang ditangani oleh objek implementasi)

Any Question ?