Co to jest zdalne wywołanie metod w Javie?



W tym artykule na temat RMI w Javie dowiesz się, jak zaimplementować interfejs zdalnego wywoływania metod na kliencie i serwerze, wraz z praktycznym przykładem.

Zdalne wywołanie metody jest sposobem, z którego korzysta programista i jego środowisko programistyczne zdalnie. Chodzi o to, jak obiekty na różnych komputerach współdziałają w sieci rozproszonej. W tym artykule na temat zdalnego wywoływania metod w Javie, powiem ci, jak utworzyć aplikację RMI na kliencie i serwerze.

Poniższe tematy są omówione w tym artykule:





jak dodać java do ścieżki

Zacznijmy!

Co to jest RMI w Javie?

Plik RMI (Remote Method Invocation) to interfejs API, który zapewnia mechanizm tworzenia rozproszonej aplikacji w . RMI umożliwia obiektowi wywoływanie metod na obiekcie działającym w innym . Zdalne wywołanie metody zapewnia zdalną komunikację między aplikacjami przy użyciu dwóch obiektów kikut i szkielet .



Zrozumienie Stub and Skeleton

Obiekt pośredniczący na komputerze klienta tworzy blok informacji i wysyła te informacje do serwera. Blok składa się z:

  • Identyfikator zdalnego obiektu, który ma zostać użyty
  • Nazwa metody, która ma zostać wywołana
  • Parametry do zdalnej maszyny JVM

Stub and Skeleton - RMI w Javie - EdurekaSzkielet obiektu

Obiekt szkieletowy przekazuje żądanie z obiektu pośredniczącego do obiektu zdalnego. Wykonuje następujące zadania:



  • Wywołuje żądaną metodę na rzeczywistym obiekcie obecnym na serwerze.

  • Przekazuje parametry otrzymane z obiektu stub do metody.

Dzięki temu przejdźmy dalej i zobaczmy, jak utworzyć aplikację RMI

Kroki tworzenia aplikacji RMI

Poniższe kroki pomogą Ci stworzyć aplikację RMI:

  1. Definiowanie pilota berło
  2. Implementacja zdalnego interfejsu
  3. Tworzenie kodu i szkieletu obiekty z klasy implementacji przy użyciu RMIC (Complier RMI)
  4. Uruchom rejestr RMI
  5. Utwórz i uruchom program aplikacji serwera
  6. Utwórz i uruchom aplikację kliencką

Przejdźmy teraz do szczegółów tych kroków.

Krok 1: Definiowanie zdalnego interfejsu

Pierwszą rzeczą, którą musimy zrobić, jest utworzenie pliku berło . Zapewni to opis metod, które mogą być wywoływane przez klientów zdalnych. Ten interfejs powinien rozszerzyć interfejs Remote, a prototyp metody w interfejsie powinien zgłosić RemoteException.

// Tworzenie interfejsu wyszukiwania import java.rmi. * Public interface Search extends Remote {// Deklarowanie prototypu metody public String Query (wyszukiwanie w ciągu znaków) rzuca RemoteException}

Krok 2: Implementacja zdalnego interfejsu

Następnym krokiem jest zaimplementowanie zdalnego interfejsu. Aby zaimplementować zdalny interfejs, klasa powinna obejmować rozszerzenie Klasa UnicastRemoteObject pakietu java.rmi . Również domyślny budowniczy musi zostać utworzony, aby wyrzucić plik java.rmi.RemoteException z konstruktora nadrzędnego.

// Program Java do implementacji interfejsu wyszukiwania import java.rmi. * Import java.rmi.server. * Publiczna klasa SearchQuery rozszerza UnicastRemoteObject implementuje Search {// Domyślny konstruktor, który wyrzuca RemoteException ze swojego nadrzędnego konstruktora SearchQuery () rzuca RemoteException {super ( )} // Implementacja interfejsu zapytań public String query (String search) throws RemoteException {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}

Krok 3: Tworzenie obiektów Stub i Skeleton z klasy implementacyjnej przy użyciu rmic

Narzędzie RMIC służy do wywoływania kompilatora RMI, który tworzy obiekty Stub i Skeleton. Jego prototypem jest nazwa klasy RMIC.

KROK 4: Uruchom rejestrację RMI
Musisz uruchomić usługę rejestru, wydając polecenie w wierszu poleceń start RMIregistry

KROK 5: Utwórz i uruchom program aplikacji serwera
Następnym krokiem jest utworzenie programu aplikacji serwera i wykonanie go w osobnym wierszu polecenia.

  • Program serwera używa rozszerzenia createRegistry metody klasy LocateRegistry, aby utworzyć rmiregistry w wirtualnej maszynie Java serwera z numerem portu przekazanym jako argument.

  • Metoda rebind klasy Naming służy do powiązania zdalnego obiektu z nową nazwą.

// program dla aplikacji serwerowej import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Utwórz obiekt implementacji interfejsu class Search obj = new SearchQuery () // rmiregistry w serwerze JVM z // numerem portu 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Wiąże zdalny obiekt według nazwy // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (wyjątek ae) {System.out.println (ae)}}}

Krok 6: Utwórz i uruchom aplikację kliencką
Ostatnim krokiem jest utworzenie programu aplikacji klienckiej i wykonanie go w osobnym wierszu polecenia. Metoda wyszukiwania klasy Naming służy do pobrania odwołania do obiektu Stub

Powyższy program klienta i serwera jest wykonywany na tym samym komputerze i dlatego używany jest localhost. Aby uzyskać dostęp do zdalnego obiektu z innej maszyny, localhost należy zastąpić adresem IP, na którym znajduje się zdalny obiekt.

To prowadzi nas do końca RMI w artykuł. Mam nadzieję, że uznałeś to za przydatne i pomogło ci w zrozumieniu podstaw.

Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby zostać oprócz pytań do rozmowy kwalifikacyjnej w języku Java, opracowaliśmy program nauczania, który jest przeznaczony dla studentów i profesjonalistów, którzy chcą być Jawa Deweloper. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego artykułu „RMI w Javie” a my skontaktujemy się z Tobą tak szybko, jak to możliwe.