Capítulo V Sistemas de Objectos Distribuídos
|
|
|
- Thomas Gil Chaplin
- 10 Há anos
- Visualizações:
Transcrição
1 From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley 2001 From: Wolfgang Emmerich Engineering Distributed Objects John Wiley & Sons, Ltd O modelo de objectos 2 Invocação remota de objectos (Remote Method Invocation) 2.1 semântica de invocação 2.2 implementação do RMI 3 Caso de estudo Java RMI Paula Prata, Departamento de Informática da UBI
2 Evolução dos sistemas cliente-servidor. O modelo clássico (pedido-resposta) começou por ser implementado por instruções de baixo nível Ex. Sockets <- demasiado complicado para o comum dos programadores.... Com o aparecimento das linguagens procedimentais, passou-se à utilização do modelo de RPC (Remote Procedure Calling). O sucesso das linguagens OO motivou o aparecimento dos sistemas de Objectos Distribuídos RMI Remote Method Invocation 1 - O modelo de Objectos Pessoa cliente;... String morada = cliente.obtemmorada () Esta variável (e programa) existem na máquina cliente Num SD, o objecto cliente pode existir numa máquina remota (o servidor) Ao ser enviada a mensagem obtemmorada ao objecto cliente, o sistema encarrega-se de obter os dados do cliente no servidor. 5 /2
3 Referências para objecto locais Vs referências para objectos remotos. Num sistema OO os objectos são acedidos através das suas referências. Para invocar um método precisamos da referência do objecto, do nome do método e dos argumentos correspondentes.. Referências, podem ser atribuídas a variáveis, passadas como argumentos e devolvidas como resultado de métodos Referência remota Identificador que pode ser usado no âmbito de um SD para se referir a um particular e único objecto remoto (Acetato 19 cap.iv) 32 bits 32 bits 32 bits 32 bits Internet add. port number time object number interface of remote object Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers /3
4 Referência remota... Referências remotas são idênticas a referências locais, nos seguintes aspectos: 1- o objecto que recebe a invocação do método é especificado como o objecto local 2 referências remotas podem ser passadas como argumentos e resultados de invocação de métodos remotos Passagem de parâmetros (entre processos diferentes) cópia versus referência (tipos primitivos são passados por cópia) Passagem de objectos remotos - por referência (são objectos de acesso global) na prática um referência remota aponta para um objecto local que funciona como um proxy do objecto remoto Na passagem de um objecto remoto, é passado um proxy que é guardado na maquina receptora, e para o qual vão ser passadas as futuras invocações ao objecto Passagem de objectos locais (que implementem a interface java.io.serializable) - por cópia (a referência não faz sentido na máquina remota) Do lado do receptor é criado um novo objecto que pode ser guardado localmente 5 /4
5 Interface Especificação sintáctica de um conjunto de métodos. Uma classe que implemente a interface terá obrigatoriamente que implementar todos os métodos da interface Interface remota, Cada objecto remoto tem uma interface remota que especifica quais dos seus métodos podem ser invocados remotamente. A remote invocation B local invocation local invocation local invocation C D E remote invocation F remote object remote interface m1 m2 m3 Data { implementation of methods m4 m5 m6 Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers /5
6 Método locais A invocação de um método local resulta na execução do código correspondente no objecto receptor. No final o controlo de execução retorna ao objecto invocador. A invocação de um método pode resultar em: - o estado do método é alterado - outras invocações, noutros objectos têm lugar Método remotos A invocação de um método remoto pode resultar na invocação de outros objectos tal como numa invocação local. Eventualmente os objectos envolvidos podem existir em máquinas diferentes. Quando uma invocação atravessa a barreira de um processo ou computador, tem lugar uma invocação de um procedimento remoto (Remote Method Invocation RMI) Para um objecto fazer uma invocação remota sobre um objecto tem que possuir a sua referência remota 5 /6
7 Excepções locais Quando ocorre uma situação de erro (recuperável) é gerada uma excepção (pelo sistema de execução ou pelo próprio código do programador) É possível capturar uma excepção e transferir o controlo de execução para um bloco de código que tratará a condição de erro Excepções remotas Uma invocação remota além das excepções ocorridas no processo receptor, pode também gerar excepções devido a:. erro na transmissão dos argumentos,. o processo que contém o objecto remoto falhou (crashed). está tão ocupado que não consegue responder,. o resultado da invocação perdeu-se. Reciclagem (Garbage Collection - GC) Meio de libertar o espaço ocupado por objectos que já não são necessários. Java detecta automaticamente os objectos que já não são acessíveis Em C++ o programador é o responsável por libertar esse espaço de memória Extensão do GC tradicional Reciclagem de Objectos Distribuídos Geralmente baseada em contagem de referências 5 /7
8 2 Invocação remota de objectos Applications Sun RPC, Java RMI, CORBA, Events Request reply protocol Middleware layers Marshalling and External Data Representation UDP and TCP RPC/RMI Middleware de utilização geral Common Object Request Broker Architecture (CORBA) Object Management Group (OMG) Distributed Component Object Model (DCOM) Microsoft Remote Procedure Call (RPC) Sun, DCE, Remote Method Invocation - RMI Java RMI (Sun) CORBA é um forma de RMI Simple Object Access Protocol (SOAP) Microsoft, Sun, Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers /8
9 2 Invocação remota de objectos 2.1 Semântica da invocação Fault tolerance measures Invocation semantics Retransmit request message Duplicate filtering Re-execute procedure or retransmit reply No Not applicable Not applicable Maybe Yes No Re-execute procedure At-least-once Yes Yes Retransmit reply At-most-once. Java RMI e CORBA fornecem At-most-once O invocador ou recebe uma resposta e, nesse caso, sabe que o método foi executado uma única vez, ou recebe uma excepção o que significa que o método ou foi executado uma vez ou não foi executado.. CORBA permite maybe para métodos que não devolvem resultado O invocador não sabe se o método foi ou não executado. Sun RPC fornece At-least-once O invocador ou recebe uma resposta, nesse caso, sabe que o método foi executado pelo menos uma vez, ou recebe uma excepção informando que não foi recebido resultado, neste caso, o servidor pode ter falhado. Em qualquer dos casos, execuções repetidas podem ter originado valores errados. Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers /9
10 2.2 Implementação do RMI object A client proxy for B Request server skeleton & dispatcher for B s class remote object B Reply Remote Communication eference module module Communication module Remote reference module Um objecto A invoca um método no objecto remoto B Módulo de Comunicação Implementa o protocolo pedido-resposta Módulo de Referência remota Mantém uma tabela de referências remotas, que contém a correspondência entre referências locais e remotas. A tabela do servidor conterá uma entrada para o objecto B A tabela do cliente conterá uma entrada para o proxy de B Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers /10
11 2.2 Implementação do RMI... O software RMI Camada de software entre a aplicação e os módulos de comunicação e referência Proxy Torna transparente a invocação do método remoto Recebe a invocação, serializa os argumentos e envia a invocação através do módulo de comunicação; Quando recebe o resultado, desserializa-o e envia-o ao cliente. Dispatcher Recebe o pedido do módulo de comunicação e encaminha-o para um skeleton. Skeleton Desserializa os argumentos, invoca o método no objecto local, recebe o resultado e encaminha-o no sentido inverso. 5 /11
12 3 Caso de estudo: Java RMI Construção de uma aplicação cliente-servidor em Java RMI Suponhamos um objecto servidor que implementa uma calculadora simples 1 Definir a interface do objecto remoto. tem de ser definida como subinterface de java.rmi.remote. todos os métodos têm de lançar (throws) a excepção java.rmi.remoteexception 2 Implementar a interface remota. o objecto remoto deve ser subclasse de java.rmi.server.unicastremoteobject e implementar a interface remota (definida em 1) Nota: qualquer classe usada como parâmetro ou resultado tem que ser serializável, i.e. implementar a interface java.io.serializable 3 Implementar o servidor. Criar uma instância do objecto e ligá-la ao serviço de nomes - RMI Registry 4 Desenvolver o cliente (programa ou applet) que usa a interface remota 5 Gerar stubs (proxies) e skeletons 6 Iniciar o RMI registry 7 Criar um ficheiro com politica de segurança 8 Executar o servidor e o cliente 5 /12
13 1 Interface do objecto remoto public interface Calculator extends java.rmi.remote { public long add(long a, long b) throws java.rmi.remoteexception; public long sub(long a, long b) throws java.rmi.remoteexception; public long mul(long a, long b) throws java.rmi.remoteexception; public long div(long a, long b) throws java.rmi.remoteexception; 2 Implementar a interface remota public class CalculatorImpl extends java.rmi.server.unicastremoteobject implements Calculator { // Implementations must have an explicit constructor in order to declare //the RemoteException exception public CalculatorImpl() throws java.rmi.remoteexception { super(); public long add(long a, long b) throws java.rmi.remoteexception { return a + b; public long sub(long a, long b) throws java.rmi.remoteexception { return a - b; public long mul(long a, long b) throws java.rmi.remoteexception { return a * b; public long div(long a, long b) throws java.rmi.remoteexception { return a / b; 5 /13
14 3 Implementar o servidor i) Criar um gestor de segurança e instalá-lo (!) ii) Criar uma instância do objecto remoto iii) Registar o objecto remoto no serviço de nomes (!) import java.rmi.*; public class CalculatorServer { // i) // ii) // iii) public CalculatorServer() { System.setSecurityManager ( new RMISecurityManager()); try { Calculator c = new CalculatorImpl(); Naming.rebind("rmi://localhost:1099/CalculatorService", c); catch (Exception e) { System.out.println("Trouble: " + e); public static void main(string args[]) { new CalculatorServer(); Notas:. Os servidores unicast são o tipo mais simples de servidor. Referências para ele são válidas apenas enquanto o processo que instanciou o objecto está a correr. Comunicação cliente/servidor usa o protocolo TCP. 5 /14
15 4 Implementar o cliente i)obter a referência do objecto a partir do serviço de nomes (RMI registry). É necessário saber o nome da máquina e do objecto remoto ii) Invocar operações remotas (métodos no objecto remoto). Podem gerar uma java.rmi.remoteexception import java.rmi.naming; import java.rmi.remoteexception; public class CalculatorClient { public static void main(string[] args) { try { Calculator c = (Calculator) Naming.lookup("rmi://remoteHost/CalculatorService"); System.out.println( c.sub(4, 3) ); System.out.println( c.add(4, 5) ); System.out.println( c.mul(3, 6) ); System.out.println( c.div(9, 3) ); catch (RemoteException re) { System.out.println("RemoteException"); System.out.println(re.getMessage();); 5 /15
16 5 Gerar stubs e skeletons É necessário ainda, - compilar o código:. javac *.java - gerar os stubs (proxies) e skeletons para os objectos remotos:. rmic CalculatorIMmpl Stubs e Skeltons são gerados, usando o compilador de rmi, rmic. Vai gerar dois ficheiros CalculatorImpl_Skell.class CalculatorImpl_Stub.class Se o stub do cliente é gerado na máquina do servidor, o cliente pode obtê-lo através da rede:. java Djava.rmi.server.codebase=file://.... java Djava.rmi.server.codebase= Na versão mais recente, não é necessária a classe Skeleton A informação necessária é obtida por introspecção.. rmic v Cliente Servidor int i = c.add(4, 5) CalculatorImp request add(4,5) 9 CalculatorImp_Stub reply 9 CalculatorImp_Skel request add(4,5) RMI Subsystem RMI Subsystem 5 /16
17 6 Iniciar o RMI registry Um cliente precisa de um meio para obter a referência do objecto remoto. Um serviço de nomes ( binder ) mantém uma tabela com a correspondência entre a referência remota do objecto e um nome textual (URL-style). O serviço de nomes é usado pelo servidor para registar os seus objectos remotos por um nome e pelo cliente para pesquisar se o servidor contém o objecto desejado. O serviço de nomes do Java RMI é o RMI registry, baseado na interface java.rmi.registry.registry que define as operações:. void rebind (String nomeobjecto, Remote objecto); // substitui a ligação para o nome especificado. void unbind (String nomeobjecto) // remove a referência do registo. Remote lookup (String nomeobjecto) // devolve a referência ligada ao nome especificado /17
18 6 Iniciar o RMI registry... O nome de um objecto remoto inclui:. O endereço da máquina que executa o RMIregistry, no qual o objecto remoto está registado. O porto onde o RMIregistry está à escuta (valor por omissão: 1099). O nome que o objecto remoto tem no RMIregistry [rmi:] [//] [nomemaquina] [:port] [/nomeobjecto] Para podermos executar o servidor é necessário iniciar o RMIregistry:. rmiregistry & (unix). start rmiregistry (windows) Acesso a um registry: A classe java.rmi.naming permite efectuar operações sobre um registry remoto 5 /18
19 7 Criar um ficheiro com a politica de segurança Em Java, através de um gestor de segurança (security manager) é possível controlar os privilégios do código a executar. Um servidor só necessita de um security manager se houver transferência de objectos de uma máquina para outra As permissões de um programa Java são especificadas num ficheiro de policy, por exemplo com: java -Djava.security.policy = file:d:\my_work\rmicalculator\calculator.policy Exemplo de um ficheiro de policy: grant { // allows anyone to listen on un-privileged port permission java.net.socketpermission "*: ", "listen,accept,connect"; ; Clientes necessitam de permissão de connect permission java.net.socketpermission localhost: ", "connect"; Servidores necessitam de permissão de accept e de connect para contactar o serviço de nomes permission java.net.socketpermission remotehost:1099", "accept,connect"; Perigoso: permission java.security.allpermission; 5 /19
20 8 Executar o servidor e o cliente. java CalculatorServer. java CalculatorClient Modelo de threading A especificação do Java RMI não faz garantias sobre o modelo de threading ao servir invocações remotas:. Uma única Thread pode ser usada para servir sucessivas invocações. Pode ser usada uma Thread por invocação Na prática, invocações remotas que cheguem concorrentemente a um dado objecto são despachadas para Threads diferentes Implementações de objectos remotos devem fazer o controlo de concorrência 5 /20
Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática
Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível
Num sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Invocação de Métodos Remotos
Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso
Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução
Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite
Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br
Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos
Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes
Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação
MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais
RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota
Invocação de Métodos Remotos RMI (Remote Method Invocation)
Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente
Sistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local
Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.
Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and
Adriano Reine Bueno Rafael Barros Silva
Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências
Sistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos
Middleware Camada Intermediária de Suporte a Sistemas Distribuídos Alternativas de comunicação entre processos (IPC) Mecanismos de IPC tradicionais (ou de baixo nível) Memória compartilhada, filas de mensagens,
A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla
PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1 1. Conceitos Básicos a. Invocação remota (RPC/RMI)
Sistemas Distribuídos
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
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)
PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1. Conceitos Básicos a. Invocação remota (RPC/RMI)
INF01018 Aula Prática 2 RMI Remote Method Invocation
1 / 18 INF01018 Aula Prática 2 RMI Remote Method Invocation Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais
Sistemas Distribuídos Métodos de Invocação Remota II. Prof. MSc. Hugo Souza
Sistemas Distribuídos Métodos de Invocação Remota II Prof. MSc. Hugo Souza Nesta aula, complementando os conceitos que vimos nas aulas anteriores [aula 15], vamos praticar a programação de laboratório
Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais
Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5
Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos
Tutorial RMI (Remote Method Invocation) por Alabê Duarte
Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos
15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado
Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida ([email protected]) Rede A Rede B Rede C 2015/01 - INF02799 Sistema
Invocação Remota MC704
Invocação Remota MC704 Aplicações distribuídas Aplicação distribuída: conjunto de processos que cooperam entre si para prover um serviço ou realizar uma computação normalmente processos precisam invocar
OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA
OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA SUMÁRIO Introdução Comunicação entre objetos distribuídos Eventos e Notificações 1.INTRODUÇÃO Middleware oferece: Transparência de localização Independência de protocolos
Sistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis [email protected] 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Objetos Distribuídos. Nazareno Andrade
Objetos Distribuídos Nazareno Andrade O Problema Orientação a objetos é um paradigma poderoso Modularidade, extensibilidade, manutenibilidade Porque distribuir os objetos: Localidade dos objetos Tolerância
Java RMI. Alcides Calsavara
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 de uma classe Java) situado em outra máquina
Invocação de Métodos em Objectos Remotos
Invocação de Métodos em Objectos Remotos Invocações de métodos remotas e locais A remote invocation B local C invocation local E invocation local invocation D remote invocation F Page 1 1 Invocação de
Grupo I [6,6v] Responda com os valores que se observam depois da chamada acontecer. 1 Falta na mensagem de resposta. Valor retornado na chamada
Número: Nome: Pági 1 de 6 LEIC/LETI 2013/14, Repescagem do 1º Teste de Sistemas Distribuídos, 1/7/14 Responda no enunciado, apes no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I
Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.
Número: Nome: Página 1 de 6 LEIC/LETI, 2014/15, Repescagem do 1º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
UNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira neto Aula 17-18: Middleware: Implementação de RMI (cont.), RPC, Modelo de Eventos, Exemplo com Java RMI Chamadas dinâmicas
Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9
Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através
Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
Java RMI - Remote Method Invocation. Programação com Objetos Distribuídos (C. Geyer) Java-RMI 1
Java RMI - Remote Method Invocation Programação com Objetos Distribuídos (C. Geyer) Java-RMI 1 Autores Autoria Cláudio Geyer Marcelo Castiglia Pereira Local Instituto de Informática UFRGS disciplinas:
INE5380 - Sistemas Distribuídos
INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção
INTRODUÇÃO. RPC x RMI
1 INTRODUÇÃO RPC x RMI 2 INTRODUÇÃO RPC Remote procedure call Este termo é utilizado para aplicativos clientes que fazem normalmente chamadas a procedimentos remotos que estão em outro processo e hosts.
Middleware de Aplicações Paralelas/Distribuídas
Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware
Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a
Sistemas Distribuídos
Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos
Sistemas Distribuídos Métodos de Invocação Remota IV. Prof. MSc. Hugo Souza
Sistemas Distribuídos Métodos de Invocação Remota IV Prof. MSc. Hugo Souza Nesta aula, complementando os conceitos que vimos nas aulas anteriores [aula 15, aula 16 e aula 17], vamos praticar a segunda
UNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação
Comunicação. Parte II
Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor
Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.
Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services
Capítulo II Modelos de Programação Distribuída
Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent
Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.
Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas
Desenvolvimento Cliente-Servidor 1
Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados
SISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Sistemas Distribuídos e Infraestrutura. SO: todas as aulas em http:// www.cin.ufpe.br/~cagf/ if677/2014-2/
Sistemas Distribuídos e Infraestrutura de SW de Suporte SO: todas as aulas em http:// www.cin.ufpe.br/~cagf/ if677/2014-2/ Sistema de Software É composto por uma sequência de instruções, que é interpretada
Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)
Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido
APÊNDICE A EXEMPLO DE APLICAÇÃO
APÊNDICE A EXEMPLO DE APLICAÇÃO Para ilustrar os três métodos de distribuição de objetos apresentados nesta dissertação iremos, a seguir, mostrar um exemplo de implementação de uma aplicação. São apresentadas
Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006
Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006 NOTAS:
Num sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 9-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS
Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos
Sistemas Distribuídos
Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente
Sistemas Distribuídos
Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2 Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo
Sistemas Distribuídos: Conceitos e Projeto Java RMI
Sistemas Distribuídos: Conceitos e Projeto Java RMI Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 19 de agosto
Programação com sockets (em Java)
com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission
Sistemas Distribuídos RPC Remote Procedure Call
Sistemas Distribuídos RPC Remote Procedure Call Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Cliente/Servidor Quais os problemas? Baseado em E/S Erro propagado
Desenvolvimento de Aplicações Java/CORBA
Tutorial Desenvolvimento de Aplicações Java/CORBA Emerson Ribeiro de Mello, Fábio Favarim e Joni da Silva Fraga {emerson, fabio, [email protected] Este tutorial ensina como criar uma aplicação distribuída
Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Distributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 04: Comunicação Versão: 20 de março de 2014
Modelos Arquiteturais
Modelos Arquiteturais Carlos Ferraz [email protected] Tópicos da Aula Modelos arquiteturais e-servidor Objetos distribuídos 2 O que é um modelo arquitetural? Estrutura em termos de componentes especificados
Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1
.NET Remoting Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1 Autoria Autores 1a versão Fabio Augusto Dal Castel colaboração revisão Eduardo F. Seganfredo Rodrigo Gatto C. Geyer Programação
Java 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Carlos Ferraz [email protected]
Modelos Arquiteturais Carlos Ferraz [email protected] Tópicos da Aula! Cliente-servidor! Peer processes (P2P)! Objetos distribuídos 2003 Carlos A. G. Ferraz 2 O que é um modelo arquitetural?! Estrutura
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
UFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares [email protected] Aula 13 Web Services Web Services
Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005
Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
RMI/JNDI - Fundamentos
c o l u n a Professor J RMI/JNDI - Fundamentos Um exemplo prático do que são e de como funcionam RMI e JNDI Roberto Vezzoni ([email protected]): SCJP, faz Ciência da Computação na Faesa e atua
RMI: Uma Visão Conceitual
RMI: Uma Visão Conceitual Márcio Castro, Mateus Raeder e Thiago Nunes 11 de abril de 2007 Resumo Invocação de Método Remoto (Remote Method Invocation - RMI) trata-se de uma abordagem Java para disponibilizar
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Nuno Preguiça (nuno.preguica_at_di.fct.unl.pt) http://asc.di.fct.unl.pt/sd1 Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 OBJECTIVOS
Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Serviços Web: Introdução
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Keeper of Knowledge. Capítulo 2 Classes em Java
Capítulo 2 Classes em Java INTRODUÇÃO Uma classe é um conjunto de software que representa uma realidade qualquer, que pode ser representada por números e símbolos. Uma classe possui dados de um ou mais
CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida [email protected]
CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida [email protected] Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações
Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:
Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em
Comunicação usando soquetes.
Soquetes Um soquete é definido como uma extremidade de um canal de comunicação. Um par de processos (ou threads) se comunica em uma rede utilizando um par de soquetes - um para cada processo. Um soquete
Objetos Distribuídos em Java
J530 - Enterprise JavaBeans Objetos Distribuídos em Java Helder da Rocha ([email protected]) argonavis.com.br 1 Objetivo O objetivo deste módulo é fornecer os pré-requisitos de computação distribuída necessários
Um pouco do Java. Prof. Eduardo
Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.
UNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013
Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4. Unidade Curricular
Introdução. Sistemas Distribuídos. Mas, o que é um sistema distribuído? Seriamente. Professor: Paulo Jorge Marques. Professora Práticas: Pinki Meggi
Introdução Sistemas Distribuídos Professor: Paulo Jorge Marques Email: [email protected] Universidade de Coimbra, Portugal Área de Sistemas Distribuídos Curso de Eng. Informática ISCTEM, Julho 2007 Professora
Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor
Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do
Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais
Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação
Departamento de Informática
Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos exame de recurso, 9 de Fevereiro de 2012 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação
