Você está na página 1de 14

RMI Remote Method Invocation

Cristofer V. Bnmann Miquias Michelon

Introduo ao RMI.
A RMI Java estende o modelo de objeto Java para dar suporte para objetos distribudos na linguagem Java. Em particular, ela permite que os objetos invoquem mtodos em objetos remotos usando a mesma sintaxe das invocaes locais.

RMI

Interfaces Remotas na RMI Java.


As interfaces remotas so definidas pela ampliao de uma interface chamada REMOTE, fornecida no pacote java.rmi.

RMI

Passagem de parmetros e resultados.


Na RMI Java, supe-se que os parmetros de um mtodo so parmetros de entrada e o resultado de um mtodo o nico parmetro de sada.

RMI

Download de classes.
A linguagem Java projetada para permitir que as classes sejam carregadas por download de uma mquina virtual para outra.

RMI

RMIregistry.
RMIregistry o vincular da RMI Java. Uma instncia de RMIregistry deve ser executada em cada computador servidor que contenha objetos remotos. Ele mantm uma tabela mapeando nomes textuais no estilo dos URLs, em referncias para objetos remotos contidos nesses computadores.

RMI

Programa Servidor.
O programa um servidor de quadro branco: ele representa cada figura como um objeto remoto instanciado por um servente que implementa a interface Shape e contm o estado de um objeto grfico, assim como seu nmero de verso; ele representa sua coleo de figuras por meio de outro servente, que implementa a interface ShapeList e contm uma coleo de figuras em um Vector.

RMI

Programa Cliente.
Todo programa cliente precisa ser iniciado usando um vinculador para pesquisar uma referncia de objeto remoto

RMI

Callbacks.
Todo programa cliente precisa ser iniciado usando um vinculador para pesquisar uma referncia de objeto remoto

RMI

Projeto e implementao da RMI Java.


Faz um despachante genrico e para evitar a necessidade de esqueletos. Os proxies clientes so gerados por um compilador chamado rmic, a partir das classes de servidor compiladas - e no das definies das interfaces remotas.

RMI

Uso de Reflexo.
A reflexo usada para passar informaes, nas mensagens de requisio, sobre o mtodo a ser invocado. Isso obtido atravs da classe Method no pacto de reflexo.

RMI

Classes Java que suportam RMI equals: este mtodo compara referncias de objeto remoto; toString: este mtodo fornece o contedo da referncia de objeto remoto como um String. readObject, writeObject: estes mtodos desserializam/serializam objetos remotos. Alm disso, o operador instanceOf pode ser utilizado para testar objetos remotos.

RMI

Demonstrao

RMI

FIM