Selasa, 21 Oktober 2014

RPC (Remote Procedure Calls)



RPC adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system ). RPC mengasumsi keberadaan dari low-level protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas protocol eXternal Data Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan. Protokol RPC mengijinkan pengguna (users) untuk bekerja dengan prosedur remote sebagaimana bekerja dengan prosedur lokal. Prosedur panggilan remote (remote procedure calls) didefinisikan melalui rutin yang terkandung didalam protokol RPC. Tiap message dari panggilan akan disesuaikan dengan message balikan. Protokol RPC sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan” yang mengimplemntasikan protokol non-RPC lain seperti panggilan remote batching dan broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select subroutine pada sisi server.

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

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.

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.

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

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.  


Kelebihan RPC
        1.      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 socket, marshalling & unmarshalling.
2.      Robust (Sempurna) : Sejak th 1980-an RPC telah banyak digunakan dalam pengembangan mission critical application yang memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC

1.      Tidak fleksibel terhadap perubahan : hubungan antara client dan server bersifat static.
2.      Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

Contoh Kasus RPC
Contoh kasus RPC yaitu pada jasa penge-print-an di rental pengetikan yang di dalamnya terdapat 1 komputer server, beberapa komputer client dan sebuah printer yang hanya terhubung dengan server. User dari computer client ingin mencetak data dari komputernya. Biasanya user memindah data dengan bantuan device external seperti disket, flash disk, hard disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih efisien. 

Solusi : Dengan RPC, untuk mencetak data dari computer client, computer client mengirim pesan “cetak” kepada computer server. Kemudian computer server menerima perintah tersebut dan kemudian menjalankan perintah mencetak data. Setelah itu server mengirimkan pesan pada client berupa informasi “file telah dicetak”. 

SUMBER





Tidak ada komentar:

Posting Komentar