Invocação de Método Remoto é uma maneira que um programador faz uso de e seu ambiente de desenvolvimento remotamente. É tudo sobre como o objetos em diferentes computadores interagem em uma rede distribuída. Neste artigo sobre Chamada de Método Remoto em Java, direi como criar um aplicativo RMI entre Cliente e Servidor.
função de divisão no exemplo java
Os tópicos abaixo são abordados neste artigo:
Vamos começar!
O que é RMI em Java?
o RMI (Remote Method Invocation) é uma API que fornece um mecanismo para criar um aplicativo distribuído em . O RMI permite que um objeto invoque métodos em um objeto em execução em outro . A Invocação de Método Remoto fornece comunicação remota entre os aplicativos usando dois objetos toco e esqueleto .
Noções básicas sobre stub e esqueleto
O objeto stub na máquina cliente constrói um bloco de informações e envia essas informações ao servidor. O bloco consiste em:
- Um identificador do objeto remoto a ser usado
- Nome do método que deve ser invocado
- Parâmetros para o JVM remoto
Objeto de esqueleto
O objeto esqueleto passa a solicitação do objeto stub para o objeto remoto. Ele executa as seguintes tarefas:
Ele chama o método desejado no objeto real presente no servidor.
Ele encaminha os parâmetros recebidos do objeto stub para o método.
Com isso, vamos avançar e ver como criar um aplicativo RMI
Etapas para criar o aplicativo RMI
As etapas abaixo ajudam você a criar o aplicativo RMI:
- Definindo um controle remoto interface
- Implementando a interface remota
- Criação de stub e esqueleto objetos da classe de implementação usando RMIC (RMI complier)
- Inicie o registro RMI
- Crie e execute o programa de aplicação do servidor
- Crie e execute o programa aplicativo cliente
Agora, vamos entrar em detalhes sobre essas etapas.
Etapa 1: Definindo uma interface remota
A primeira coisa que temos que fazer é criar um interface . Isso fornecerá uma descrição dos métodos que podem ser chamados por clientes remotos. Essa interface deve estender a interface Remote e o protótipo do método dentro da interface deve lançar a RemoteException.
// Criando uma interface de pesquisa import java.rmi. * Public interface Search extends Remote {// Declarando o protótipo do método public String Query (String search) throws RemoteException}
Etapa 2: Implementação da interface remota
A próxima etapa é implementar a interface remota. A fim de implementar a interface remota, a classe deve se estender ao Classe UnicastRemoteObject do pacote java.rmi . Além disso, um padrão construtor precisa ser criado para lançar o java.rmi.RemoteException de seu construtor pai.
como sair em java
// Programa Java para implementar a interface de Pesquisa import java.rmi. * Import java.rmi.server. * Public class SearchQuery estende UnicastRemoteObject implementa Search {// Construtor padrão para lançar RemoteException de seu construtor pai SearchQuery () throws RemoteException {super ( )} // Implementação da interface de consulta pública String query (String search) lança RemoteException {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}
Etapa 3: Criando objetos Stub e Skeleton a partir da classe de implementação usando rmic
A ferramenta RMIC é usada para invocar o compilador RMI que cria os objetos Stub e Skeleton. Seu protótipo é o nome da classe RMIC.
PASSO 4: Iniciar o RMIregistry
Você precisa iniciar o serviço de registro emitindo o comando no prompt de comando start RMIregistry
diferença entre chef e fantoche
ETAPA 5: Crie e execute o programa de aplicativo do servidor
A próxima etapa é criar o programa de aplicativo do servidor e executá-lo em um prompt de comando separado.
O programa do servidor usa o createRegistry método da classe LocateRegistry para criar rmiregistry na JVM do servidor com o número da porta passado como um argumento.
O método rebind da classe Naming é usado para ligar o objeto remoto ao novo nome.
// programa para aplicativo de servidor import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {try {// Criar um objeto da classe de implementação de interface Search obj = new SearchQuery () // rmiregistry dentro da JVM do servidor com // número da porta 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Vincula o objeto remoto pelo nome // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Exception ae) {System.out.println (ae)}}}
Etapa 6: Crie e execute o programa de aplicativo do cliente
A última etapa é criar o programa Aplicativo Cliente e executá-lo em um prompt de comando separado. O método lookup da classe Naming é usado para obter a referência do objeto Stub
O programa cliente e servidor acima é executado na mesma máquina e é por isso que o localhost está sendo usado. Para acessar o objeto remoto de outra máquina, localhost deve ser substituído pelo endereço IP onde o objeto remoto está presente.
Então, isso nos leva ao final do RMI em artigo. Espero que você tenha achado informativo e tenha ajudado a compreender os fundamentos.
Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em todas as etapas de sua jornada, para se tornar um além dessas perguntas da entrevista java, nós criamos um currículo que é projetado para estudantes e profissionais que desejam ser um Java Desenvolvedor. O curso foi desenvolvido para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java, como Hibernate e Spring.
Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo “RMI em Java” e entraremos em contato com você o mais rápido possível.