Desenvolvimento - Java
API Java RMI - Introdução
Com a interface de programação Remote Method Invocation é possivel trabalhar com objetos distribuidos na Plataforma Java.
por Eric C M OliveiraCom a interface de programação Remote Method Invocation é possivel trabalhar com objetos distribuidos na Plataforma Java. Numa visão mais geral, com RMI é possivel ter um conjunto de objetos colaboradores que se comuniquem entre si através de uma rede. Esse sistema de objetos distribuídos faz parte da linguagem Java desde sua versão 1.1. O pacote responsável chama-se java.rmi.
Graças a API, esse tipo de implementação é possivel sem que o desenvolvedor tenha grandes preocupações referentes a detalhes de comunicação entre os diversos possíveis elementos de um sistema. Através da utilização da arquitetura RMI, é possível que um objeto ativo em uma máquina virtual Java possa interagir com objetos de outras máquinas virtuais Java, independentemente da localização dessas máquinas virtuais.
De maneira geral, a implementação de RMI, começa com o desenvolvimento de uma classe java do tipo Bean que, como terá a necessiade de ser trafegada via rede, seja serializavel, implementando a interface Serializable do pacote java.io. Logo depois é necessario definir a interface remota, ponto principal de uma aplicação com uso de RMI. Essa interface deve conter as assinaturas dos métodos que o objeto remoto vai implementar e vai ser através desta classe que um cliente tem conhecimento de quais métodos estão disponíveis remotamente. Esta interface deve implementar do pacote java.rmi, a interface Remote.
Agora pensando no "objeto servidor" , que iremos acessar de maneira remota, esse deve implementar a nossa interface remota. Com o serviço disponivel, o "cliente" necessita do Stub do objeto remoto, podendo assim fazer chamadas de maneira remota. Entra em ação ai a execução do serviço de registro do RMI.
Vale lembrar que há cuidados a seguir em relação a GC e objetos remotos. O GC não tem como funcionalidade a detecção das ligações entre objetos remotos não referenciados, que devem ser explicitamente codificadas pelo desenvolvedor.
Referências:
http://java.sun.com/docs/books/tutorial/rmi/index.html
http://java.sun.com/j2se/1.5.0/docs/guide/rmi/hello/hello-world.html
http://java.sun.com/j2se/1.4.2/docs/guide/rmi/index.html
http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html#rmi
http://java.sun.com/javase/6/docs/api/java/rmi/package-summary.html
Graças a API, esse tipo de implementação é possivel sem que o desenvolvedor tenha grandes preocupações referentes a detalhes de comunicação entre os diversos possíveis elementos de um sistema. Através da utilização da arquitetura RMI, é possível que um objeto ativo em uma máquina virtual Java possa interagir com objetos de outras máquinas virtuais Java, independentemente da localização dessas máquinas virtuais.
De maneira geral, a implementação de RMI, começa com o desenvolvimento de uma classe java do tipo Bean que, como terá a necessiade de ser trafegada via rede, seja serializavel, implementando a interface Serializable do pacote java.io. Logo depois é necessario definir a interface remota, ponto principal de uma aplicação com uso de RMI. Essa interface deve conter as assinaturas dos métodos que o objeto remoto vai implementar e vai ser através desta classe que um cliente tem conhecimento de quais métodos estão disponíveis remotamente. Esta interface deve implementar do pacote java.rmi, a interface Remote.
Agora pensando no "objeto servidor" , que iremos acessar de maneira remota, esse deve implementar a nossa interface remota. Com o serviço disponivel, o "cliente" necessita do Stub do objeto remoto, podendo assim fazer chamadas de maneira remota. Entra em ação ai a execução do serviço de registro do RMI.
Vale lembrar que há cuidados a seguir em relação a GC e objetos remotos. O GC não tem como funcionalidade a detecção das ligações entre objetos remotos não referenciados, que devem ser explicitamente codificadas pelo desenvolvedor.
Referências:
http://java.sun.com/docs/books/tutorial/rmi/index.html
http://java.sun.com/j2se/1.5.0/docs/guide/rmi/hello/hello-world.html
http://java.sun.com/j2se/1.4.2/docs/guide/rmi/index.html
http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html#rmi
http://java.sun.com/javase/6/docs/api/java/rmi/package-summary.html