Você está na página 1de 8

Sistemas Distribudos

Sistemas distribudos so sistemas que rodam em mquinas distintas ligadas em rede, podendo ser de domstica at WAN. As vantagens de trabalhar com sistemas distribudos so por motivo de usar mais do poder de processamento, pela carga que distribuda entre as mquinas, podendo assim apresentar um melhor desempenho, maior confiabilidade, e suportar um maior nmero de usurios. Alm de permitir compartilhamento de dados e recursos, como tambm a reutilizao de servios disponveis. Por outro lado, as desvantagens ou dificuldades, so por causa de ser fracamente acoplado, sistemas heterogneos, sem base de tempo global, acesso concorrente entre outras.

Programao Distribuda

Aplicaes que utilizam esse tipo de sistema, usam os servios de comunicao providos pela rede atravs das interfaces de programao (APIs). As APIs para programao em redes TCP/IP so conhecidas como Sockets e TLI. So atravs das funes presentes nas APIs que possvel estabeler conexes, envio e recebimento de dados atravs da rede. O uso de APIs como sockets possa ser a soluo adotada em grande quantidade de aplicaes, pode-se tambm usar uma API de mais alto nvel conhecida como Chamada a Procedimentos Remotos (RPC). O programador com esta API no precisa se preocupar com a variedade de detalhes presente na comunicao atravs de APIs como sockets. A chamada de procedimentos remotos em Java possvel atravs da API RMI (Remote Method Invocation). Suas facilidades simplificam a implementao de

aplicaes distribudas e atravs da RMI uma aplicao pode chamar os mtodos de objetos que estiverem localizados em mquinas diferentes.

RMI Remote Method Invocation

RMI tem o objetivo de permitir aos programadores desenvolverem aplicaes distribudas em Java com a sinttica e semntica usada em programas no distribudos. necessrio para isso, fazer com que os programas Java que rodam em uma JVM (mquina virtual Java) tenham acesso a programas em mquinas virtuais distribudas, que conhecido no RMI como invocao de mtodos remotos. Quando desenvolvido uma aplicao desse tipo, alguns elementos devem ser criados, como:

Interface que disponibilize os mtodos no servidor. Classe que esteja na JVM do servidor e que implemente os mtodos definidos na interface.

Classes que implementem o protocolo de comunicao (Skeleton e Stub) e que sejam responsveis por fazer que a chamada de um mtodo no cliente seja passada ao servidor de maneira transparente, assim como fazer o servidor responder de maneira conveniente as chamadas, respondendo ao cliente o valor de retorno. Um programa cliente que invoque os mtodos remotos do servidor.

Servio de nomes (rmiregistry) que responsvel por informar ao cliente onde est o servidor e que relacione corretamente a implementao deste ao stub do cliente.

Passo a passo

1. Abra a IDE NetBeans e v at o Arquivo > Novo Projeto.

2. Selecione a opo Java > Aplicativo Java

3. D o nome ao projeto e clique em Finalizar

4. Implementar a interface.

5 Implementar a classe que ser usada para implementao.

6. Implementar o servidor

7 Implementar o cliente.

8. Agora entre atravs do prompt na pasta onde est os arquivos do NetBeans e execute os comandos:

1. javac *.java 2. rmic MensagemImpl 3. rmiregistry 4. java MensagemServer 5. java MensagemClient