Nama : Mochammad Nur Fahmi Firmansyah
NIM : 12410200079
1. Buatlah rangkuman materi presentasi yang bagian anda
Definisi Remote Procedure Call (RPC)
Remote Procedure Call (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). Protokol RPC digunakan untuk membangun aplikasi Client - Server yang terdistribusi.
Tujuan Remote Procedure Call (RPC)
Remote Procedure Call digunakan untuk administrasi sistem sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya darimana saja, selama sistemnya terhubung ke jaringan.
Socket Remote Procedure Call (RPC)
Remote Procedure Call (RPC) menggunakan socket untuk berkomunikasi dengan proses lainnya.
Cara kerja Remote Procedure Call (RPC)
Tiap prosedur yang dipanggil dalam Remote Procedure Call, 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.
Contoh aplikasi untuk meremote pada teknik RPC (Remote Procedure Call) adalah menggunakan putty untuk melakukan SSH.
Kegunaan utama SSH adalah untuk memasuki sistem komputer di tempat lain yang terhubung melalui jaringan dengan cara yang aman. Sedangkan putty adalah software remote console/terminal yang digunakan untuk meremote komputer dengan terhubungnya menggunakan port ssh atau sebagainya.
Prinsip Remote Procedure Call (RPC)
- Server menunggu Client.
- Client mengirim pesan berisi parameter dan prosedur yang akan dipanggil.
- Server membaca parameter dan menjalankan prosedur yang dipanggil.
- Client menunggu response.
- Server mengirim hasilnya ke client
- Client mengirim pesan bersisi parameter dan prosedure yang akan dipanggil.
- Server menunggu Client.
- proses ini berulang-ulang.
Kelebihan Remote Procedure Call (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 tahun 1980-an RPC telah banyak digunakan dalam pengembanganmission-critical application yg memerlukan scalability, fault tolerance & reliability.
Kekurangan Remote Procedure Call (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 pemrogram 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.
Studi Kasus Remote Procedure Call (RPC)
Contoh studi 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”
metode doOperation adalah metode yang digunakan oleh client untuk meminta remote operation
setiap metode proxy adalah hasil dari metode signature yang ada didalam antarmuka IDL misalnya.
void vote (in string nama, in long nomer); // Masukan Input bernama nama dengan tipe data string dan input bernama nomer dengan tipe data long
metode equivalent stub di bahasa klien. misalnya bahasa C++ yang di jalankan.
void vote (const char *vote, int number);
setiap metode dalam interface diberikan nomer. misalnya vote=1, result =2
menggunakan args [char panjang string + ukuran int ] dan marshall dua argumen ke array ini dan memanggil doOperation sebagai berikut
char*result = doOperation(ref,1,args);
Disini masih di asumsikan bahwa ref adalah variable instansi dari class proxy. Sebuah metode marshalling yang dihasilkan untuk setiap Jenis argumen yang digunakan .
Refrensi : Distributed Systems, Edition 3: Chapter 5 Solutions ©George Coulouris, Jean Dollimore and Tim Kindberg 2000.
Tidak ada komentar:
Posting Komentar