Sunday, March 16, 2014

Remote Procedure Call

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah  server harus menyediakan layanan  remote procedure.Pendekatan yang dilakuan adalah sebuah  server membuka  socket, lalu 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 paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak  remote procedure. RPC menggunakan  socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter-install 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.

Protokol Message RPC

Protokol Message RPC didefinisikan dengan menggunakan deskripsi data eXternal Data Representation ( XDR ) yang meliputi struktur, enumerasi dan union. Pembahasan lebih
lanjut akan diterangkan pada bab berikutnya mengenai implementasi RPC.
Protokol Message ini membutuhkan faktor-faktor pendukung sebagai berikut :
1. Spesifikasi yang unik untuk tiap prosedur call
2. Respon message yang sesuai untuk tiap message yang diminta
3. Otentifikasi klien untuk tiap layanan dan sebaliknya Protokol Message RPC memiliki dua ( 2 ) struktur yang berbeda, yaitu call message dan reply message. Tiap klien yang akan melakukan RPC pada suatu server di jaringan akan menerima balasan (reply) berupa hasil dari eksekusi prosedur tersebut. Dengan menggunakan spesifikasi yang unik untuk tiap prosedure remote, maka RPC dapat mencocokkan message balasan untuk tiap call message yang diminta klien.

  • Call Message
    Tiap call message pada RPC mengandung nilai-nilai unsigned integer yang digunakan untuk mengidentifikasi prosedur remote yang diminta. Nilai-nilai ini adalah :
    1. Nomor Program
    2. Nomor Versi dari Program
    3. Nomor Prosedur
  • Reply Message
    Reply message yang dikirimkan oleh server jaringan bervariasi tergantung apakah call messages yang diminta klien diterima atau ditolak. Reply message mengandung informasi yang digunakan untuk membedakan kondisi-kondisi yang diminta sesuai dengan call messages. Informasi ini antara lain :
    1. RPM mengeksekusi call message dengan sukses
    2. Implementasi remote tidak sesuai dengan protokol yang digunakan. Versi yang lebih
    rendah atau tinggi akan ditolak.
    3. Program remote tidak tersedia pada sistem remote
    4. Program remote tidak mendukung versi yang diminta klien
    5. Nomor prosedur yang diminta tidak ada.
Fitur dalam RPC
  • Batching Calls
Mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara berurutan.
  •  Broadcasting Calls
Menijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
  • Callback Procedures
Mengijinkan server untuk bertindak sebagai klien dan melakukan PRC callback ke proses yang dijalankan klien.
  •  Select Subrutin
Memeriksa deskripsi suatu file dan messages dalamantrian untuk melihat apakah siap dibaca atau ditulis,atau ditahan. (mengijinkan server untuk menginterupsi suatu aktivitas.


Kelebihan dan Kekurangan pada RPC
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 dan unmarshalling.
  •  Robust (Sempurna)
  •  Sejak th 1980-an RPC telah banyak digunakan dalam pengembangan mission-critical application yang memerlukan scalability, fault tolerance, dan reliability.

Kelemahan RPC
  • Tidak fleksibel terhadap perubahan
  • Static relationship between client & server at run-time.
  • Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan Object Oriented Proggraming
  •  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 yang terpisah.

Sumber :
http://mbahsecond.blogspot.com/2013/11/penertian-dan-cara-kerja-rpc-rmi-dan.html

KELOMPOK 1

1. Jihan Haydara (53410756)
http://jihanhaydara.blogspot.com/2014/03/konsep-objek-terdistribusi-dan-objek.html

2. Kurnia Putri Mayanti (53410940)
http://hitamputihduniaputri.blogspot.com/2014/03/remote-procedure-call.html

3. Fahmi Firdaus (52410502)
http://fahmifirdaus07.blogspot.com/2014/03/konsep-objek-terdistribusi-dan-object.html

4. Stevy Kristianto (56410697)
http://stevitepi.blogspot.com/2014/03/prinsip-prinsip-dan-layer-protokol.html?m=1

No comments:

Post a Comment