RMI (Remote Method Invocation)
Funcionamento
O funcionamento de RMI consiste basicamente em dois programas, um seria o cliente e outro o servidor. O servidor instancia objetos remotos, o referencia com um nome e faz um "BIND" dele numa porta, onde este objeto espera por clientes que invoquem seus métodos. Já o cliente referencia remotamente um ou mais métodos de um objeto remoto. RMI fornee os mecanismo para que a comunicação entre cliente e servidor seja possível. Aplicações distribuidas precisam portanto executar as seguintes ações:
A figura Abaixo ilustra como uma aplicação RMI distribuída usa o "rmiregistry" para obter uma referência ao objeto remoto. O servidor chama o registro para associar um nome ao objeto remoto. O cliente procura o objeto remoto pelo seu nome no registro do servidor e então invoca um método nele. A ilustração também mostra que o RMI pode utilizar um servidor "web" para carregar os "bytecodes", de servidor para cliente e vice-versa, de acordo com as necessidades da aplicação. |
Figura 1 - Aplicação Distribuída
Vantagens de Carregar o Código Dinamicamente: Uma das principais vantagens do RMI é sua capacidade de baixar o código de um objeto, caso a classe desse objeto não seja definida máquina virtual do receptor. Os tipos e o comportamento de um objeto, previamente disponíveis apenas em uma máquina virtual, agora podem ser transmitidos para outra máquina virtual, possivelmente remota. Essa funcionalidade do RMI permite que o código da aplicação seja atualizado dinamicamente, sem a necessidade de recompilar o código.
[ Índice |
Introdução |
Modelo RPC |
Funcionamento |
Serialização ]
|