Академический Документы
Профессиональный Документы
Культура Документы
Ely Prado 2
Java RMI
O principal objetivo para os criadores do RMI era permitir os
programadores a desenvolverem programas distribuídos em Java
com a mesma sintaxe e semântica usada em programas não-
distribuídos.
Os arquitetos do RMI tentaram fazer com que o uso dos objetos
distribuídos em Java fosse similar ao uso de objetos Java locais.
Ely Prado 3
Como começar?
Crie um novo projeto Java no NetBeans.
Vamos chamá-lo de ExemploRMI1
Ely Prado 4
Lado Servidor
Crie um pacote para o servidor e dentro deste pacote crie uma
Interface chamada CalculadoraServerInterface
import java.rmi.*;
/*Nossa interface deve estender a classe Remote do RMI*/
public interface CalculadoraServerInterface extends
Remote{
public int somar(int a, int b) throws RemoteException;
}
Ely Prado 5
Lado Servidor
Crie uma nova classe e implemente a nossa interface:
import java.rmi.*;
import java.rmi.server.*;
public class CalculadoraServerInterfaceImpl extends
UnicastRemoteObject implements CalculadoraServerInterface{
Ely Prado 6
Lado Servidor
Criar classe Main, registrar e implementar o servidor
public class ExemploRMI1 {
public static void main(String[] args) {
try {
java.rmi.registry.LocateRegistry.createRegistry(1099);
System.out.println("RMI registrado na porta 1099.");
Ely Prado 7
Lado Cliente
Crie um novo pacote cliente e uma classe Main
public class ExemploRMI1Cli {
public static void main(String[] args) {
try {
Registry registry = LocateRegistry.getRegistry("localhost");
CalculadoraServerInterface c = (CalculadoraServerInterface)
registry.lookup("CalculadoraServerInterfaceImpl");
System.out.println("O objeto servidor " + c + " foi encontrado
com sucesso.\n");
Ely Prado 8
Como testar?
Execute a classe Main do lado do servidor, o serviço será inicializado.
Execute a classe Main do lado do cliente e o serviço RMI será
consumido.
Ely Prado 9
Objetos distribuídos com
RMI
Para enviar ou receber objetos através de RMI eles devem ser
serializáveis.
Para isto basta implementar a classe Serializable
Ely Prado 10
Exercícios
Crie um serviço RMI que retorne o calculo de IMC
ICM = Peso / Altura²
Consuma este serviço
Ely Prado 11
Trabalho
Crie uma classe cliente, contendo atributos de nome, endereco,
cidade, cpf, data de nascimento e classificação (ruim, regular, bom,
ótimo)
Crie outra classe que faça um ArrayList desta classe cliente
Crie um serviço RMI capaz de inserir clientes ou efetuar consultas
através do CPF. Ao inserir um CPF já existente o sistema deve
atualizar os dados já cadastrados.
Crie uma aplicação capaz de acessar este servidor e utilizar os
métodos remotos.
Ely Prado 12