RPC
Remote Procedure Call (RPC) adalah sebuah metoda yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah komputer (server) harus menyediakan layanan remote prosedur. Pendekatan yang dilakukan adalah, sebuah server membuka socket, menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me-request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.
RPC masih menggunakan cara primitive dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan soket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah terinstall kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.
Umumnya protokol RPC yang digunakan pada saat ini adalah DCOM (Distributed Component Object Model). Saat ini ada alternatif protokol baru, yakni SOAP (Simple Object Access Protocol), yang berdasarkan pada teknologi XML.
Implementasi RPC
Sun Microsystems Open Network Computing (ONC) : RPC specification, XDR (eXternal Data Representation) standard, UDP atau TCP transport protocol. Xerox Courier : RPC model, Data representation standard, XNS (Xerox Network Systems) SPP (Sequenced Packet Protocol) sbg transport protocol, Apollo s Network Computing Architecture (NCA), RPC protocol, NDR (Network Data Representation).
Kelebihan RPC
• Relatif mudah digunakan :
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling & unmarshalling.
• Robust (Sempurna):
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.
Kekurangan RPC
• Tidak fleksibel terhadap perubahan :
- Static relationship between client & server at run-time.
- Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.
• Kurangnya location transparency :
- Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by reference.
- Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).
- Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg terpisah.
Cara Kerja RPC
Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu.
Contoh aplikasi untuk meremote pada teknik RPC (Remote Procedure Call) adalah menggunakan putty untuk melakukan SSH.
Kegunaan utama SSH adalah untuk memasuki sistem komputer di tempat lain yang terhubung melalui jaringan dengan cara yang aman. Tapi saat ini SSH dapat diturunkan untuk berbagai hal yang amat dibutuhkan dalam komputasi jaringan atau lebih besar lagi: internet.
Sedangkan putty adalah software remote console/ terminal yang digunakan untuk meremote komp dengan terhubungnya menggunakan port ssh atau sebagainya, Pada bahasan disini diterang cara unutk meremote komp sistem operasi linux dengan menggunakan komp sisem operasi windows tentunya putty disini diinstall diwindows jadi digunakan putty versi windows.
RMI
Remote Method Invocation (RMI) adalah sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (Object Oriented Programming). RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan dibolehkannya program Java memanggil method pada remote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan.
Aplikasi RMI seringkali terdiri dari dua program terpisah yaitu server dan client. Aplikasi server semacam ini biasanya membuat beberapa objek remote, menyediakan referensi terhadap objek-objek tersebut sehingga dapat diakses, serta menunggu client menginvoke/memanggil method dari objek-objek remote tersebut. Aplikasi client mendapatkan referensi remote ke satu atau lebih objek remote di server dan menjalankan method dari objek tersebut. RMI menyediakan mekanisme dimana server dan client berkomunikasi dan memberikan informasi secara timbal balik. Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi.
Kelebihan RMI
RMI mempunyai beberapa kelebihan yaitu kecepatan dan performa,
Kelemahan RMI
RMI mempunyai kekurangan dalam interopability (kemampuan dalam melakukan operasi antar platform), kekurangan ini bisa dijelaskan karena RMI tidak memakai suatu standar yang resmi dalam protokol maupun skema data yang dipakai. Sehingga dalam penerapannya RMI yang dibuat dalam bahasa java hanya bisa dipanggil oleh aplikasi java. Demikian juga dengan RMI yang dibuat dengan .Net (remoting) hanya bisa dipanggil dari aplikasi .Net.
Cara Kerja RMI :
Dalam model ini, sebuah proses memanggil method dari objek yang terletak pada suatu host/computer remote. Dalam paradigma ini, penyedia layanan mendaftarkan dirinya dengan server direktori pada jaringan. Proses yang menginginkan suatu layanan mengontak server direktori saat runtime, jika layanan tersedia, maka referensi ke layanan akan diberikan. Dengan menggunakan referensi ini, proses dapat berinteraksi dengan layanan tsb. Paradigma ini ekstensi penting dari paradigma RPC. Perbedaannya adalah objek yang memberikan layanan didaftarkan (diregister) ke suatu layanan direktori global, sehingga memungkinkan untuk ditemukan dan diakses oleh aplikasi Yang meminta layanan tersebut
Contoh aplikasi untuk meremote pada teknik RMI (Remote Method Invocation) menggunakan teamviewer untuk meremote computer lain.Teamviewer adalah suatu program yang cukup sederhana dan sangat mudah digunakan untuk beberapa keperluan terutama melakukan akses PC secara remote melalui internet.
Sebagai contoh :
Pada paket Whiteboard, RMI digunakan untuk program-program Chat, Whiteboard dan Projector. Dalam program Chat, RMI digunakan untuk memasukkan input dari para pengguna, baik dosen maupun mahasiswa, ke komputer server. Setelah itu, server akan mengeluarkan output berupa hasil percakapan antar pengguna kepada semua komputer klien. Pada Whiteboard, penggunaan RMI terletak pada pengiriman graphics dan image antara komputer server dan klien. Sedangkan pada Projector, RMI digunakan agar dosen, sebagai klien, bisa mengatur indeks tampilan pada Projector yang berlangsung pada komputer mahasiswa, yang berfungsi sebagai klien lainnya.
PERBEDAAN RPC DAN RMI
Perbedaan penting antara RMI dan RPC. RMI yang umumnya mendukung referensi sistem objek selebar expalained atas. Juga, tidak perluhanya memiliki tujuan umum sisi klien dan server-side stub tersedia.Sebaliknya, kita dapat lebih mudah mengakomodasi objek spesifik bertopik karena kami juga menjelaskan cara biasa untuk memberikan dukungan. RMI adalah untuk menentukan interface objek dalam bahasa definisi antarmuka,mirip dengan pendekatan yang diikuti dengan RPC. Sebagai alternatif, kita dapat menggunakan bahasa berbasis obyek seperti java, yang akan menangani generasi rintisan otomatis. Pendekatanmenggunakan definisi antarmuka standar umumnya disebut sebagai RPC. RPC mengharuskan antarmuka dari sebuah objek diketahui ketika aplikasi kliensedang dikembangkan. Hal ini juga menyiratkan bahwa perubahan interface,maka aplikasi klien harus recomplied sebelum dapat menggunakan interface baru.
SUMBER :
0 komentar:
Posting Komentar