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

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

Java Remote Method Invocation Java RMI Mestrando Maurício Cristal Prof. Dr. Fernando Luís Dotti Prof. Dr. Celso Maciel da Costa.

Apresentações semelhantes


Apresentação em tema: "Java Remote Method Invocation Java RMI Mestrando Maurício Cristal Prof. Dr. Fernando Luís Dotti Prof. Dr. Celso Maciel da Costa."— Transcrição da apresentação:

1 Java Remote Method Invocation Java RMI Mestrando Maurício Cristal Prof. Dr. Fernando Luís Dotti Prof. Dr. Celso Maciel da Costa

2 Sumário Introdução Arquitetura genérica Arquitetura RMI Exemplo - Counter Exercícios

3 Introdução Java RMI - arquitetura de objetos distribuídos entre JVMs remotas Integra à linguagem Java o modelo de objetos distribuídos (APIs) Disponível a partir da versão 1.1 do compilador JDK (Sun)

4 Arquitetura genérica

5 Arquitetura RMI Javac Rmic Responsável pelo transporte

6 Java RMI - Modelo de objetos Clientes: superclasse java.rmi.RemoteObject Servidores: superclasse java.rmi.RemoteServer Interfaces: superclasse java.rmi.Remote Exceções: superclasse java.rmi.RemoteException

7 Java RMI Requisição e resposta de serviços Chamada síncrona Chamadas assíncronas e deferidas não são suportadasChamadas assíncronas e deferidas não são suportadas

8 Java RMI - Marshalling java.io.serializableSuperclasse java.io.serializable readObjectwriteObjectMétodos readObject e writeObject permitem a escrita dos parâmetros em stream de bytes Permitem também a serialização de classes e objetos Por segurança classes podem desabilitar a sua serialização

9 Java RMI - IDL Não define IDL Interfaces são definidas em Java rmicCompiladas com o compilador rmic, gerando o stub e esqueleto interpretados javaUtiliza-se o runtime java para executar os proxies

10 Java RMI - Invocações Sempre estáticas, não suporta invocações dinâmicas rmicRealizadas através dos proxies compilados com rmic

11 Java RMI - Serviço de nomes java.rmi.NamingSuperclasse java.rmi.Naming Através de nomes recupera referências para objetos Utiliza uma URL e porta TCP para cada servidor de nomes

12 Java RMI - Serviço de nomes ContaBancária acct = new ContaBancáriaImpl(); String url = rmi://java.sun.com/account; //bind da url ao objeto remoto java.RMI.Naming.bind(url, acct); acct = (ContaBancária) java.RMI.Naming.lookup(url);

13 Java RMI - Serviço de nomes rmiregistryAssociações entre referências remotas e nomes são gerenciadas por um processo daemon denominado rmiregistry Pode ser classificado como o servidor de nomes propriamente dito

14 Java RMI - Serviço de ciclo de vida Determinado pela própria JVM Objeto RMI é um objeto Java com funcionalidades de distribuição newExemplo: operador new

15 Java RMI - Outros serviços Eventos Transações Trader Não são definidos na arquitetura RMI

16 Java RMI - Interoperabilidade inter-ORBs Objetos RMI trocam mensagens com objetos CORBA, através do protocolo IIOP RMI-over-IIOP, compatibilidade adicionada na versão JDK 1.1.6

17 Interoperabilidade inter-ORB

18 Bibliografia Orfali, Robert, Harkey, Dan. Client/server Programming with Java and CORBA. Second Edition; New York, NY: John Wiley and Sons Inc, p. Farley, Jim. Java Distributed Computing. The Java Series. California: OReilly Associates Java Remote Method Invocation Specification.

19 Java Remote Method Invocation Java RMI Mestrando Maurício Cristal Prof. Dr. Fernando Luís Dotti Prof. Dr. Celso Maciel da Costa


Carregar ppt "Java Remote Method Invocation Java RMI Mestrando Maurício Cristal Prof. Dr. Fernando Luís Dotti Prof. Dr. Celso Maciel da Costa."

Apresentações semelhantes


Anúncios Google