A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

RMI (Remote Method Invocation) Bruno Edson Plínio Tadeu

Apresentações semelhantes


Apresentação em tema: "RMI (Remote Method Invocation) Bruno Edson Plínio Tadeu"— Transcrição da apresentação:

1 RMI (Remote Method Invocation) Bruno Edson Plínio Tadeu http://www.cin.ufpe.br/~bemaf/redes/RMI.ppt

2 RMI API Java Multi-plataforma Transparência (rmiregistry - nomes) Middleware (SW / SO) Orientação a Objetos Invocação de Método Redes Remota Comparativo RPC (Remote Procedure Call)

3 RMI - Bibliotecas (API) Herança: UnicastRemoteObject (Implementação) Remote (Interface) Naming (Lookup, Rebind) – Servidor de Nomes Exceções {Remote, MalFormedURL, NotBound}Exception

4 Herança

5 Naming Rebind (Re)Nomeia objeto remoto Servidor Lookup Procura objeto remoto Cliente

6 Exemplo Rebind: try{ Naming.rebind(“//localhost/ClasseService”,this); } catch (Exception e){...} Lookup: try{ Classe c = (Classe) Naming.lookup( “//200.117.145.12/ClasseService”); } catch (SomeException e){...}

7 Exemplo Rebind: try{ Naming.rebind(“//localhost/ClasseService”,this); } catch (Exception e){...} Lookup: try{ Classe c = (Classe) Naming.lookup( “//200.117.145.12/ClasseService”); } catch (SomeException e){...} Host Serviço Objeto Remoto Cast (binding) URL - String Objeto Remoto Exceções URL

8 RMI Registry

9 Exceções Criação Tratamento Utilização de try e catch RemoteException Qualquer erro remoto MalFormedURLException Nome (URL) mal formada NotBoundException Não houve limite

10 RMI Passos 1. Criação: Interface do objeto remoto herda Remote (assinatura) Classe do objeto implementa a interface e herda UnicastRemoteObject (corpo) 2. Compilação: javac (gera os.class) rmic (gera os Stubs e Skeletons) 3. Executar: rmiregistry (registra o host na rede) java (executa a aplicação)

11 Classes Geradas javac: Própria Classe - Implementação Interface da Classe – Assinatura dos Métodos rmic: Stub/Skeleton (interface de rede) Métodos vazios, código, operações e construtor Stub (Cliente) Métodos da interface com atributos Method Skeleton (Servidor) dispatch(...) e getOperations()

12 Classes Geradas

13 Implementação – Chat (Exemplo) Comunicação em dois sentidos Cliente / Servidor Sala e Usuários são ambos Sala = Concentrador

14 Classes Chat, ChatImpl, ChatGUI (sala) User, UserImpl e UserGUI (usuário) Cliente, RepositorioClientes (represetação do usuário) Exceções: JaExiste, SalaCheia, DestinoInexistente

15 Chat – Sala (Conectar)

16 Chat Sala (Rodando)

17 Usuário (Conectar)

18 Usuário (Escolher Sala)

19 Usuário (Rodando)

20 Executar www.cin.ufpe.br/~bemaf/arquivos/redes chat.zip com.bat (prompt de comando do DOS) run (Compila as Classes e roda rmiregistry) Depois: chat (p\ sala) user (p\ usuário) Obs.: Dentro dos.bat existem os comandos


Carregar ppt "RMI (Remote Method Invocation) Bruno Edson Plínio Tadeu"

Apresentações semelhantes


Anúncios Google