Rmi em sistemas
Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Sistemas Distribuídos Porto Alegre/RS – Brasil – CEP 96616-900
Resumo: O objetivo deste artigo é explorar exemplos de programas que utilizem a estrutura RMI (Remote Method Invocation). Para isso, serão abordados dois exemplos práticos distribuídos: um chat e uma calculadora, traçando-se um paralelo entre suas implementações sockets e RMI na linguagem Java.
Palavras-chave: Java, Sockets, RMI.
1. Introdução Sistemas distribuídos descritos em linguagem Java, podem ser implementados utilizando-se diversas estruturas de comunicação entre processos, no entanto, as estruturas mais usadas são sockets e o RMI [1]. Um socket, por definição, é um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores podem trocar informações através de uma rede. Para se criar uma conexão entre dois computadores, um socket deve ser definido, basicamente, através das seguintes informações: endereço IP do servidor, porta onde se encontra o serviço solicitado no servidor, endereço IP do cliente, porta através da qual o cliente solicita o serviço [2]. Já o RMI (Remote Method Invocation), tem como objetivo, permitir aos programadores o desenvolvimento de aplicações distribuídas em Java com a mesma sintática e semântica usada em programas não distribuídos. Para isso, é necessário fazer com que os programas Java que rodam em uma JVM (máquina virtual) tenham acesso a programas em máquinas virtuais distribuídas, que no caso do RMI é conhecido como “invocação de métodos remotos”. A arquitetura RMI define como os objetos se comportam, como e quando exceções podem ocorrer, como a memória é manipulada e como os parâmetros