Sistemas Distribuídos



Documentos relacionados
Adriano Reine Bueno Rafael Barros Silva

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Componentes para Computação Distribuída

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Invocação de Métodos Remotos

INE Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha

Sistemas Distribuídos

RMI: Uma Visão Conceitual

Middleware de Aplicações Paralelas/Distribuídas

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos

UNIVERSIDADE. Sistemas Distribuídos

Sistemas Distribuídos Métodos de Invocação Remota II. Prof. MSc. Hugo Souza

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Enterprise Java Bean. Enterprise JavaBeans

Sistemas Distribuídos

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Programação de Computadores - I. Profª Beatriz Profº Israel

Sistemas Distribuídos Métodos de Invocação Remota IV. Prof. MSc. Hugo Souza

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve

Linguagem de Programação Introdução a Linguagem Java

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Padrões Arquiteturais. Sistemas Distribuídos: Broker

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Web Technologies. Tópicos da apresentação

J2EE TM Java 2 Plataform, Enterprise Edition

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.


Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes

Sistemas Distribuídos: Conceitos e Projeto Java RMI

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Sistemas Paralelos e Distribuídos /2004 Curso: Matemática /Informática Sistemas Distribuídos /2004 Curso: Ensino da Informática

Web Services. (Introdução)

Desenvolvimento Cliente-Servidor 1

Programação Orientada a Objetos

SISTEMAS DISTRIBUIDOS

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI)

Usando Borland DELPHI para implementar aplicações CORBA

Trabalho de Sistemas Distribuídos

Service Oriented Architecture SOA

Interface Homem Máquina para Domótica baseado em tecnologias Web

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução.

UFG - Instituto de Informática

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Comunicação em Sistemas Distribuídos

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM

O modelo de arquitetura CORBA e suas aplicações

Sistemas Distribuídos Arquiteturas Middlewares

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Capítulo V Sistemas de Objectos Distribuídos

RMI/JNDI - Fundamentos

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Sistemas Distribuídos

3 Serviços na Web (Web services)

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com

Sistemas Distribuídos: Conceitos e Projeto RPC e RMI

Orientação a Objetos com Java

Introdução à Linguagem Java

Programação para Web Artefato 01. AT5 Conceitos da Internet

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

J2EE. J2EE - Surgimento

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

World Wide Web e Aplicações

Programação Orientada a Objetos

Transcrição:

Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010

Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da Microsoft Corporation CORBA (Common Object Request Broker Architecture), da OMG (Object Management Group)

Java RMI Java Orientada a objetos Possui diversas APIs amigáveis Multi-plataforma: Java Virtual Machine (JVM) Integrada à Internet: applets, JavaScript, JSP e Servlets Suporte a componentes: JavaBeans e EJB De fácil aprendizagem Bem aceita pelos programadores Suportada por diversos fabricantes de SW

Java RMI Java é oferecida em três versões J2ME (Java 2 Micro Edition) Para celulares, PDAs, sist. embarcados,... J2SE (Java 2 Standard Edition) Para desktops J2EE (Java 2 Enterprise Edition) Para servidores Versões diferem nas APIs oferecidas J2SE e J2EE possuem suporte para invocação remota de métodos (RMI)

Java RMI Java RMI (Remote Method Invocation) Fornece um suporte simples para RPC/RMI Permite que um objeto Java chame métodos de outro objeto Java rodando em outra JVM Solução especíca para a plataforma Java

Java RMI

Java RMI Arquitetura RMI Stub e Skeleton Camada de referência remota Camada de transporte

Java RMI Stub Skeleton Representa o servidor para o cliente Efetua serialização e envio dos parâmetros Recebe a resposta do servidor, desserializa e entrega ao cliente Recebe a chamada e desserializa os parâmetros enviados pelo cliente Faz a chamada no servidor e retorna o resultado ao cliente

Java RMI Camada de Referência Remota Responsável pela localização dos objetos nas máquinas da rede Permite que referências para um objeto servidor remoto sejam usadas pelos clientes para chamar métodos Camada de Transporte Cria e gerencia conexões de rede entre objetos remotos Elimina a necessidade do código do cliente ou do servidor interagirem com o suporte de rede

Java RMI Dinâmica da Chamada RMI O servidor, ao iniciar, se registra no serviço de nomes (RMI Registry ) O cliente obtém uma referência para o objeto servidor no serviço de nomes e cria a stub O cliente chama o método na stub fazendo uma chamada local A stub serializa os parâmetros e transmite a chamada pela rede para o skeleton do servidor

Java RMI Dinâmica da Chamada RMI (cont.) O skeleton do servidor recebe a chamada pela rede, desserializa os parâmetros e faz a chamada do método no objeto servidor O objeto servidor executa o método e retorna um valor para o skeleton, que o desserializa e o envia pela rede à stub do cliente A stub recebe o valor do retorno serializado, o desserializa e por m o repassa ao cliente

Java RMI Serialização dos dados (marshalling) É preciso serializar e deserializar os parâmetros da chamada e valores de retorno para transmiti-los através da rede Utiliza o sistema de serialização de objetos da máquina virtual Tipos predenidos da linguagem Objetos serializáveis: implementam interface java.io.serializable

Java RMI Desenvolvimento de Aplicações com RMI Devemos denir a interface do servidor A interface do servidor deve estender java.rmi.remote ou uma classe dela derivada (ex.: UnicastRemoteObject) Todos os métodos da interface devem prever a exceção java.rmi.remoteexception O Servidor irá implementar esta interface Stubs e skeletons são gerados pelo compilador RMI (rmic) com base na interface do servidor

Java RMI RMI/IIOP A partir do release 1.2 do Java, o RMI passou a permitir a utilização do protocolo IIOP (Internet Inter-ORB Protocol) do CORBA IIOP também usa TCP/IP, mas converte os dados para um formato padrão (seralização ou marshalling) diferente do Java RMI Com RMI/IIOP, objetos Java podem se comunicar com objetos CORBA escritos em outras linguagens

Java RMI APIs úteis na comunicação remota JNDI (Java Naming and Directory Interface) Suporte para nomeação Associa nomes e atributos a objetos Java Objetos localizados por nome ou atributos JavaSecurity Suporte para segurança Criptografa dados Cria e manipula chaves e certicados Emprega listas de controle de acesso

DCOM Distributed Component Object Model Desenvolvido pela Microsoft Permite a interação entre objetos/ componentes escritos em várias linguagens Evoluiu de uma versão centralizada - o COM - para uma versão distribuída - o DCOM Disponível apenas no sistema operacional Microsoft Windows (9x/ME/XP e NT/200x)

DCOM

DCOM Proxy Stub Equivalente à stub do RMI e do CORBA Serializa dados e envia pela rede Recebe resposta do servidor Pode ser local (LRPC) ou remota (RPC) Equivalente ao skeleton do RMI e do CORBA Recebe a requisição, desserializa os dados e faz a invocação no código servidor Retorna o resultado serializado ao cliente

DCOM Interfaces DCOM Microsoft Interface Denition Language (MIDL) separa a interface da implementação Interfaces possuem um identicador único Interfaces são apenas um grupo de funções relacionadas Interfaces não possuem estado Um objeto/componente pode suportar várias interfaces Todos os objetos implementam a interface IUnknown

DCOM Interfaces DCOM

DCOM Características do DCOM Não suporta herança múltipla Reuso de código através de agregação Referências remotas são dinâmicas Interoperabilidade com outras tecnologias Existem pontes que permitem a comunicação entre objetos COM/DCOM e objetos CORBA