Java RMI – Úvod

Reklamy

RMI je zkratka pro Remote Method Invocation. Jedná se o mechanismus, který umožňuje objektu umístěnému v jednom systému (JVM) přístup/vyvolat objekt běžící na jiném JVM.

RMI se používá k vytváření distribuovaných aplikací; poskytuje vzdálenou komunikaci mezi Java programy. Je k dispozici v balíčku java.rmi.

architektura aplikace RMI

v aplikaci RMI píšeme dva programy, serverový program (sídlí na serveru) a klientský program (sídlí na klientovi).

  • uvnitř serverového programu je vytvořen vzdálený objekt a klientovi je zpřístupněn odkaz na tento objekt (pomocí registru).

  • klientský program požaduje vzdálené objekty na serveru a pokusí se vyvolat jeho metody.

následující diagram ukazuje architekturu aplikace RMI.

 Architektura RMI

pojďme nyní diskutovat o složkách této architektury.

  • transportní vrstva-tato vrstva spojuje klienta a server. Spravuje stávající připojení a také nastavuje nová připojení.

  • Stub − pahýl je reprezentace (proxy) vzdáleného objektu v klientovi. Sídlí v klientském systému; funguje jako brána pro klientský program.

  • Skeleton – to je objekt, který je umístěn na straně serveru. stub komunikuje s touto kostrou předat požadavek na vzdáleném objektu.

  • RRL (Remote Reference Layer) – je to vrstva, která spravuje odkazy provedené klientem na vzdálený objekt.

Pracovní RMI Aplikace

následujících bodech shrnout, jak RMI aplikace funguje−

  • Když klient zavolá na vzdálený objekt, je přijat stub, který se nakonec předá tuto žádost k RRL.

  • když RRL na straně klienta obdrží požadavek, vyvolá metodu nazvanou invoke () objektu remoteRef. Předá požadavek RRL na straně serveru.

  • V RRL na straně serveru, předá žádost Kostra (proxy server), který nakonec vyvolá požadovaný objekt na serveru.

  • výsledek je předán až zpět klientovi.

Seřazení a Unmarshalling

vždy, když klient vyvolá metodu, která přijímá parametry na vzdálený objekt, parametry jsou seskupeny do zprávy před odesláním přes síť. Tyto parametry mohou být primitivního typu nebo objektů. V případě primitivního typu jsou parametry sestaveny a k nim je připojena záhlaví. V případě, že parametry jsou objekty, pak jsou serializovány. Tento proces je znám jako řazení.

na straně serveru se rozbalí zabalené parametry a poté se vyvolá požadovaná metoda. Tento proces se nazývá unmarshalling.

RMI Registry

RMI registry je jmenný prostor, na kterém jsou umístěny všechny objekty serveru. Pokaždé, když server vytvoří objekt, zaregistruje tento objekt pomocí RMIregistry (pomocí metod bind () nebo reBind ()). Ty jsou registrovány pomocí jedinečného názvu známého jako bind name.

Chcete-li vyvolat vzdálený objekt, klient potřebuje odkaz na tento objekt. V té době klient načte objekt z registru pomocí svého názvu bind (pomocí metody lookup ()).

následující ilustrace vysvětluje celý proces −

Registru

Cíle RMI

jsou Následující cíle RMI−

  • minimalizovat složitost aplikace.
  • pro zachování bezpečnosti typu.
  • distribuovaný sběr odpadků.
  • minimalizujte rozdíl mezi prací s místními a vzdálenými objekty.
inzeráty



+