Tugas
1. Jelaskan + flowchart masing-masing dari remote procedurecall dengan database sistem terdiri dari manajemen dasae dan manajemen sistem (DBMS)
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 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.
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-
install kedalam sistemnya,
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)
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).
Cara Kerja RPC
Tiap prosedur yang dipanggil dalam RPC, maka proses ini
harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang
dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai.
Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada
sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai
prosedur tertentu.
Diagram diatas memberikan gambaran mengenai flow dari
eksekusi dalam proses RPC. Berikut ini adalah diagram yang akan menjelaskan
secara rinci mengenai proses yang terjadipada klien dan server dalam eksekusi
suatu prosedur RPC :
penjelasan dari diagram diatas :
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.
Proses diatas akan dilakukan berulang-ulang ( rekursif )
dalam pengeksekusian RPC dalam suatu remote sistem. Contoh aplikasi untuk
meremote pada teknik RPC (Remote Procedure Call) adalah menggunakan putty untuk
melakukan SSH.
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 dan unmarshalling.
- · Robust (Sempurna)
- · Sejak th 1980-an RPC telah banyak digunakan dalam pengembangan mission-critical application yang memerlukan scalability, fault tolerance, dan reliability.
Kelemahan RPC
- · Tidak fleksibel terhadap perubahan
- · Static relationship between client & server at run-time.
- · Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan Object Oriented Proggraming
- · 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 yang terpisah.
Flowchart :
flowchart |
Sumber :