Remote Procedure Call (RPC)

Remote Procedure Call 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.

Kelebihan RPC

 Relatif mudah digunakan 

Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan procedure.  Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low  level details seperti  socket, marshalling &  unmarshalling.

Robust (Sempurna):

Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission- critical application yang 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.

 

Otentifikasi RPC

Proses otentifikasi adalah proses yang digunakan untuk mengidentifikasi server dan

klien pada RPC. Otentifikasi RPC terdiri atas beberapa bagian. Berikut ini adalah bagian-bagian pada otentifikasi RPC:

  1. Protokol Otentifikasi RPC

Protokol Otentifikasi RPC disediakan sebagai bagian dari protokol RPC.

Untuk setiap prosedur remote, semuanya diotentifikasi oleh paket RPC pada server. Parameter yang digunakan adalah respon verifier. Sedangkan pada pihak klien, setiap paket RPC diberikan parameter otentifikasi dan parameter yang digunakan adalah credential dan verifier.

  1. Otentifikasi NULL

Otentifikasi NULL digunakan pada sistem dimana pemanggil (caller) RPC tidak mengetahui identitasnya sendiri dan server tidak membutuhkan identitas pemanggil.

  1. Otentifikasi Data Encryption Standard (DES)

Otentifikasi DES membutuhkan keyserv daemon yang harus berjalan baik di sisi server maupun klien. Tiap pengguna pada sistem ini harus memilik kunci publik (public key) yang disahkan pada database kunci publik oleh Administrator jaringan tersebut.

  1. Protokol Otentifikasi DES

Protokol Otentifikasi DES meliputi protokol penanganan DES pada proses otentifikasi RPC. Protokol ini mencakup 64-bit blok data DES yang terenkripsi dan menentukan panjang maksimum untuk user name pada jaringan yang digunakan.

  1. Enkripsi Diffie-Hellman

Enkripsi Diffie-Hellman digunakan pada pembuatan kunci publik pada otentifikasi DES dengan menggunakan 192-bit kunci. Enkripsi ini memiliki dua buah variabel konstan, yaitu BASE dan MODULUS yang digunakan pada protokol otentifikasi DES.

Fitur dalam RPC

Batching Calls:Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan )

Broadcasting Call:Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data kejaringan dan menunggu balasan dari network. FItur ini menggunakanprotokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya.Broadcast RPC membutuhkan layanan port mapper RPC untukmengimplementasikanfung sinyA

Callback ProcedureS:Fitur Callback Procedures mengijinkan server untuk bertindak sebagai

Menggunakan select SubrutiN:Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalamantrian untuk melihat apakah mereka siap untuk dibaca (diterima) atauditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedurini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksadatanya, dan kemudian melanjutkan proses aktivitas tersebut.

Lapisan pada RPC

Bagian interface dari RPC dibagi menjadi 3 lapisan/bagian (layer) yaitu:

  1. Lapisan Tertinggi (Highest Layer)

Lapisan ini merupakan lapisan yang bersentuhan langsung dengan sistem

operasi, mesin dan jaringan tempat RPC berjalan.

  1. Lapisan Menengah (Intermediate Layer)

Lapisan ini merupakan implementasi dari RPC sesungguhnya.

  1. Lapisan Terendah (Lowest Layer)

Lapisan ini merupakan lapisan yang mengatur tentang soket dan sistem call.

Lapisan ini tidak memberikan data dan servis secara detail untuk dapat

digunakan.

Model dan Cara Kerja RPC 

Prosedur call umumnya berkaitan dengan penggunaan stack, penyimpanan parameter yang diterima dalam stack tersebut dan pengalokasian ruang untuk lokal variabel. Berikut adalah gambar cara kerja dari RPC.

b_naeli

  1. Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling.
  2. Fungsi Network pada O/S (Operating system – Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
  3. Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.
  4. Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.
  5. Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
  6. Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server.
  7. Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan ( hasilnya ) kembali ke jaringan.
  8. Message ini akan dikirim kembali ke klien.
  9. Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
  10. Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan akan diambil untuk kemudian diproses pada proses lokal.

 

Object Remote

Meskipun teknologi RPC ini relatif sudah memberikan kenyamanan bagi developer, tapi perkembangan yang terjadi di bidang pemrograman berorientasi objek akhirnya menuntut kehadiran teknologi baru. Sederet teknologi akhirnya benar-benar muncul, antara lain;RMI (Remote Method Invocation),CORBA(Common Object Request Broker Architecture), dan SOAP (Simple Object Access Protocol).

 

Implementasi RPC

Untuk proses nya kurang lebih sama dengan RMI. Kalau RMI kita mengenal proxy dan skeleton, pada RPC dikenal dengan Stub( Client stub dan Server stub)

a_naeli

 

Remote Reference Modul dan Communication Modul berada pada tatanan sistem operasi. Contoh implementasi adalah 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).

 

Sumber :

[pdf] http://repository.usu.ac.id/bitstream/123456789/24126/4/Chapter%20II.pdf

[pdf] http://naeli.staff.gunadarma.ac.id/Downloads/files/8465/Komunikasi_revisi.pdf

[pdf] http://unsri.ac.id/upload/arsip/bab2-RPC.pdf

http://www.scribd.com/doc/21262194/Remote-Procedure-Call

http://www.scribd.com/doc/33389539/Tugas-Mk-Istem-Terdistibusi-Makalah-RPC

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s