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