Ero RPC: n ja RMI: n välillä

Kirjoittaja: Laura McKinney
Luomispäivä: 1 Huhtikuu 2021
Päivityspäivä: 13 Saattaa 2024
Anonim
Ero RPC: n ja RMI: n välillä - Tekniikka
Ero RPC: n ja RMI: n välillä - Tekniikka

Sisältö


RPC ja RMI ovat mekanismit, joiden avulla asiakas voi kutsua proseduurin tai menetelmän palvelimelta muodostamalla yhteyden asiakkaan ja palvelimen välillä. RPC: n ja RMI: n välinen yleinen ero on, että RPC tukee vain proseduuriohjelmointi kun taas RMI tukee olio-ohjelmointi.

Toinen merkittävä ero näiden kahden välillä on, että etäproseduuripuheluun siirretyt parametrit koostuvat tavalliset tietorakenteet. Toisaalta etämenetelmään siirretyt parametrit koostuvat esineet.

  1. Vertailutaulukko
  2. Määritelmä
  3. Keskeiset erot
  4. johtopäätös

Vertailutaulukko

Vertailun perusteetRPCRMI
tukeeMenettelyohjelmointi
Olio-ohjelmointi
parametritTavalliset tietorakenteet siirretään etäproseduureihin.Objektit siirretään etämenetelmiin.
tehokkuusMatalampi kuin RMIEnemmän kuin RPC ja tuettu nykyaikaisella ohjelmointimenetelmällä (ts. Oliokeskeiset paradigmat)
kiinteät kustannuksetLisää
Vähemmän verrattain
In-out-parametrit ovat pakollisia.JooEi välttämättä
Ohjelmoinnin helppous
Korkea
matala


Määritelmä RPC

Etämenettelypuhelu (RPC) on ohjelmointikielen ominaisuus, joka on suunniteltu hajautetulle laskennalle ja perustuu paikallinen menettely puhelut. Se on etäpalvelun yleisimpiä muotoja, ja se oli suunniteltu tapaa abstraktiksi prosessipuhelumekanismista, jota käytetään verkon kautta kytkettyjen järjestelmien välillä. Se on samanlainen kuin IPC-mekanismi, jossa käyttöjärjestelmä sallii prosessien hallita jaettua tietoa ja käsitellä ympäristöä, jossa eri prosessit suorittavat erillisiä järjestelmiä ja vaativat välttämättä pohjaista viestintää.

Ymmärretään miten RPC toteutetaan annettujen vaiheiden avulla:

  • Asiakasprosessi soittaa asiakkaan tynkälle parametreilla, ja sen suorittaminen keskeytetään puhelun loppuun saakka.
  • Parametrit käännetään sitten koneesta riippumattomaan muotoon järjestämällä asiakkaan tynkä. Sitten valmistellaan ne, jotka sisältävät parametrien esityksen.
  • Löytääksesi sivuston identiteetin, asiakastyökalu kommunikoi nimipalvelimen kanssa, jossa etäproseduuri on olemassa.
  • Käyttämällä estoprotokollaa asiakas vie sivustoon, jossa on etäproseduuripuhelu. Tämä vaihe pysäyttää asiakkaan tynkä, kunnes se saa vastauksen.


  • Palvelinasivusto vastaanottaa lähetetyt asiakaspuolelta ja muuntaa ne konekohtaiseen muotoon.
  • Nyt palvelimen tynkä suorittaa puhelun palvelimen proseduurilla parametrien kanssa, ja palvelimen tynkä keskeytetään, kunnes toimenpide saadaan päätökseen.
  • Palvelinproseduuri palauttaa luodut tulokset palvelimen tynkälle, ja tulokset muunnetaan koneellisesti riippumattomaan muotoon palvelimen tynkällä ja luodaan tulokset sisältävä.
  • Tulos lähetetään asiakkaan tynkälle, joka muunnetaan takaisin asiakaskohtaisesti sopivaan konekohtaiseen muotoon.
  • Viimeinkin tynkä palauttaa tulokset asiakasprosessiin.

Määritelmä RMI

Etämenetelmäkutsuminen (RMI) on samanlainen kuin RPC, mutta on kielikohtaiset ja javan ominaisuudet. Lanka on sallittu kutsua menetelmää etäobjektiin. Ylläpitääksesi läpinäkyvyyttä asiakas- ja palvelinpuolella, se toteuttaa etäobjektin tynkillä ja luurankoilla. Tynkä sijaitsee asiakkaan kanssa ja etäobjektin suhteen se toimii välityspalvelimena.

Kun asiakas soittaa etämenetelmälle, kutsutaan etämenetelmän tynkä. Asiakkaan tynkä on vastuussa paketin luomisesta ja yhdistämisestä, joka sisältää menetelmän nimen ja marshalled-parametrit, ja luuranko vastaa paketin vastaanottamisesta.

Luuranko hajottaa parametrit ja kutsuu halutun menetelmän palvelimelle. Luuranko marskee annetun arvon (tai poikkeukset) paketin kanssa ja vie sen asiakkaan tynkälle. Tynkä kokoaa palautuspaketin uudelleen ja toimittaa sen asiakkaalle.

Java-ohjelmassa parametrit välitetään menetelmille ja palautetaan referenssimuodossa. Tämä voi olla hankala RMI-palvelulle, koska kaikki kohteet eivät ole mahdollisesti etämenetelmiä. Joten sen on määritettävä, mikä voitaisiin siirtää viitteeksi ja mitä ei.

Java käyttää prosessia, jonka nimi on serialization missä esineet välitetään arvona. Etäobjekti lokalisoidaan ohitusarvon perusteella. Se voi myös siirtää objektin viittaamalla kuljettamalla etäviittauksen objektiin yhdessä tynkoryhmän URL-osoitteen kanssa. Ohitus viittauksella rajoittaa etäobjektin tynkä.

  1. RPC tukee proseduuriohjelmointiparadigeeja, joten se perustuu C: hen, kun taas RMI tukee olio-ohjelmointiparadiodeja ja on Java-pohjainen.
  2. RPC: n etäproseduureille siirretyt parametrit ovat tavallisia tietorakenteita. Päinvastoin, RMI siirtää objektit parametrina etämenetelmään.
  3. RPC: tä voidaan pitää RMI: n vanhempana versiona, ja sitä käytetään ohjelmointikielissä, jotka tukevat proseduuriohjelmointia, ja se voi käyttää vain ohitusarvon menetelmää. Toisin kuin RMI, on suunniteltu nykyaikaisen ohjelmointimenetelmän pohjalta, joka voisi käyttää arvoa tai viittausta. Toinen RMI: n etu on, että vertailun kautta kulkevia parametreja voidaan muuttaa.
  4. RPC-protokolla tuottaa enemmän yleisiä kustannuksia kuin RMI.
  5. RPC: ssä kulkevien parametrien on oltava “sisään ulos”Mikä tarkoittaa, että proseduurille siirretyn arvon ja lähtöarvon on oltava samat tietotyypit. Sitä vastoin ei ole pakko ohittaa ”sisään ulos”Parametrit RMI: ssä.
  6. RPC: ssä referenssit eivät voisi olla todennäköisiä, koska kahdella prosessilla on erillinen osoitetila, mutta se on mahdollista RMI: n tapauksessa.

johtopäätös

Sekä RPC että RMI palvelevat samaa tarkoitusta, mutta niitä käytetään kielillä tukemaan erilaisia ​​ohjelmointiparadigmeja, joten niillä on erilliset piirteet.