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

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais II N Aula prática Java Sockets, RPC e RMI Eduardo Bezerra.
Advertisements

Java Remote Method Invocation Java RMI
Sistemas distribuídos
Marco A. S. Reis EJB Acesso Remoto Marco A. S. Reis
Programa de Pós-Graduação Lato Sensu MBA em Gestão de Software
RMI-IIOP.
Java RMI Alcides Calsavara. Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância.
Java RMI Alcides Calsavara. Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância.
Comunicação Distribuída
Objetos Distribuídos e Invocação Remota
Desenvolvimento de Aplicações Distribuídas
Invocação de Métodos Remotos RMI
Programação Concorrente
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Comunicação Entre Objetos Distribuídos
1 Serviços CORBA. Serviços CORBA. Funcionalidades que podem ser utilizadas por objetos distribuídos. Naming Service (Serviço de Nomes) Event and Notification.
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Comunicação Inter-Processos
PROGRAMAÇÃO DISTRIBUÍDA EM JAVA Verão/2001
Estrutura de Dados em Java
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
Introdução à Programação Distribuída em Java
Concorrência em Java Threads em Java.
Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação.
Arquitetura CORBA e Objetos Distribuídos
Web Services Uninorte Semana de Tecnologia da Informação
Chamada Remota de Procedimentos
Marcela Bezerra da Silva Cin - UFPE
Java Avançado Luiz Carlos d´Oleron SJCP Java Sockets.
Desenvolvimento de Aplicações CORBA
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Remote Method Invocation RMI
Concorrência e Java RMI
Objetos Distribuídos Nazareno Andrade.
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
T. D. S. I. PARA WEB Prof. Emmanuel Nolêto. Java RMI.
Prof. Roberto Rosa Aula 8.  A partir de agora vamos aprender como ver qual é o erro que está acontecendo em nosso projeto. Para.
Tecgraf PUC-Rio maio de 2011 Principais conceitos de CORBA.
Afinal, o que é um SD? Ospróximospróximosslidesdeverãoserserexecutadosum servidor,executadosum servidor, continuamente para criarmos um cliente e ambos.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Linguagem II Exceções.
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
SessionBeans Marco Antonio Arquiteto de Software.
Integrações de Aplicações Empresariais Prof. Paulo Fernando da Silva UNC – Universidade do Contestado Pós-Graduação em Sistemas de Informação Aplicados.
Java RMI João Gabriel (jggxm).
RMI - JAVA.
Conceitos da arquitetura
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
Construtores e Destrutores
Sistemas Distribuídos Prof. Marcus Rodrigues
Java – Remote Method Invocation (RMI)
Programação Distribuída em Java Aula Na aula passada vimos: I/O Streams Filtros Readers and Writers.
Tecnologias de Localização de Serviços Exame de Qualificação IME/USP Fev/2003.
Chamada Remota de Procedimentos. Remote Procedure Call O fluxo de informações em uma implementação de clientes e servidores por passagem de mensagem requer.
Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.
RMI Remote Method Invocation
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Principais conceitos de CORBA.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
RMI Java Remote Method Invocation em Java. Introdução Java Remote Method Invocation (Java RMI) permite desenvolver sistemas distribuídos baseados em Java.
Windows NT Comparação de conceitos: NetWare. AppWare Ferramenta de desenvolvimento de aplicações consistindo de dois componenentes principais: –AppWare.
Sistemas Distribuídos Prof. Marcus Rodrigues
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Programação em Java RMI - Remote Method Invocation Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Invocação de Métodos Remotos (RMI) en Java
Remote Method Invocation
Transcrição da apresentação:

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

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)

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

Herança

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

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

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

RMI Registry

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

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)

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()

Classes Geradas

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

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

Chat – Sala (Conectar)

Chat Sala (Rodando)

Usuário (Conectar)

Usuário (Escolher Sala)

Usuário (Rodando)

Executar 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