Co je vzdálená metoda vyvolání v Javě?



Tento článek o RMI v Javě vám řekne, jak implementovat rozhraní pro vzdálené vyvolání metody napříč klientem a serverem, spolu s praktickým příkladem.

Vzdálené vyvolání metody je způsob, který programátor využívá a jeho vývojové prostředí na dálku. Je to všechno o tom, jak předměty na různých počítačích interagují v distribuované síti. V tomto článku o Vzdálené vyvolání metody v Javě vám povím, jak vytvořit aplikaci RMI napříč klientem a serverem.

V tomto článku se věnujeme níže uvedeným tématům:





Začněme!

Co je RMI v Javě?

The RMI (Remote Method Invocation) je API, které poskytuje mechanismus pro vytvoření distribuované aplikace v . RMI umožňuje objektu vyvolat metody na objektu běžícím v jiném . Vzdálená metoda vyvolání poskytuje vzdálenou komunikaci mezi aplikacemi pomocí dvou objektů pahýl a kostra .



Pochopení útržku a kostry

Objekt pahýl na klientském počítači vytvoří informační blok a odešle tyto informace na server. Blok se skládá z:

  • Identifikátor vzdáleného objektu, který má být použit
  • Název metody, který má být vyvolán
  • Parametry ke vzdálenému JVM

Stub and Skeleton - RMI v Javě - EdurekaKostra objektu

rámec řízený klíčovými slovy v selenu

Kostrový objekt předává požadavek z objektu se zakázaným inzerováním do vzdáleného objektu. Provádí následující úkoly:



  • Volá požadovanou metodu na reálném objektu přítomném na serveru.

  • Předává parametry přijaté z objektu se zakázaným inzerováním do metody.

Díky tomu se přesuneme dále a uvidíme, jak vytvořit aplikaci RMI

Kroky k vytvoření aplikace RMI

Níže uvedené kroky vám pomohou vytvořit aplikaci RMI:

  1. Definování dálkového ovladače rozhraní
  2. Implementace vzdáleného rozhraní
  3. Vytvoření útržku a kostry předměty z implementační třídy pomocí RMIC (RMI complier)
  4. Spusťte registr RMI
  5. Vytvořte a spusťte aplikační program serveru
  6. Vytvořte a spusťte klientský aplikační program

Nyní se podívejme na podrobnosti těchto kroků.

Krok 1: Definování vzdáleného rozhraní

První věc, kterou musíme udělat, je vytvořit rozhraní . To poskytne popis metod, které lze vyvolat vzdálenými klienty. Toto rozhraní by mělo rozšířit vzdálené rozhraní a prototyp metody v rámci rozhraní by měl vyvolat RemoteException.

// Vytvoření importu vyhledávacího rozhraní java.rmi. * Veřejné rozhraní Search extends Remote {// Deklarování prototypu metody public String Query (String search) vyvolá RemoteException}

Krok 2: Implementace vzdáleného rozhraní

Dalším krokem je implementace vzdáleného rozhraní. Aby bylo možné implementovat vzdálené rozhraní, měla by se třída rozšířit na UnicastRemoteObject třída balíčku java.rmi . Také výchozí stavitel je třeba vytvořit hodit java.rmi.RemoteException od nadřazeného konstruktoru.

// Program Java pro implementaci vyhledávacího rozhraní import java.rmi. * Import java.rmi.server. * Veřejná třída SearchQuery rozšiřuje UnicastRemoteObject implementuje Search {// Výchozí konstruktor, který vyvolá RemoteException ze svého nadřazeného konstruktoru SearchQuery () hodí RemoteException {super ( )} // Implementace veřejného rozhraní dotazu String query (String search) vrhá RemoteException {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}

Krok 3: Vytváření objektů Stub a Skeleton z třídy implementace pomocí rmic

Nástroj RMIC se používá k vyvolání kompilátoru RMI, který vytváří objekty Stub a Skeleton. Jeho prototyp je název třídy RMIC.

KROK 4: Spusťte RMIregistry
Službu registru musíte spustit vydáním příkazu na příkazovém řádku spustit RMIregistry

Krok 5: Vytvoření a spuštění aplikačního programu serveru
Dalším krokem je vytvoření aplikačního programu serveru a jeho provedení na samostatném příkazovém řádku.

  • Program serveru používá createRegistry metoda třídy LocateRegistry k vytvoření rmiregistry v rámci serveru JVM s číslem portu předaným jako argument.

  • Metoda rebind třídy Naming se používá k vytvoření vazby vzdáleného objektu na nový název.

// program pro serverovou aplikaci import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Create an object of the interface implementation class Search obj = new SearchQuery () // rmiregistry within the server JVM with // port number 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Spojí vzdálený objekt s názvem // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Výjimka ae) {System.out.println (ae)}}}

Krok 6: Vytvořte a spusťte program klientské aplikace
Posledním krokem je vytvoření programu klientské aplikace a jeho spuštění na samostatném příkazovém řádku. Metoda vyhledávání třídy Naming se používá k získání odkazu na objekt Stub

Výše uvedený program klienta a serveru se provádí na stejném počítači, a proto se používá localhost. Aby bylo možné přistupovat ke vzdálenému objektu z jiného počítače, je třeba localhost nahradit IP adresou, kde je vzdálený objekt přítomen.

Tím se dostáváme na konec RMI článek. Doufám, že jste to shledali informativními a pomohli vám pochopit základy.

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být Jáva Vývojář. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými rámci Java, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „RMI v Javě“ a my se vám ozveme co nejdříve.