Razlika med RPC in RMI

Avtor: Laura McKinney
Datum Ustvarjanja: 1 April 2021
Datum Posodobitve: 13 Maj 2024
Anonim
CASA RPL vs RA-Aus RPC | What are the DIFFERENCES? | Info Series
Video.: CASA RPL vs RA-Aus RPC | What are the DIFFERENCES? | Info Series

Vsebina


RPC in RMI sta mehanizma, ki stranki omogočata, da prek strežnika sproži postopek ali metodo s pomočjo komunikacije med odjemalcem in strežnikom. Skupna razlika med RPC in RMI je, da RPC podpira samo proceduralno programiranje ker RMI podpira objektno usmerjeno programiranje.

Druga velika razlika med obema je, da so parametri, ki se pošljejo na klic oddaljenih postopkov, sestavljeni iz navadne strukture podatkov. Po drugi strani so sestavljeni parametri, preneseni na oddaljeno metodo predmeti.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoRPCRMI
PodpiraProceduralno programiranje
Objektno usmerjeno programiranje
ParametriNavadne strukture podatkov se prenesejo na oddaljene postopke.Predmeti se prenesejo na oddaljene metode.
UčinkovitostNižje od RMIVeč kot RPC in podprt s sodobnim programskim pristopom (tj. Objektno usmerjene paradigme)
Režijski stroškiVeč
Manj primerjalno
Parametri vhoda so obvezni.DaNi nujno
Zagotavljanje enostavnosti programiranja
Visoka
nizka


Opredelitev RPC

Oddaljeni klic postopka (RPC) je funkcija programskega jezika, zasnovana za porazdeljeno računalništvo in temelji na semantiki lokalni postopek klici. To je najpogostejša oblika oddaljene storitve in je bil zasnovan kot način za abstraktnost mehanizma klicanja postopkov za uporabo med sistemi, povezanimi prek omrežja. Podobno je z mehanizmom IPC, kjer operacijski sistem omogoča, da procesi upravljajo skupne podatke in se ukvarjajo z okoljem, kjer se različni procesi izvajajo v ločenih sistemih in nujno zahtevajo komunikacijo na podlagi.

Pojasnimo, kako se RPC izvaja v danih korakih:

  • Proces odjemalec pokliče odjemalčevo škrbino s parametri in njena izvedba se ustavi, dokler klic ni končan.
  • Parametri se nato prevedejo v računalniško neodvisno obliko z razdelitvijo po odjemalcu. Nato je pripravljen element, ki vsebuje reprezentacijo parametrov.
  • Če želite najti identiteto spletnega mesta, odjemalec stranke komunicira z imenskim strežnikom, na katerem obstaja oddaljeni postopek.
  • Z uporabo protokola za blokiranje odjemalec preide na mesto, kjer obstaja oddaljeni klic postopka. Ta korak ustavi strankin škrbček, dokler ne dobi odgovora.


  • Spletno mesto strežnika prejme poslano s strani odjemalca in ga pretvori v računalniško določen format.
  • Zdaj strežnik strežnika izvede klic v strežniški proceduri skupaj s parametri in škrbina strežnika je prekinjena, dokler se postopek ne zaključi.
  • Postopek strežnika vrne ustvarjene rezultate na strežnik, rezultati pa se pretvorijo v strojno neodvisno obliko na strežniku in ustvarijo vsebujoče rezultate.
  • Rezultat se pošlje odjemalcu odjemalca, ki se pretvori nazaj v poseben računalniški format, primeren za stranko.
  • Zadnji odjemalec vrne rezultate stranki v postopek.

Opredelitev RMI

Poziv na oddaljene metode (RMI) je podoben RPC, vendar je specifičen za jezik in značilnost jave. Niti je dovoljeno klicati metodo na oddaljenem predmetu. Da bi ohranili preglednost na strani odjemalca in strežnika, izvaja oddaljeni objekt s pomočjo škrbine in okostij. Škrbina je v odjemalcu, za oddaljeni objekt pa deluje kot posrednik.

Ko odjemalec pokliče oddaljeno metodo, pokliče škrbino za oddaljeno metodo. Naročnik odjemalca je odgovoren za ustvarjanje in uporabo paketa, ki vsebuje ime metode in izbrane parametre, za sprejem paketa je odgovoren okostnjak.

Okostje odstrani parametre in prikliče želeni način na strežniku. Okostje združi dano vrednost (ali izjeme) s paketom in jo pošlje odjemalcu. Škrbina ponovno sestavi povratno paket in ga pošlje stranki.

Na Javi se parametri posredujejo metodam in vrnejo v obliki referenc. To bi lahko bilo težavno za RMI storitev, ker niso vsi predmeti oddaljeni. Torej mora določiti, katere bi lahko bile referenčne in katere ne.

Java uporablja postopek, imenovan kot serializacija kjer so predmeti podani kot vrednost. Oddaljeni objekt je lokaliziran z vrednostjo mimo. Predmet lahko pošlje tudi predmet s sklicevanjem skozi oddaljeno sklic na objekt skupaj z URL-jem razreda škrbine. Pass by reference omejuje škrbino za oddaljeni predmet.

  1. RPC podpira paradigme proceduralnega programiranja, torej temelji na C, medtem ko RMI podpira objektno usmerjene programske paradigme in temelji na javi.
  2. Parametri, predani oddaljenim postopkom v RPC, so običajne strukture podatkov. Nasprotno, RMI predmete kot parameter prenese v oddaljeno metodo.
  3. RPC je mogoče obravnavati kot starejšo različico RMI in se uporablja v programskih jezikih, ki podpirajo proceduralno programiranje, uporablja pa lahko le metodo pass by value. V nasprotju s tem je objekt RMI zasnovan na podlagi sodobnega programskega pristopa, ki lahko uporablja prehod ali vrednost. Druga prednost RMI je, da se lahko parametri, ki jih posredujejo referenci, spremenijo.
  4. RPC protokol ustvari več režijskih stroškov kot RMI.
  5. Parametri, posredovani v RPC, morajo biti "v-ven"Kar pomeni, da morata vrednost, poslana postopku in izhodna vrednost, imeti enake vrste podatkov. V nasprotju s tem ni prisiljevanja mimov-ven”Parametrov v RMI.
  6. V RPC sklici ne bi mogli biti verjetni, ker imata dva procesa ločen naslovni prostor, vendar je to mogoče v primeru RMI.

Zaključek

RPC in RMI imata isti namen, vendar se uporabljata v jezikih, ki podpirajo različne programske paradigme, zato imajo različne značilnosti.