Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouVinícius Cobian Alterado mais de 9 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.