remote procedure call (RPC)

Apa itu remote procedure call (RPC)? Berikut ini adalah penjelasannya

RPC adalah sebuah proses pada suatu mesin yg dapat memanggil prosedur yang berada di mesin lainnya. Pada saat memanggil prosedur pada mesin lain proses yang memanggil akan ditunda eksekusinya hingga mendapatkan balasan hasil eksekusi dari mesin lawannya. Pesan dapat dikirimkan sebagai nama dan parameter prosedur kemudian kembali diterima sebagai keluaran prosedur.

Berikut ini adalah rangkaian kejadian ketika sebuah remote procedure call terjadi:


  1.  Aplikasi yang berada di client memanggil prosedur yang disediakan oleh server.
  2. Nama prosedur yang dipanggil dan parameter masukannya (jika diperlukan) sebelum dikirimkan melalui jaringan komputer terlebih dahulu diubah menjadi format yang sesuai untuk pengiriman melalui jaringan atau lebih dikenal sebagai proses marshalling. Proses marshalling ini dilakukan oleh suatu perangkat lunak yang dikenal sebagai client stub.
  3. Client stub kemudian memanggil prosedur mengirim paket melalui jaringan yang disediakan dan menjadi tanggung jawab sistem operasi client.
  4. Sistem operasi client mengolah pesan dari client stub dan menjadi paket jaringan dan dikirimkan ke komputer server
  5. Di sisi server pesan diterima oleh sistem operasi dan diberikan kepada server stub yang melakukan proses kebalikan dari marshalling yaitu unmarshalling. Proses unmarshalling mengubah pesan dari client stub menjadi bentuk awal berupa panggilan untuk prosedur tertentu dengan parameter masukannya.
  6. Server akan memanggil prosedur yang diinginkan dengan parameter masukan yang diterima dari server stub kemudian mengembalikan hasil pemanggilan prosedur kepada server stub.
  7. Server stub melakukan marshalling pesan berisi hasil dari prosedur yang dipanggil, kemudian memanggil layanan pengiriman data dari sistem operasi server.
  8. Sistem operasi server mengolah pesan dari server stub menjadi paket jaringan dan dikirimkan ke komputer client.
  9. Sistem operasi client menerima paket dari sistem operasi server dan menyampaikannya pada client stub.
  10. Client stub melakukan unmarshalling dan memberikan hasil pemanggilan prosedur kepada yang aplikasi yang melakukan RPC

Komentar