Különbség az RPC és az RMI között

Szerző: Laura McKinney
A Teremtés Dátuma: 1 Április 2021
Frissítés Dátuma: 15 Lehet 2024
Anonim
Különbség az RPC és az RMI között - Technológia
Különbség az RPC és az RMI között - Technológia

Tartalom


Az RPC és az RMI azok a mechanizmusok, amelyek lehetővé teszik az ügyfél számára, hogy az eljárást vagy módszert meghívja a szerverről az ügyfél és a szerver közötti kommunikáció létrehozása révén. Az RPC és az RMI közötti általános különbség az, hogy az RPC csak támogatja eljárási programozás mivel az RMI támogatja objektumorientált programozás.

Egy másik jelentős különbség a kettő között az, hogy a távoli eljárások hívására átadott paraméterek állnak rendes adatszerkezetek. Másrészt a távoli módszerhez átadott paraméterek a következőkből állnak tárgyak.

  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Összehasonlító táblázat

Az összehasonlítás alapjaRPCRMI
támaszokEljárási programozás
Objektumorientált programozás
paraméterekA szokásos adatszerkezeteket továbbítják a távoli eljárásokhoz.Az objektumokat távoli módszerekre továbbítják.
HatékonyságAlacsonyabb, mint az RMITöbb mint RPC, és modern programozási megközelítéssel (azaz objektum-orientált paradigmákkal) támogatott
Általános költségekTöbb
Kevésbé összehasonlítva
A bemeneti paraméterek kötelezőek.IgenNem feltétlenül
A programozás egyszerűsége
Magas
alacsony


Az RPC meghatározása

Távoli eljáráshívás (RPC) egy programozási nyelv funkció, amelyet az elosztott számításhoz fejlesztettek ki, és amely a helyi eljárás felhívja. Ez a távoli szolgáltatás leggyakoribb formája, és úgy lett kialakítva, hogy elválaszthassa a hálózaton keresztül csatlakoztatott rendszerek közötti eljáráshívási mechanizmust. Ez hasonló az IPC mechanizmushoz, ahol az operációs rendszer lehetővé teszi a folyamatok számára a megosztott adatok kezelését és egy olyan környezet kezelését, ahol a különféle folyamatok külön rendszereken futnak, és szükségszerűen alapú kommunikációt igényelnek.

Megértjük, hogyan valósul meg az RPC az adott lépésekkel:

  • Az ügyfélfolyamat paraméterekkel meghívja az ügyfélcsonkot, és a végrehajtása a hívás befejezéséig fel van függesztve.
  • A paramétereket ezután géptől függetlenül alakítják át az ügyfélcsonkon keresztül történő osztályozással. Ezután elkészítjük azokat, amelyek tartalmazzák a paraméterek ábrázolását.
  • A webhely azonosságának megállapításához az ügyfélcsonk kapcsolatot létesít a névkiszolgálóval, amelyen a távoli eljárás létezik.
  • A blokkoló protokoll használatával az ügyfél a helyhez távolítja el a távoli eljáráshívást. Ez a lépés megállítja az ügyfél csonkját, amíg nem kap választ.


  • A szerverhely fogadja az elküldött az ügyfél oldaláról és konvertálja gépespecifikus formátumba.
  • Most a szerver csonk végrehajtja a hívást a kiszolgáló eljárásán a paraméterekkel együtt, és a kiszolgáló csonkját az eljárás befejezéséig megszakítják.
  • A szerver eljárás visszaadja a generált eredményeket a kiszolgáló csonkjára, és az eredményeket konvertálják gépről független formátumba a kiszolgáló csonkján, és létrehozzák az eredményeket tartalmazó értéket.
  • Az eredményt elküldjük az ügyfélcsonknak, amelyet visszaváltunk az ügyfélcsonknak megfelelő gépspecifikus formátumra.
  • Végül az ügyfél a stub visszaadja az eredményeket az ügyfél folyamatához.

Az RMI meghatározása

Távoli módszer meghívása (RMI) hasonló az RPC-hez, de nyelvispecifikus és a java egyik jellemzője. Szálak megengedhetik a metódus meghívását egy távoli objektumon. Az ügyfél- és a kiszolgálóoldal átláthatóságának megőrzése érdekében a távoli objektumot csontokkal és csontvázakkal valósítja meg. A csonk az ügyféllel rendelkezik, és a távoli objektum esetében proxyként viselkedik.

Amikor az ügyfél távoli módszert hív, akkor a távoli módszer csonkját hívják. Az ügyfélcsonk felelõs egy módszer nevét és a rendezett paramétereket tartalmazó csomag létrehozásáért és összerakásáért, a csontváz pedig a csomag fogadásáért felelõs.

A váz feloszlatja a paramétereket, és meghívja a kívánt módszert a kiszolgálón. A csontváz eldönti a megadott értéket (vagy kivételeket) a csomaggal, és azt az ügyfélcsonkhoz továbbítja. A csonk újra összeállítja a visszatérő csomagot, és elküldi azt az ügyfélnek.

A Java-ban a paramétereket átadják a metódusoknak, és referencia formában adják vissza. Ez zavaró lehet az RMI szolgáltatás számára, mivel nem minden objektum valószínűleg távoli módszer. Tehát meg kell határoznia, melyeket lehet referenciaként átadni, és melyeket nem.

A Java a sorszámozás ahol az objektumok értékként kerülnek átadásra. A távoli objektum érték szerint történik. Ezenkívül referenciaként is átadhat egy objektumot azáltal, hogy távoli referenciát ad át az objektumra, a csonka osztály URL-jével együtt. A referenciaként történő átvitel korlátozza a távoli objektum csonkját.

  1. Az RPC támogatja az eljárási programozási paradigmákat, tehát C alapú, míg az RMI támogatja az objektum-orientált programozási paradigmokat, és Java alapú.
  2. Az RPC-ben a távoli eljárásokhoz átadott paraméterek a szokásos adatszerkezetek. Éppen ellenkezőleg, az RMI átadja az objektumokat paraméterként a távoli módszerhez.
  3. Az RPC az RMI régebbi verziójának tekinthető, és a programozási nyelveken használják, amelyek támogatják az eljárási programozást, és csak az átadási érték módszerét használhatják. Ezzel szemben az RMI eszközt modern programozási megközelítés alapján fejlesztették ki, amely értékben vagy referencián alapulhat. Az RMI másik előnye, hogy a referenciaként átadott paraméterek megváltoztathatók.
  4. Az RPC protokoll több általános költséget generál, mint az RMI.
  5. Az RPC-ben átadott paramétereknek „be ki”, Ami azt jelenti, hogy az eljárásnak átadott értéknek és a kimeneti értéknek azonos adattípusokkal kell rendelkeznie. Ezzel szemben nincs kényszer az átadásnakbe ki”Paraméterek az RMI-ben.
  6. Az RPC-ben a hivatkozások nem lehetnek valószínűek, mivel a két folyamatnak külön címtere van, de az RMI esetén lehetséges.

Következtetés

Az RPC és az RMI egyaránt ugyanazt a célt szolgálja, de a nyelveken különféle programozási paradigmákat támogatnak, ezért megkülönböztetett jellemzőik vannak.