Razlika Med RPC In RMI

Kazalo:

Razlika Med RPC In RMI
Razlika Med RPC In RMI

Video: Razlika Med RPC In RMI

Video: Razlika Med RPC In RMI
Video: RPC и REST — в чём разница? Часть 1: RPC 2024, April
Anonim

RPC proti RMI

Osnovna razlika med RPC in RMI je, da je RPC mehanizem, ki omogoča priklic postopka na oddaljenem računalniku, medtem ko je RMI izvajanje RPC v javi. RPC je jezikovno nevtralen, vendar podpira le primitivne vrste podatkov, ki jih je treba posredovati. Po drugi strani je RMI omejen na Javo, vendar omogoča posredovanje predmetov. RPC sledi tradicionalnim konstrukcijskim jezikovnim konstrukcijam, medtem ko RMI podpira objektno usmerjeno načrtovanje.

Kaj je RPC?

RPC, ki je kratica za oddaljeni klic postopka, je vrsta medprocesne komunikacije. To omogoča klicanje funkcije v drugem postopku, ki se izvaja v lokalnem ali oddaljenem računalniku. Ta koncept se je pojavil že davno leta 1980, vendar je bila prva znana izvedba opažena v Unixu.

RPC vključuje več korakov. Naročnik pokliče postopek v lokalnem računalniku kot običajno. Modul, imenovan odjemalec odjemalca, zbere argumente in ustvari sporočilo ter ga posreduje operacijskemu sistemu, operacijski sistem opravi sistemski klic in to sporočilo pošlje oddaljenemu računalniku. Operacijski sistem v strežniku zbere sporočilo in preide na modul na strežniku, imenovan strebni škrbin. Nato stub strežnika pokliče postopek na strežniku. Končno se rezultati pošljejo stranki.

Prednost uporabe RPC je v tem, da je neodvisen od podrobnosti o omrežju. Programer mora samo abstraktno določiti, medtem ko bo operacijski sistem skrbel za podrobnosti notranjega omrežja. Tako je programiranje lažje in RPC omogoča delo v katerem koli omrežju kljub fizičnim razlikam in razlikam v protokolih. Izvedbe RPC so prisotne v vseh običajnih operacijskih sistemih, kot so Unix, Linux, Windows in OS X. RPC je na splošno jezikovno nevtralen, zato omejuje podatkovne tipe na najbolj primitivne, saj morajo biti skupni vsem jezikom. Pristop v RPC ni objektno usmerjen, ampak gre za tradicionalni procesni mehanizem, kot pri C.

Razlika med RPC in RMI
Razlika med RPC in RMI

Kaj je RMI?

RMI, ki pomeni Remote Method Invocation, je API (Application Programming Interface), ki izvaja RPC v javi za podporo objektno usmerjene narave. To omogoča klicanje metod Java na drugem navideznem računalniku Java, ki prebiva v istem ali oddaljenem računalniku. Omejitev RMI je, da je mogoče priklicati samo metode Java, vendar to prinaša prednost, da je mogoče predmete predati kot argumente in vrniti vrednosti. Ko se šteje, da je zmogljivost RMI počasnejša od RPC, zaradi vključitve bajtkode na navideznem računalniku Java, vendar je RMI zelo prijazen programerjem in je zelo enostaven za uporabo.

RMI uporablja vgrajene varnostne mehanizme v Javi in ponuja tudi tovarno vtičnic, ki omogoča uporabo protokolov transportne plasti po meri, ki niso TCP. Poleg tega RMI ponuja metode za izogibanje požarnim zidom. Koraki, ki se zgodijo v RMI, so podobni RPC. Izvajanje RMI skrbi za podrobnosti notranjega omrežja, kjer programerju zanje ni treba skrbeti.

Kakšna je razlika med RPC in RMI?

• RPC je jezikovno nevtralen, medtem ko je RMI omejen na Javo.

• RPC je proceduralen kot v C, vendar je RMI objektno usmerjen.

• RPC podpira samo primitivne tipe podatkov, medtem ko RMI omogoča, da se predmeti posredujejo kot argumenti in vrnjene vrednosti. Ko uporablja RPC, mora programer vse sestavljene predmete razdeliti na primitivne tipe podatkov.

• RMI je enostavno programirati ta RPC.

• RMI je počasnejši od RPC, ker RMI vključuje izvajanje bajt kode Java.

• RMI omogoča uporabo vzorcev načrtovanja zaradi objektno usmerjene narave, medtem ko RPC nima te možnosti.

Povzetek:

RPC proti RMI

RPC je jezikovno nevtralen mehanizem, ki omogoča klic postopka v oddaljenem računalniku. Vendar jezikovno nevtralna funkcija omejuje podatkovne tipe, ki se posredujejo kot argumenti in vrnejo vrednosti primitivnim vrstam. RMI je izvedba RPC v Javi in podpira tudi posredovanje predmetov, kar olajša življenje programerja. Prednost RMI je objektno usmerjena projektna podpora, vendar je omejitev na Javo pomanjkljivost.

Vljudnost slik:

Priporočena: