Remote Procedure Call (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 client yang meminta prosedur yang disediakan oleh
server. Bila client tidak tahu harus menghubungi portyang
mana, client bisa me- request kepada
sebuah matchmaker pada sebuah RPCport 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.
Umumnya protokol RPC yang digunakan pada saat ini adalah
DCOM (Distributed Component Object Model). Saat ini ada alternatif protokol
baru, yakni SOAP (Simple Object Access Protocol), yang berdasarkan pada
teknologi XML.
Implementasi RPC
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) sebagai transport
protocol, Apollo’s Network Computing Architecture (NCA), RPC protocol, NDR
(Network Data Representation).
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 & unmarshalling.
· Robust (Sempurna)
Sejak th 1980-an RPC telah banyak digunakan dlm
pengembangan mission-critical application yg 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.
· 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 yg terpisah.
No comments:
Post a Comment