Remote Method Invocation

Quando temos uma aplicação distribuída, onde cada parte do sistema está em locais (maquinas) diferentes, é necessário fazer a comunicação entre as partes, e na grande maioria é necessário trafegar informações, chamar remotamente o método de uma classe Java pela rede, enviar e receber objetos Java, etc.

Para fazermos essa comunicação entre sistemas pela rede, podemos utilizar o Remote Method Invocation (RMI) que implementa toda a camada de rede necessária para fazer uma chamada remota a um método.

Quando trabalhamos com EJB, toda parte de comunicação entre os componentes EJB é feito automaticamente pelo container EJB, utilizando RMI.

A aplicação cliente conhece apenas a interface do componente EJB, através do JNDI é solicitado ao servidor um objeto que representa o componente EJB, esse objeto criado na verdade é um objeto que simula o componente solicitado mas possui a lógica para fazer a chamada remota a outro objeto pela rede de computadores, é criado um objeto desse tipo no lado do servidor (chamado Skeleton) e outro no lado cliente (chamado Stub).

A chamada RMI funciona da seguinte forma:

  • O objeto da aplicação cliente chama o método do componente a partir do objeto Stub;
  • O Stub por sua vez irá chamar o método do objeto Skeleton que fica no lado do servidor;
  • O Skeleton chama o objeto real do componente no servidor.

RMI

results matching ""

    No results matching ""