Bom, depois de muito tempo sem postar nada por aqui, eis que postarei um projetinho relacionado a RMI, é algo bem simples, que desenvolvi para apresentar como trabalho na universidade, mas acredito que pode ajudar alguém interessado em sistemas distribuidos, mas especificamente RMI.
RMI é muito usado em aplicações distribuídas. Através de uma interface remota, é possível acessar todos os serviços(métodos) implementados no servidor, e que estejam definidos na interface. Para executar uma aplicação RMI, é necessário disponibilizar o registro do RMI
Nesse caso, temos três métodos implementados.
- Interface.java
public interface Interface extends Remote {
public String lerArquivo() throws RemoteException;
public double calculadora(int a, int b) throws RemoteException;
public int[] ordenarVetor() throws RemoteException;
}
Essas são as operações que o usuário poderá realizar: leitura de um arquivo
O programa está dividido em três partes Cliente, Servidor, Interface. Além disso, há um arquivo de permissão Policy e um arquivo .txt que será usado na execução de uma das opções do programa, dentro do pacote que está disponibilizado para download, há também um arquivo bat, como todos os comandos para executar e iniciar o serviço do rmi.
O passo-a-passo para execução do programa é o seguinte:
1° Compilar todas as classes .java
2° Executar o comando rmic da classe Servidor, para a geração do stub e skeleton
3° Executar o rmiregistry
4° Feito isso, abra outro console para iniciar o servidor. Não esqueça que você precisa está na pasta que a classe Servidor está. Digite o seguinte comando:
java -Djava.rmi.server.codebase=file:///caminho-da-pasta -Djava.security.policy=file:///caminho-da-pasta\policy Servidor.
5° Abra um novo console, e agora faça o mesmo(feito para o servidor) para a iniciar o cliente
java -Djava.rmi.server.codebase=file:///caminho-da-pasta -Djava.security.policy=file:///caminho-da-pasta\policy Cliente
No pacote disponibilizado, para download, todos esses comandos estão no arquivo bat, verifique lá, caso haja alguma dúvida.
Nunca é demais lembrar que pra rodar esses programas, é necessário ter o java instalado na máquina.
Até a próxima
Download