Atšķirība starp RPC un RMI

Satura rādītājs:

Atšķirība starp RPC un RMI
Atšķirība starp RPC un RMI

Video: Atšķirība starp RPC un RMI

Video: Atšķirība starp RPC un RMI
Video: Kur pirkt akcijas 2020. gadā? 2024, Oktobris
Anonim

RPC pret RMI

Pamatšķirība starp RPC un RMI ir tāda, ka RPC ir mehānisms, kas ļauj izsaukt procedūru attālā datorā, savukārt RMI ir RPC ieviešana Java. RPC ir neitrāla valodai, bet atbalsta tikai primitīvus datu tipus, kas jānodod. No otras puses, RMI ir ierobežota ar Java, bet ļauj nodot objektus. RPC ievēro tradicionālās procesuālās valodas konstrukcijas, savukārt RMI atbalsta objektorientētu dizainu.

Kas ir RPC?

RPC, kas apzīmē Remote Procedure Call, ir starpprocesu komunikācijas veids. Tas ļauj izsaukt funkciju citā procesā, kas darbojas lokālajā datorā vai attālajā datorā. Šī koncepcija radās jau sen 1980. gadā, bet pirmā slavenā ieviešana tika redzēta Unix.

RPC ietver vairākas darbības. Klients kā parasti veic procedūras izsaukumu vietējā datorā. Modulis, ko sauc par klienta stub, apkopo argumentus un izveido ziņojumu un nodod to operētājsistēmai, operētājsistēma veic sistēmas zvanu un nosūta šo ziņojumu uz attālo datoru. Servera operētājsistēma apkopo ziņojumu un pārsūta uz servera moduli, ko sauc par servera stub. Pēc tam servera stubs izsauc procedūru serverī. Visbeidzot rezultāti tiek nosūtīti atpakaļ klientam.

RPC izmantošanas priekšrocība ir tā, ka tā nav atkarīga no tīkla detaļām. Programmētājam vienkārši jānorāda abstraktā veidā, kamēr operētājsistēma rūpēsies par iekšējā tīkla detaļām. Tādējādi tas atvieglo programmēšanu un ļauj RPC darboties jebkurā tīklā, neskatoties uz fiziskajām un protokolu atšķirībām. RPC ieviešana ir pieejama visās galvenajās operētājsistēmās, piemēram, Unix, Linux, Windows un OS X. RPC parasti ir valodas neitrāls, tāpēc tas ierobežo datu tipus līdz primitīvākajiem, jo tiem ir jābūt kopīgiem visām valodām. RPC pieeja nav orientēta uz objektu, bet tā ir tradicionāls procesuālais mehānisms, piemēram, C.

Atšķirība starp RPC un RMI
Atšķirība starp RPC un RMI
Atšķirība starp RPC un RMI
Atšķirība starp RPC un RMI

Kas ir RMI?

RMI, kas apzīmē Remote Method Invocation, ir API (lietojumprogrammu programmēšanas interfeiss), kas ievieš RPC java, lai atbalstītu objektorientētu raksturu. Tas ļauj izsaukt Java metodes citā Java virtuālajā mašīnā, kas atrodas tajā pašā datorā vai attālā datorā. RMI ierobežojums ir tāds, ka var izsaukt tikai Java metodes, taču tam ir priekšrocība, ka objektus var nodot kā argumentus un atgriezt vērtības. Ja ņem vērā veiktspēju, RMI ir lēnāks nekā RPC, jo Java virtuālajā mašīnā ir iesaistīts baitkods, taču RMI ir ļoti draudzīgs programmētājiem, un to ir ļoti viegli lietot.

RMI izmanto Java iebūvētos drošības mehānismus, kā arī nodrošina ligzdu rūpnīcu, kas ļauj izmantot pielāgotus transporta slāņa protokolus, kas nav TCP. Turklāt RMI nodrošina metodes, kā apiet ugunsmūrus. Darbības, kas notiek RMI, ir līdzīgas RPC. RMI ieviešana rūpējas par iekšējā tīkla detaļām, kur programmētājam par tām nav jāuztraucas.

Kāda ir atšķirība starp RPC un RMI?

• RPC ir valodas neitrāla, savukārt RMI ir ierobežota ar Java.

• RPC ir procesuāls tāpat kā C, bet RMI ir objektorientēts.

• RPC atbalsta tikai primitīvus datu tipus, savukārt RMI ļauj nodot objektus kā argumentus un atgriešanas vērtības. Izmantojot RPC, programmētājam ir jāsadala visi saliktie objekti primitīvos datu tipos.

• RMI ir viegli ieprogrammēt šo RPC.

• RMI ir lēnāks nekā RPC, jo RMI ietver Java baitkoda izpildi.

• RMI ļauj izmantot dizaina modeļus objektorientētā rakstura dēļ, savukārt RPC šīs iespējas nav.

Kopsavilkums:

RPC pret RMI

RPC ir valodas neitrāls mehānisms, kas ļauj izsaukt procedūru attālā datorā. Tomēr valodas neitrālā funkcija ierobežo datu tipus, kas tiek nodoti kā argumenti, un atgriež vērtības primitīviem tipiem. RMI ir RPC ieviešana Java valodā, un tā atbalsta arī objektu nodošanu, atvieglojot programmētāja dzīvi. RMI priekšrocība ir objektorientēta dizaina atbalsts, taču Java ierobežojums ir trūkums.

Ieteicams: