Senin, 17 Maret 2014

Konsep RPC (Remote Procedure Call)

Pengertian RPC
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 clientyang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me- request kepada sebuah matchmakerpada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.
RPC masih menggunakan cara primitif dalam pemrograman, yaitu 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- installkedalam 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.

Fitur dalam RPC
RPC memiliki fitur - fitur sebagai berikut : batching calls, broadcasting calls, callbac
procedures dan using the select subroutine.


1. Batching Calls

Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol streaming byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien, karena arsitektur RPC didesain agar pada tiap call message yang dikirimkan oleh klien harus ada proses menunggu balasan dari server. Oleh karena itu maka pihak klien harus dapat mengatasi error yang kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila terjadi error pada message yang dikirim.

2. Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikan fungsinya.

3. Callback Procedures

Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC callback ke proses yang dijalankan oleh klien.

4. Menggunakan select Subrutin
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.


Bahasa RPC
Merupakan bahasa yang dikembangkan dari bahasa XDR dengan penambahan program definisi.
Implementasi layanan protokol dan rutin menggunakan command rpcgen, yang bekorespondensi denga bahasa C. 
Definisi dari bahasa RPC, yaitu :

Definition 

File dengan bahasa RPC memiliki beberapa definisi, diantaranya adalah : enum, struct, union, typedef, const, dan program.


Structure
Struktur pada bahasa RPC dideklarasikan seperti pada pendeklarasian struktur dalam bahasa C

Union
Union pada bahasa RPC berbeda dengan bahasa C. Kemiripan lebih ditunjukkan dengan variasi pada bahasa Pascal

Enumeration
Enumerasi pada bahasa ini memiliki syntax yang sama dengan bahasa C. 

TypeDef
Tipe Definisi ( Typedef ) pada bahasa ini memiliki syntax yang sama dengan typedef pada bahasa C.

Constant
Constant pada bahasa ini dapat digunakan jika variabel integer konstant dibutuhkan.

Programs
Program RPC dideklarasikan dengan syntax berikut secara berurutan : programdefiniton, version-list, version, procedure-list, procedure.

Declarations
 Dalam bahasa  ini, terdapat  empat  jenis  tipe deklarasi  yaitu  :  simple declarations,  fixed length array declarations,  variable- length declaration, dan pointer declaration.





sumber: 
http://tyassyiin.blogspot.com/p/remote-procedure-call-rpc.html
http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch17s06.html
http://sobatbaru.blogspot.com/2010/12/pengertian-remote-procedure-calls-rpc.html

2 komentar:

  1. permisi gan, saya ada sedikit tulisan mengenai protokol websocket dalam beberapa bahasa pemrograman berikut: http://datacomlink.blogspot.co.id/2015/11/implementasi-server-websocket-rfc-6455.html ditunggu feedback-nya ya gan, semoga menambah wawasan bersama.. terima kasih gan..

    BalasHapus
  2. Terimakasih kakak atas artikel nya, terus tulis artikel lainnya ya kak. O iya, perkenalkan nama saya putri1622520017 dari kampus ISB Atma Luhur

    BalasHapus