Perbezaan asas antara RPC dan RMI ialah RPC adalah satu mekanisme yang membolehkan memanggil prosedur pada komputer jauh manakala RMI adalah pelaksanaan RPC di java. RPC adalah bahasa netral tetapi hanya menyokong jenis data primitif yang akan diluluskan. Sebaliknya, RMI adalah terhad kepada Java tetapi membolehkan objek lulus. RPC mengikuti pembentukan bahasa prosedur tradisional manakala RMI menyokong reka bentuk berorientasikan objek.
RPC, yang bermaksud Call Procedure Remote, adalah jenis komunikasi antara proses. Ini membolehkan memanggil fungsi dalam proses lain yang dijalankan pada komputer tempatan atau komputer jauh. Konsep ini muncul lama dahulu pada tahun 1980, tetapi pelaksanaan pertama yang terkenal dilihat di Unix.
RPC melibatkan beberapa langkah. Pelanggan melakukan prosedur panggilan pada komputer tempatan seperti biasa. Modul yang disebut stub klien mengumpul hujah-hujah dan membuat mesej dan lulus ke sistem operasi, Sistem pengendalian melakukan panggilan sistem dan menghantar mesej ini ke komputer jauh. Sistem pengendalian di pelayan mengumpul mesej dan melewati modul pada pelayan yang disebut stub server. Kemudian stub server memanggil prosedur pada pelayan. Akhirnya, keputusan dihantar kembali kepada pelanggan.
Kelebihan menggunakan RPC ialah ia bebas daripada butiran rangkaian. Programmer hanya perlu menentukan dalam fesyen abstrak manakala sistem operasi akan menjaga butiran rangkaian dalaman. Jadi ini memudahkan pengaturcaraan dan membolehkan RPC berfungsi di mana-mana rangkaian walaupun terdapat perbezaan fizikal dan protokol. Pelaksanaan RPC hadir dalam semua sistem operasi arus utama seperti Unix, Linux, Windows dan OS X. RPC umumnya bahasa netral sehingga membatasi jenis data kepada yang paling primitif karena mereka harus umum untuk semua bahasa. Pendekatan dalam RPC tidak berorientasikan objek, tetapi ia adalah mekanisme prosedur tradisional seperti dalam C.
RMI, yang bermaksud Penyerahan Kaedah Jauh, adalah API (Interface Pemrograman Aplikasi) yang melaksanakan RPC di java untuk menyokong sifat berorientasikan objek. Ini membolehkan memanggil kaedah Java pada mesin Java Virtual lain yang tinggal di komputer yang sama atau yang terpencil. Batasan RMI ialah hanya kaedah Java yang boleh digunakan, tetapi ini datang dengan kelebihan objek dapat diluluskan sebagai argumen dan nilai pulangan. Apabila prestasi dianggap RMI adalah lebih perlahan daripada RPC kerana penglibatan bytecode pada mesin Java Virtual, tetapi RMI sangat mesra programmer, dan sangat mudah digunakan.
RMI menggunakan mekanisme keselamatan yang dibangunkan di Jawa dan juga memberikan kilang soket yang membolehkan penggunaan protokol lapisan pengangkutan bukan TCP. Lebih-lebih lagi, RMI menyediakan kaedah untuk memintas firewall. Langkah-langkah yang berlaku dalam RMI adalah sama dengan RPC. Pelaksanaan RMI menjaga butiran rangkaian dalaman di mana programmer tidak perlu risau tentangnya.
• RPC adalah bahasa netral manakala RMI adalah terhad kepada Java.
• RPC adalah prosedur seperti dalam C, tetapi RMI adalah berorientasikan objek.
• RPC hanya menyokong jenis data primitif manakala RMI membolehkan objek diluluskan sebagai argumen dan nilai pulangan. Apabila menggunakan RPC, pengaturcara mesti memisahkan sebarang objek kompaun kepada jenis data primitif.
• RMI mudah untuk memprogram RPC.
• RMI lebih perlahan daripada RPC kerana RMI melibatkan pelaksanaan bytecode java.
• RMI membenarkan penggunaan corak reka bentuk kerana sifat berorientasikan objek manakala RPC tidak mempunyai keupayaan ini.
Ringkasan:
RPC adalah mekanisme neutral bahasa yang membolehkan panggilan prosedur pada komputer jauh. Walau bagaimanapun, ciri neutral bahasa mengehadkan jenis data yang diluluskan sebagai argumen dan mengembalikan nilai kepada jenis primitif. RMI adalah pelaksanaan RPC di Jawa dan ia menyokong objek lulus juga, menjadikan kehidupan programmer lebih mudah. Kelebihan RMI ialah sokongan reka bentuk berorientasikan objek, tetapi batasan ke Jawa adalah kelemahan.
Imej Hormat: