NAMA
: Panji Nugroho
NPM
: 15111503
KELAS
: 4KA40
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 :
Sumber :
http://zulfinjuliant.wordpress.com/2013/10/09/studi-kasus-rpc/
http://mbahsecond.blogspot.com/2013/11/penertian-dan-cara-kerja-rpc-rmi-dan.html
Tidak ada komentar:
Posting Komentar