Definição – O que significa Remote Method Invocation (RMI)?
A invocação de método remoto (RMI) é uma tecnologia de objeto distribuído desenvolvida pela Sun para a linguagem de programação Java. Ele está disponível como parte da interface de programação de aplicativo (API) principal Java, onde as interfaces de objeto são definidas como interfaces Java e usam serialização de objeto.
O RMI permite que os métodos Java se refiram a um objeto remoto e invoquem métodos do objeto remoto. O objeto remoto pode residir em outra máquina virtual Java, no mesmo host ou em hosts completamente diferentes na rede. O RMI empacota e descompacta argumentos de método por meio da serialização de objetos e oferece suporte para download dinâmico de arquivos de classe em redes.
Definirtec explica a Invocação de Método Remoto (RMI)
A invocação de método remoto foi introduzida pela primeira vez no Java Development Kit (JDK) 1.1 e é amplamente usada na computação de objetos distribuídos. Ele executa a equivalência orientada a objetos de chamadas de procedimento remoto. As funcionalidades RMI vêm em um pacote java.rmi e fornecem uma capacidade de objeto distribuído para aplicativos baseados em Java.
A arquitetura RMI estende a robustez e a segurança da arquitetura Java ao mundo da computação distribuída. O RMI permite que o código defina e implemente o comportamento para permanecer em diferentes máquinas virtuais Java. Os serviços remotos em RMI são codificados usando uma interface Java onde a implementação é codificada em uma classe. Na primeira aula, a implementação do comportamento é executada no servidor. A segunda classe é executada no cliente e atua como um proxy para o serviço remoto.
A implementação de RMI é construída a partir de três camadas abstratas – a camada de esboço e esqueleto, a camada de referência remota e a camada de transporte. A camada de esboço e esqueleto está logo abaixo da visualização do desenvolvedor. Os objetos stub e esqueleto são usados para fornecer uma conexão entre o cliente e o objeto remoto. Um stub encaminha as chamadas de método do cliente para o servidor e está ciente de como se comunicar com o stub por meio do link. Portanto, ele atua como um proxy onde reside a implementação do objeto remoto. A referência ao objeto remoto por um cliente é literalmente uma referência ao stub local. O cliente hospeda uma cópia local do objeto stub. Os esqueletos contêm métodos, que enviam chamadas para a implementação de objetos remotos.
As etapas para projetar um aplicativo RMI são:
- Defina interfaces remotas e implemente objetos clientes e remotos.
- Compile a fonte e gere stubs e esqueletos.
- Torne as redes de classes necessárias acessíveis.
- Execute o aplicativo.