Az RMI építészet áttekintése

Az elosztott alkalmazás-architektúrában mindig szükség van két különféle alkalmazás közötti kommunikációra. Java alapú alkalmazásokban az egyik alkalmazás egy RMI architektúrának nevezett mechanizmus segítségével kommunikál egy másik távoli / más alkalmazással, ahol máshol fut.

Az RMI a távoli módszerhívást jelenti. Ez egy java által biztosított API, amely lehetővé teszi az egyik JVM-ben (Java virtuális gépben) lakó objektum számára a másik JVM-en futó objektum elérését vagy meghívását. A másik JVM ugyanazon a gépen vagy távoli gépen lehet. Ez egy érdekes szolgáltatás, mert a valósidejű alkalmazásokban a Java alkalmazások nagyon egyszerűvé teszik a közvetlen kommunikációt egymással, külső kommunikációs mechanizmus nélkül. Ezenkívül mindig szükség van az alkalmazások közötti biztonságos kommunikációra az elosztott alkalmazás-architektúrán alapulva.

RMI Design

Mielőtt részletes építkezésbe megyünk, megértjük az RMI építészet alapvető terveit.

  • Az RMI API a java.rmi csomagban található. Bemutatunk két fogalmat az RMI tervezési architektúrájának megértéséhez. Először az ügyfél; a JVM, amely távoli objektumot hív, a második szerver; a távoli objektumot tartalmazó JVM. Tehát az ügyfél felhívja a szervert, ebben az esetben az objektumot, hogy meghívja a módszert.
  • A szerver ezután visszaadja az objektum hivatkozását az ügyféllel. A fogás itt mind az objektum, azaz a helyi és a távoli helyi objektumként jelenik meg a szerveren. Nem lesz különbség a kettő között. A két objektum módszerének szintaxisa is azonos. Ezért a JVM szerver úgy viselkedik, mint a normál JVM, anélkül, hogy bármilyen objektumot tudna, legyen az helyi vagy távoli.
  • Ugyanaz az objektum lehet szerver és ügyfél is. Megkapjuk a távoli objektumok referenciáját, és úgy használjuk, mintha egy helyi objektum lenne. Az RMI infrastruktúra felelős a távoli objektum megtalálásáért, a módszerhívás elhallgatásáért és a távoli kérés távoli feldolgozásáért. Az ügyfél csak akkor hív fel módszereket az objektumra, ha referenciát szerez egy távoli objektumra.

RMI építészet

Az alábbiakban egy egyszerű módon mutatjuk be az RMI architektúráját. Az interneten ugyanazon architektúra különféle formáit találja meg, de van egy egyszerű, amely jobban magyarázza azt.

Kezdjük azzal, hogy pontokat tervezési szempontból összekapcsolunk egy építészeti diagrammal.

Az ügyfélalkalmazás és a kiszolgálóalkalmazás az ügyfélgép és a kiszolgálógép megfelelő JVM-jei. Az RMI alkalmazásban két programot írunk; az ügyfélprogram, amely az ügyfélen található, és a kiszolgálógépen található kiszolgálóprogram.

Alkalmazási réteg:

Ez a réteg az aktuális rendszerek, azaz az ügyfél és a szerver, amelyek részt vesznek a kommunikációban. Az ügyféloldali Java program kommunikál a szerveroldalon található Java programmal.

stub:

A design intro-tól kezdve ügyféllel rendelkezünk; Az RMI építészetben Stub néven ismert. Ez egy objektum, amely az ügyfélgépen található, és proxyként működik a távoli objektum számára. Olyan, mint egy átjáró az ügyfélprogramhoz.

A csonkkal megegyező módszerek vannak, mint a távoli objektumon. Amikor az ügyfél felhívja a csonk objektumot, a csonk továbbítja ezt a kérést egy távoli objektumhoz (Skeleton) az RMI infrastruktúrán keresztül, amelyet azután a kiszolgálón hajtanak végre.

