Perbedaan Antara RPC dan RMI | RPC vs RMI

Anonim

RPC vs RMI

Dasar Perbedaan antara RPC dan RMI adalah bahwa RPC adalah mekanisme yang memungkinkan pemanggilan prosedur pada komputer jarak jauh sementara RMI adalah implementasi RPC di java. RPC adalah bahasa yang netral tapi hanya mendukung tipe data primitif yang akan dilalui. Di sisi lain, RMI terbatas pada Java namun memungkinkan objek yang lewat. RPC mengikuti konstruksi bahasa prosedural tradisional sementara RMI mendukung desain berorientasi objek.

Apa itu RPC?

RPC, yang merupakan singkatan dari Remote Procedure Call, adalah jenis komunikasi antar proses. Hal ini memungkinkan memanggil fungsi dalam proses lain yang berjalan di komputer lokal atau komputer jarak jauh. Konsep ini muncul sejak lama di tahun 1980, namun implementasi yang terkenal pertama kali terlihat di Unix.

RPC melibatkan beberapa langkah. Klien melakukan prosedur panggilan pada komputer lokal seperti biasa. Modul yang disebut stub klien mengumpulkan argumen dan membuat pesan dan meneruskan ke sistem operasi, Sistem operasi melakukan panggilan sistem dan mengirimkan pesan ini ke komputer jarak jauh. Sistem operasi di server mengumpulkan pesan dan lolos ke modul di server yang disebut server stub. Kemudian server stub memanggil prosedur di server. Akhirnya, hasil dikirim kembali ke klien.

Keuntungan menggunakan RPC adalah independen pada detail jaringan. Pemrogram hanya harus menentukan secara abstrak sementara sistem operasi akan menjaga detail jaringan internal. Jadi, ini membuat pemrograman lebih mudah dan memungkinkan RPC bekerja di semua jaringan meskipun ada perbedaan fisik dan protokol. Implementasi RPC hadir di semua sistem operasi utama seperti Unix, Linux, Windows dan OS X. RPC umumnya bahasa netral sehingga membatasi tipe data sampai yang paling primitif karena harus umum untuk semua bahasa. Pendekatan di RPC tidak berorientasi pada objek, namun ini adalah mekanisme prosedural tradisional seperti di C.

Apa itu RMI?

RMI, yang merupakan singkatan dari Remote Method Invocation, adalah API (Application Programming Interface) yang mengimplementasikan RPC di java untuk mendukung objek yang berorientasi pada alam. Hal ini memungkinkan pemanggilan metode Java pada mesin Java Virtual lain yang berada pada komputer yang sama atau komputer jarak jauh. Keterbatasan RMI adalah bahwa hanya metode Java yang bisa dipanggil, namun ini datang dengan keuntungan bahwa objek dapat dilewatkan sebagai argumen dan nilai balik. Ketika kinerja dianggap RMI lebih lambat dari RPC karena melibatkan bytecode pada mesin Java Virtual, namun RMI sangat programmer friendly, dan sangat mudah digunakan.

RMI menggunakan mekanisme keamanan built-in di Jawa dan juga memberi pabrik soket yang memungkinkan penggunaan protokol lapisan transport non-TCP. Selain itu, RMI menyediakan metode untuk memotong firewall. Langkah-langkah yang terjadi di RMI mirip dengan RPC. Implementasi RMI terlihat setelah rincian jaringan internal dimana programmer tidak perlu khawatir tentang mereka.

Apa perbedaan antara RPC dan RMI?

• RPC bahasa netral sedangkan RMI terbatas pada Java.

• RPC bersifat prosedural seperti di C, namun RMI berorientasi objek.

• RPC hanya mendukung tipe data primitif sementara RMI memungkinkan objek dilewatkan sebagai argumen dan nilai balik. Saat menggunakan RPC, programmer harus membagi benda-benda majemuk ke tipe data primitif.

• RMI mudah memprogram RPC itu.

• RMI lebih lambat dari RPC karena RMI melibatkan eksekusi bytecode java.

• RMI memungkinkan penggunaan pola desain karena sifat yang berorientasi objek sementara RPC tidak memiliki kemampuan ini.

Ringkasan:

RPC vs RMI

RPC adalah mekanisme netral bahasa yang memungkinkan panggilan prosedur pada komputer jarak jauh. Namun, fitur netral bahasa membatasi tipe data yang dilewatkan sebagai argumen dan mengembalikan nilai ke tipe primitif. RMI adalah implementasi RPC di Jawa dan juga mendukung passing objek, sehingga membuat programmer menjadi lebih mudah. Keuntungan dari RMI adalah dukungan desain berorientasi objek, namun keterbatasan untuk Java adalah sebuah kerugian.

Gambar Kesopanan:

  1. RPC sinkron dan asinkron oleh CAPS entreprise (CC BY-SA 3. 0)