Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivos
Aprender a desenvolver aplicaes distribudas
Desenvolvimento de OlaMundo
Desenvolvimento de Jogos
Introduo
Invocao remota de mtodos (RMI)
Middleware para projetos de objetos distribudos
Objetivo primrio permitir que programadores
O que RMI
Objetos
Locais
Aplicao
Objeto
Objeto
Remoto
Cliente
Mquina Local
Objeto
Remoto
Servidor
Mquina Remota
O que RMI
Objeto
Remoto
Servidor
Servidor
p/ Registro
Aplicao
Objeto
Mquina Remota
Objeto
Remoto
Cliente
Mquina Local
Servio x = 200.203.20.3
Servidor
Nome/Registro
Implementao de RMI
Cenrio da invocao remota de mtodos
Mdulos envolvidos
server
client
object A proxy for B
skeleton
& dispatcher
for Bs class
Request
remote
object B
Reply
Communication
Remote
reference module
module
UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN
Communication
module
Remote reference
module
Cliente
Na interface
Os parmetros so do
Todo
RemoteException
import java.rmi.*;
import java.rmi.*;
import java.rmi.server.*;
de mtodos
servio?
Um servio de nomes ou diretrios executa em um
host/porta conhecidos
Objeto
Remoto
Servidor
Objetos
Locais
Servidor
p/ Registro
Aplicao
Objeto
Mquina Remota
Objeto
Remoto
Cliente
Mquina Local
Servio x = 200.203.20.3
Servidor
Nome/Registro
Usaremos o rmiregistry
um processo servidor
A classe do aplicativo servidor contm o mnimo
necessrio para manter o servio, incluindo o
registro no servidor de nomes
Consiste de um servant e um mtodo main().
O mtodo
1. import java.rmi.Naming;
2.
3. public class OlaMundoServidor {
4.
5. public OlaMundoServidor() {
6.
try {
7.
OlaMundo o = new OlaMundoImpl();
Naming.rebind( "rmi://localhost:1099/OlaMundoService", o);
8.
9.
} catch (Exception e) {
10.
System.out.println( "Erro:" + e );
11.
}
12. }
13.
14. public static void main(String args[]) {
15.
new OlaMundoServidor();
16. }
17. }
rmi://<host>[:<porta>]/<servio>
rmiregistry
java OlaMundoServidor
UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN
java OlaMundoCliente
Trabalho
Desenvolver o Jogo da velha em Java RMI
Mas j podem comear a desenvolver
Teremos as aulas para desenvolver o trabalho:
Sugestes???
Dvidas???