Stub a következő eseményeket hajtja végre: -

  1. Kapcsolatot kezdeményez a távoli JVM-mel,
  2. Írja és továbbítja (marshals) paramétereket a távoli JVM-hez,
  3. Várja az eredményt,
  4. Beolvassa (Unmarshalls) a visszaadott eredményt,
  5. A kapott eredményt továbbítsa a hívónak.

Csontváz:

A kiszolgálógépen található szerverobjektum Skeleton néven ismert. A Stub egy köztes Skeleton objektum segítségével kommunikál a kiszolgálóalkalmazással.

A vázas objektum felelőssége, hogy paramétereket küldjön a módszer megvalósításához, és visszatérési értékeket küldjön vissza az ügyfélnek.

Csontváz Az alábbi eseményeket hajtja végre: -

  1. Beolvassa az ügyfél által átadott paramétert,
  2. Meghívja a módszert a tényleges távoli objektumra,
  3. Az eredmény továbbítása / továbbítása a hívónak.

Stub / Csontváz réteg:

  • A Stub / Skeleton réteg felelős az ügyfél által kezdeményezett hívások lehallgatásáért és ezeknek a hívásoknak a távoli objektumba történő átirányításáért. Ezt a réteget proxy rétegnek is nevezik. A Stub és a Skeleton a proxyk az ügyfél és a szerver számára. A Stub és a Skeleton objektumok olyanok, mint egy interfész egy alkalmazás és az RMI rendszer többi része között.
  • Ennek a rétegnek az a célja, hogy az objektum sorosítása révén adatokat továbbítson a távoli referencia réteghez. Az adat / objektum bájtfolyammá történő konvertálásának folyamatát Marshalling néven, a fordítottot Unmarshalling néven hívják. Az összevonást akkor végezzük, amikor az objektumot kérjük a kiszolgálótól, és a lebontást akkor hajtjuk végre, amikor az adatok / objektum referencia érkezik a kiszolgálótól.

Távoli referencia réteg:

  • A proxy réteget az RMI mechanizmushoz csatlakoztatják a Remote Reference Layer segítségével. Ez a réteg felelős az ügyfelek és a kiszolgálók közötti kommunikációért és az objektumok átviteléért. Az RMI kapcsolat hívó szemantikáját ez a réteg határozza meg és támogatja.
  • A távoli referenciaréteg feladata a munkamenet karbantartása a módszerhívás alatt. Vagyis kezeli az ügyfél által a távoli kiszolgáló objektumra tett hivatkozásokat. Ez a réteg a duplikált objektumok kezeléséért is felelős.

Szállítási réteg:

A szállító réteg felelős a két gép közötti kommunikáció létrehozásáért. Ez a réteg a csatlakozáshoz szabványos TCP / IP protokollt használ. Az adatok tényleges szállítását ezen a rétegen keresztül hajtják végre. Ez a réteg a Remote Reference Layer része.

Következtetés

  • A Remote Method Invocation (RMI) egy nagyon hasznos API, amelyet a JAVA biztosít, amely elősegíti a kommunikációt két különböző JVM között. Lehetővé teszi egy objektumnak egy módszer meghívását egy másik címtérben lévő objektumon.
  • Biztonságos módot kínál az alkalmazások közötti kommunikációhoz. Ezt a funkcionalitást a Stub (ügyfélhívó objektum) és a Skeleton (a kiszolgálón lakó távoli objektum) fogalmakkal érinti el.
  • Az RMI-t elosztott alkalmazások készítésére használják. Megőrzi a biztonság fajtáját. Az RMI architektúra minimalizálja az alkalmazás bonyolultságát egy elosztott architektúrában.

Ajánlott cikkek

Ez egy útmutató az RMI építészetéhez. Itt részletesen tárgyaljuk az RMI tervezését és az architektúrát egy megfelelő blokkdiagrammal. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Data Warehouse Architecture
  2. Mi a TCP protokoll?
  3. Mi az asztali szoftver?
  4. CCNA interjúkérdések

Kategória: