STD29006 Sistemas Distribuídos
|
|
- Eric Casqueira Castilhos
- 6 Há anos
- Visualizações:
Transcrição
1 STD29006 Sistemas Distribuídos Comunicação II Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José 05 de setembro de /29
2 Revisão das aulas anteriores 2/29
3 Alguns pontos na comunicação cliente/servidor Protocolo de comunicação Podem ser definidos como acordos/regras para comunicação Podem ser orientados a conexão ou não (Ex: TCP x UDP) Modelo de comunicação cliente/servidor Servidores oferecem serviços aos clientes Paradigma pedido e resposta Implementação: Socket, RPC e RMI 2/29
4 Alguns pontos na comunicação cliente/servidor Endereçamento Como localizar o servidor? Conhecimento prévio, broadcast ou serviço de nomes Bloqueante x não bloqueante Síncrono emissor/receptor fica bloqueado até enviar/receber mensagem Assíncrono emissor não fica bloqueado e o retorno também não bloqueia Área de armazenamento temporário (buffer) - com x sem Servidor precisa ficar esperando uma mensagem antes que o cliente possa enviá-la (consumo imediato) Cliente envia para uma área de armazenamento temporário e o servidor depois consulta esta área 3/29
5 Alguns pontos na comunicação cliente/servidor Confiável x não confiável Canal não confiável: exige confirmação de todas mensagens (pedido e resposta) aplicação fica responsável Canal confiável: a resposta pode atuar como uma confirmação do pedido Comunicação confiável pode delegar para os mecanismos de transporte lidarem com mensagens perdidas Servidor concorrente x sequencial Sequencial: servidor atende um pedido por vez Concorrente: servidor dispara uma thread ou processo filho para lidar com cada pedido que chega 4/29
6 Receber (pull) ou enviar (push) Cliente: modelo pull (receber) Cliente responsável por obter dados do servidor (envia pedido) Ex: HTTP Vantagem: servidor não precisa manter estado Dificuldade: escalabilidade limitada Servidor: modelo push (enviar) Servidor envia dados para o cliente Ex: Streaming de vídeo Vantagem: mais escalável Dificuldade: servidor precisa manter estado 5/29
7 Comunicação em grupo: um para muitos Algumas características Características de um grupo estáticos ou dinâmicos abertos ou fechados Endereçamento de um grupo Multicast, broadcast Multicast na camada da aplicação (unicast) Atomicidade, ordenação de mensagens e escalabilidade 6/29
8 Objetos distribuídos e invocação de métodos remotos 7/29
9 Objetos distribuídos e invocação de métodos remotos Chamada Remota de Procedimento RPC Permite que processos locais realizem chamadas de procedimentos que estão localizados em outras máquinas 7/29
10 Objetos distribuídos e invocação de métodos remotos Chamada Remota de Procedimento RPC Permite que processos locais realizem chamadas de procedimentos que estão localizados em outras máquinas Invocação de Métodos Remotos RMI Semelhante ao RPC, porém voltado para objetos distribuídos Usufrui do paradigma da programação orientada a objetos Estende o conceito de referência de objetos para um ambiente global distribuído Objeto residente em um processo pode invocar métodos de um objeto residente em um outro processo 7/29
11 RPC vs RMI Semelhanças entre RPC e RMI Diferenças entre RCP e RMI 8/29
12 RPC vs RMI Semelhanças entre RPC e RMI Fazem uso de linguagem de descrição de interfaces (IDL) São construídos sobre protocolos pedido e resposta Oferecem o mesmo nível de transparência ao desenvolvedor Diferenças entre RCP e RMI 8/29
13 RPC vs RMI Semelhanças entre RPC e RMI Fazem uso de linguagem de descrição de interfaces (IDL) São construídos sobre protocolos pedido e resposta Oferecem o mesmo nível de transparência ao desenvolvedor Diferenças entre RCP e RMI Com o RMI o desenvolvedor poderá usufruir das facilidades da POO objetos, classes, herança,... Objetos possuem uma referência única em todo o sistema Oferece maior riqueza na semântica quando passados como parâmetros Objetos podem ser passados nos parâmetros por referência (e não somente por valor) 8/29
14 RMI Modelo orientado a objeto Atributos de objetos são acessados por meio de seus métodos Interfaces Provê a definição de um conjunto de métodos, sem no entanto prover implementação para os mesmos Arquiteturas de sistemas de objetos distribuídos Cliente e servidor um objeto ao invocar um método de um objeto distribuído resulta em enviar uma mensagem pela rede e aguardar por uma resposta Replicação Um mesmo objeto pode ser replicado em todas as máquinas do SD, trazendo benefícios de desempenho e propiciando uma tolerância a faltas 9/29
15 Modelo de objetos distribuídos Cada processo possui uma coleção de objetos, os quais estão aptos a receber invocações locais ou remotas Referência de objeto remoto um objeto só poderá invocar métodos de outros objetos que este possuir a referência Interface remota cada objeto remoto possui uma interface que especifica quais de seus métodos poderão ser invocados remotamente 208 CHAPTER 5 REMOTE INVOCATION Figure 5.13 objetos dentro de um mesmo processo poderão invocar os métodos remotos e também os locais A remote object and its remote interface remoteobject Data remote interface m1 m2 implementation { m3 of methods m4 m5 m6 10/29
16 Modelo de objetos distribuídos Coletor automático de lixo Se a linguagem permitir (p.e. Java), a coleta de lixo distribuída é possível através da interação entre os coletores locais Se a linguagem não permitir (p.e. C++), então cabe ao desenvolver se preocupar em liberar a memória de objetos remotos que não são mais usados Exceções Qualquer invocação remota poderá falhar e assim deverá disparar exceções servidor onde está objeto distribuído fica indisponível servidor está muito ocupado para responder resposta pode ser perdida 11/29
17 Implementação RMI Módulo de comunicação (no cliente e servidor) Responsável pela comunicação entre cliente e servidor Módulo de referência de objetos remotos (no cliente e servidor) Responsável por traduzir as referências entre objetos remotos e locais Proxy (no cliente) Faz com que as invocações remotas sejam transparentes para o cliente Ao receber uma inovação local, este encaminha uma mensagem para o objeto remoto Servants (no servidor) Instância da classe que provê o objeto remoto Responsável por receber as invocações remotas 12/29
18 Implementação RMI Skeleton (no servidor) Associado a uma classe de um objeto remoto é onde estão as implementações dos métodos da interface remota Atividades de empacotamento e desempacotamento acontecem aqui Dispatcher (no servidor) gure 5.15 Um servidor possui um skeleton e um dispatcher para cada classe de objeto remoto que prover. Responsável por: receber um pedido do módulo de comunicação; e invocar o método no skeleton 0 CHAPTER 5 REMOTE INVOCATION The role of proxy and skeleton in remote method invocation client object A proxy for B Request server skeleton & dispatcher for B s class remote object B Reply Remote Communication reference module module Communication module Remote reference module servant all the marshalling and unmarshalling are the concern of the RMI software, discussed 13/29
19 Implementações de modelos de objetos distribuídos CORBA Linguagem de Descrição de Interface: CORBA IDL Compilador IDL para diferentes linguagens de programação: Python, C++, Java Implementações: JacORB, R2CORBA, TAO, VBOrb, omniorb Java RMI Linguagem de Descrição de Interface: Interfaces Java Objetos remotos e programas clientes devem ser escritos em Java 14/29
20 Java RMI Serviço de registro pode ser iniciado na linha de comando: rmiregistry & ou dentro do código Java: 1 Registry registro = LocateRegistry.createRegistry(PORTA); 15/29
21 Exemplo RMI: Contador distribuído Interface Java que deve ser compartilhada pelo cliente e servidor 2 package std; 3 public interface ContadorDistribuido extends Remote{ 4 public void incrementa() throws RemoteException; 5 public int obtemvalor() throws RemoteException; 6 } Implementação da Interface pelo Servidor 7 package std; 8 public class Contador implements ContadorDistribuido{ 9 public int valor = 0; 10 public void incrementa() throws RemoteException { 11 this.valor++; 12 } 13 public int obtemvalor() throws RemoteException { 14 return this.valor; 15 } 16 } 16/29
22 Exemplo RMI: Contador distribuído Servidor 17 package std; 18 public class Servidor{ 19 public static void main(string[] args){ 20 try { 21 Contador c = new Contador(); System.setProperty("java.rmi.server.hostname","IP-do-servidor"); 24 ContadorDistribuido stub = 25 (ContadorDistribuido) UnicastRemoteObject.exportObject(c, 0); Registry registro = LocateRegistry.createRegistry(1234); 28 registro.bind("meucontador", stub); System.out.println("Servidor pronto!"); } catch (Exception e) { 33 System.err.println("erro: " + e.tostring()); 34 } 35 } 36 } 17/29
23 Exemplo RMI: Contador distribuído Cliente 37 package std; 38 public class Cliente{ 39 public static void main(string[] args){ 40 try { 41 Registry registro = 42 LocateRegistry.getRegistry("IP-servidor", 1234); 43 ContadorDistribuido stub = 44 (ContadorDistribuido) registro.lookup("meucontador"); System.out.println("valor: " + stub.obtemvalor()); 47 stub.incrementa(); 48 System.out.println("valor: " + stub.obtemvalor()); } catch (Exception e) { 51 System.err.println("erro: " + e.tostring()); 52 } 53 } 54 } 18/29
24 Comunicação por mensagens 19/29
25 Comunicação transitória por mensagens Embora RPC e RMI contribuam para esconder a comunicação no sistema distribuídos (transparência), estes assumem que ambas as partes estarão ativas no mesmo instante para permitir a comunicação 19/29
26 Comunicação transitória por mensagens Embora RPC e RMI contribuam para esconder a comunicação no sistema distribuídos (transparência), estes assumem que ambas as partes estarão ativas no mesmo instante para permitir a comunicação Server socket bind listen accept read write close Synchronization point Communication socket connect write read close Client 19/29
27 Comunicação persistente por mensagens Middleware orientado a mensagem (MOM) sistema de fila de mensagens Provê suporte a comunicação assíncrona e persistente Cliente e servidor não precisam estar ativos no mesmo instante para permitir a troca de mensagens Comunicação entre aplicações é feita por meio de filas de mensagens Mensagens podem ser roteadas por diversos servidores intermediários e eventualmente ser entregue ao destino 20/29
28 Comunicação persistente por mensagens Middleware orientado a mensagem (MOM) sistema de fila de mensagens Provê suporte a comunicação assíncrona e persistente Cliente e servidor não precisam estar ativos no mesmo instante para permitir a troca de mensagens Comunicação entre aplicações é feita por meio de filas de mensagens Mensagens podem ser roteadas por diversos servidores intermediários e eventualmente ser entregue ao destino Quando usar? Quando as partes estiverem interconectadas por meio de uma WAN, cuja probabilidade de desconexão temporária não for desprezível 20/29
29 Modelo de fila de mensagens Comunicação persistente e assíncrona desacoplamento temporal Mensagens ficam armazenadas até que o receptor possa consumi-las Emissor só tem garantia que a mensagem será eventualmente inserida na fila do receptor Quando a mensagem será consumida ou se será consumida, isto depende do comportamento do receptor Sender running Sender running Sender passive Sender passive Receiver running Receiver passive Receiver running Receiver passive (a) (b) (c) (d) 21/29
30 Interface básica para sistemas de filas de mensagens PUT Colocar uma mensagem em uma fila GET Se a fila estiver vazia ficará bloqueada até chegar mensagem. Remove a primeira mensagem que estiver na fila POLL Verificar se existe mensagem em uma fila específica e remover a primeira. Neste caso, não fica bloqueado NOTIFY Definir uma função que será invocada sempre que uma mensagem for inserida na fila 22/29
31 Arquitetura básica de um sistema de filas de mensagens Cada fila possui um identificador único em todo o sistema distribuído e as mensagens são destinadas para uma fila Filas são distribuídas por diversas máquinas Identificar cada fila implica em fazer um mapeamento para endereços de rede e portas Cada máquina oferece uma interface para o envio e recepção de mensagens Máquinas clientes podem estar ligadas a uma ou mais máquinas servidoras responsáveis pelo encaminhamentos de mensagens (roteamento) 23/29
32 Organização de um sistema de filas de mensagens com roteadores Sender A Application Receive queue Send queue Message R2 Application Application R1 Application Router Receiver B 24/29
33 Java Message Service JMS API que permite a criação, envio, recebimento e leitura de mensagens de forma confiável, assíncrona e com baixo acoplamento temporal Uma aplicação JMS é composta por Clientes enviam e recebem mensagens Mensagens informações a serem trocadas Objetos administrados objetos para serem usados pelos clientes Provedor é o sistema de mensagens com funções de administração e controle da aplicação Modos de operação ponto a ponto publish/subscribe 25/29
34 Modo Ponto a Ponto Mensagens são mantidas nas filas até que alguém as consuma ou até que expirem Cada mensagem possui um único consumidor 26/29
35 Modo publish/subscribe Produtores e consumidores podem publicar e assinar tópicos Quando uma mensagem é publicada em um determinado tópico, o JMS distribui esta mensagem para todos os assinantes A mensagens ficam retidas nos tópicos até serem entregues a todos os assinantes 27/29
36 Outras implementações de comunicações por mensagens Advanced Message Queuing Protocol AMQP Padrão aberto para middleware orientado à mensagens enfileiramento, roteamento ponto-a-ponto ou pub-sub, confiabilidade e segurança Apache ActiveMQ Apache Qpid RabbitMQ ZeroMQ Message Queue Telemetry Transport MQTT Padrão ISO baseado em uma versão leve do publish-subscribe para ser usado sobre TCP/IP ambientes que exigem código pequeno & taxa de transmissão baixa Mosquitto 28/29
37 Exercícios 1 Java RMI Executar o exemplo disponível em 2 RabbitMQ & Java Executar os exemplos disponíveis em 29/29
Comunicação orientada a mensagens
Comunicação orientada a mensagens STD29006 Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/std 31 DE AGOSTO DE 2018 Revisão das aulas anteriores Alguns pontos
Leia maisSistemas Operacionais II
Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisSistemas Distribuídos
Sistemas Distribuídos RPC Remote Procedure Call 1 Fonte: Alcides Calsavara e Thais V. Batista Chamada de Procedimentos Remotos (RPC) Motivação: comunicação baseada em operações de entrada/saída Ideal:
Leia maisComunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.
Tópicos Comunicação Carlos Ferraz cagf@cin.ufpe.br Elementos básicos de comunicação Transmissão de dados Endereçamento Sincronismo Enfileiramento (Bufferização) Confiabilidade Portas e sockets UDP RPC:
Leia maisProgramando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD
Leia maisINTRODUÇÃ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.
Leia maisVamos fazer um pequeno experimento
1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com
Leia maisSistemas Distribuídos
Chamada Remota de Procedimento março de 2019 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e
Leia maisSistemas Distribuídos Aula 2
Sistemas Distribuídos Aula 2 Aula passada Logísitica Regras do jogo Definição e características Exemplos Aula de hoje Processos IPC Características Ex. sinais, pipes, sockets Objetivos Processos O que
Leia maisSistemas Distribuídos Aula 10
Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação
Leia maisPrincipais conceitos de CORBA
Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem
Leia maisach 2147 desenvolvimento de sistemas de informação distribuídos
ach 2147 desenvolvimento de sistemas de informação distribuídos comunicação Daniel Cordeiro 25 e 27 de abril de 2017 Escola de Artes, Ciências e Humanidades EACH USP protocolos em camadas Camadas de baixo
Leia maisObjetos 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
Leia mais15/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 (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema
Leia maisDados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição
6LVWHPDV'LVWULEXtGV 0GHO&OLHQWH6HUYLGU &PXQLFDom 6XPiUL Introdução Elementos Básicos de Comunicação Comunicação Cliente-Servidor Comunicação em Grupo Chamada emota de Procedimento (PC) Prof a. Cristina
Leia maisJava 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
Leia maisComunicação Objetos Distribuídos e RMI
Sistemas Distribuídos Comunicação Objetos Distribuídos e RMI - Parte 2 - Instituto de Informática UFG Verão 2005 Baseado em: Tanenbaum, Capítulo 2 Chamadas de Objetos: Chamadas Remotas e Chamadas Locais
Leia maisNum 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
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 5 - PROGRAMAÇÃO DISTRIBUÍDA COM RMI 1 (Remote Method Invocation) 1. INTRODUÇÃO Sistemas distribuídos necessitam que aplicações, executando em vários espaços de endereçamento, normalmente em diferentes
Leia maisRPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
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
Leia maisMessage Oriented Middleware (MOM)
Message Oriented Middleware (MOM) November 1, 2009 Sumário Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes
Leia maisInvocação Remota. Prof. Leonardo Barreto Campos. 1/29
Invocação Remota Prof. Leonardo Barreto Campos 1/29 Sumário Introdução Chamada de Procedimento Remoto Invocação a Método Remoto Leitura Complementar Bibliografia 2/29 Introdução Essa aula trata como os
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local
Leia maisRoteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens
Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos
Leia maisSistemas Distribuídos: Conceitos e Projeto RPC e RMI
Sistemas Distribuídos: Conceitos e Projeto RPC e 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 15 de abril
Leia maisSumário. Message Oriented Middleware (MOM) Sincronização na Comunicação. Comunicação Assíncrona
Sumário Message Oriented Middleware (MOM) October 16, 2008 Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes
Leia maisRedes de Computadores e Aplicações
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Redes de Computadores e Aplicações Aula 13 - Camada de Aplicação Visão Geral Prof. Diego Pereira
Leia maisInfra-Estrutura de Software
Infra-Estrutura de Software Entrada / Saída 2º. EE: 21/06 Próximas Datas http://www.cin.ufpe.br/~cagf/if677/2016-1/ slides/ Revisão de notas: 28/06 FINAL: 30/06 Diversidade de dispositivos Hardware de
Leia maisInformática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1
Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Autor Autor Local Cláudio Geyer Instituto de Informática disciplinas: POD e PDP Versão v4 2010-1 Programação com Objetos Distribuídos
Leia maisSPEEDMiddleware - MOM
SPEEDMiddleware - MOM Equipe: Guilherme Barros de Souza Plataformas de Distribuição 2010.1 Objetivo Implementar um middleware orientado a mensagem; Organizar e abstrair as camadas de distribuição e infra-estrutura
Leia maisComunicação. capítulo
Comunicação capítulo 4 Camadas de protocolos: Modelo OSI Camadas de protocolos: Mensagem Protocolos de baixo nível Estas camadas implementam as funções básicas que envolvem uma rede de computadores: Física:
Leia maisach 2147 desenvolvimento de sistemas de informação distribuídos
ach 2147 desenvolvimento de sistemas de informação distribuídos comunicação Daniel Cordeiro 25 e 27 de abril de 2018 Escola de Artes, Ciências e Humanidades EACH USP rpc na prática Uuidgen Interface definition
Leia maisSistemas Distribuídos
Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Introdução: Sockets Para estabelecer a Comunicação Interprocesso nos Sistemas Distribuídos,
Leia maisChamada Remota de Procedimento (RPC)
Chamada Remota de Procedimento (RPC) cont semântica de chamadas pelo menos uma vez no máximo uma vez exatamente uma vez relação com protocolo subjacente falhas e reinicializações de servidores funções
Leia maisDesenvolvimento de Aplicações Distribuídas
Arquitetura Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura
Leia maisSistemas Operacionais Distribuídos e de Redes
Contextualização Sistemas Operacionais Distribuídos e de Redes Comunicação Interprocessos Aula 04 Aula 04 Aplicação, serviços RMI e RPC Protocolo - (requisição-resposta) marshalling e representaçao externa
Leia maisProtocolo Request-Reply
n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de
Leia maisJava RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
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
Leia maisFirewall - Inspeção com estado. (Stateful Inspection)
Proxy e FIREWALL Firewall - Inspeção com estado. (Stateful Inspection) As primeiras gerações de firewall eram ditos "stateless". Cada pacote é analisado individualmente, sem levar em conta pacotes anteriores
Leia maisRMI e RPC. RPC significou um passo muito grande em direcção à
Sumário RMI Conceito. Arquitectura de Implementação. Java RMI Características. Interfaces e Objectos Remotos JVM e Java RMI. Passagem de Argumentos e Serialização. Class Downloading. 1 RMI e RPC RPC significou
Leia maisJava Message Service (JMS)
Java Message Service (JMS) Disciplina de Sistemas Distribuídos Prof. Cristiano André da Costa Luiz Henrique Feltes Roteiro Introdução; Arquitetura; Vantagens / Desvantagens; Componentes do JMS; Códigos
Leia maisComunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens
Comunicação entre processos Memória Compartilhada: os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Sem Memória Compartilhada:
Leia maisProjecto hipotético para resolvermos hoje
Projecto hipotético para resolvermos hoje 12/13 Sistemas Distribuídos 1 Projecto hipotético para resolvermos hoje Implementar servidor de contagem que mantém contador e oferece estas operações aos clientes:
Leia maisComunicação entre Processos
Comunicação entre Processos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Comunicação entre Processos: Soquetes Comunicação por datagrama UDP Comunicação
Leia maisOBJETOS 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
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Leia maisCOMUNICAÇÃO ENTRE PROCESSOS
Comunicação entre processos Memória Compartilhada: os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Sem Memória Compartilhada:
Leia maisCOMPUTAÇÃO DISTRIBUÍDA
COMPUTAÇÃO DISTRIBUÍDA INTRODUÇÃO Carlos Ferraz MOTIVAÇÃO Computação em evolução Antes disso Sistemas de Software (Aplicações) Infraestrutura de Software Infraestrutura de Hardware Infraestrutura
Leia maisSistemas Distribuídos
Chamada Remota de Procedimento abril de 2017 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e
Leia maisProf. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
Leia maisSistemas de Objectos Distribuídos
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 2000 Paula
Leia maisCommon Object Request Broker Architecture
Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores
Leia maisSistemas Distribuídos CORBA. Edeyson Andrade Gomes.
Sistemas Distribuídos CORBA Edeyson Andrade Gomes www.edeyson.com.br Introdução Middleware Camada de software que abstrai a complexidade e a heterogeneidade do ambiente distribuído Objetivos Facilita a
Leia maisDesenvolvimento de Aplicações Distribuídas
Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características
Leia maisSistemas Distribuídos baseados em Coordenação. Pedro Ferreira DI - FCUL
Sistemas Distribuídos baseados em Coordenação Pedro Ferreira DI - FCUL Introdução Uma visão diferente sobre os sistemas distribuídos: Consideramos sistemas inerentemente distribuídos que se modificam com
Leia maisObjetos e Componentes Distribuídos: EJB e CORBA
: EJB e CORBA 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
Leia maisProgramação com Sockets
Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas
Leia maisInvocaçã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
Leia maisSockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets
Sockets - Conceitos Básicos COMUNICAÇÃO ENTRE PROCESSOS Sockets! Sockets são uma forma de IPC (InterProcess Communication ) fornecida pela 4.3 BSD que fornecem comunicação entre processos residentes em
Leia maisMIDDLEWARE 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
Leia maisSistemas de Objetos Distribuídos
Sistemas de Objetos Distribuídos Alex Carneiro Carlos Eduardo Elmadjian Karina Awoki Prof. Fabio Kon POO 2016.1 Agenda Conceitos Histórico CORBA Demos Comparação com SOA Conclusão 1 CONCEITOS Sistemas
Leia maisSockets e Threads em Java
Sockets e Threads em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R Y A N O Comunicação
Leia maisUNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula
Leia maisArquitetura de sistemas distribuídos
Arquitetura de sistemas distribuídos 3. Comunicação nos Sistemas Distribuídos 3.1.Introdução aos modelos de comunicação 3.2 Modelo Cliente-Servidor 3.3.Comunicação através de Sockets 3.3 Chamada a procedimento
Leia maisCaracterísticas de Sistemas Distribuídos
Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito
Leia maisCaracterísticas de Sistemas Distribuídos
Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens
Leia maisUFG - 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 professor.fabrizzio@gmail.com Aula 12 Beans Orientados a
Leia maisTópicos em Sistemas Distribuídos CORBA
Tópicos em Sistemas Distribuídos CORBA Introdução - Middleware Middleware camada de software distribuído, ou plataforma que abstrai a complexidade e a heterogeneidade do ambiente distribuído formado por
Leia maisInvocaçã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
Leia maisUNIVERSIDADE. 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
Leia maisPrincí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
Leia maisSistemas Distribuídos Capítulo 8 - Aula 14
Sistemas Distribuídos Capítulo 8 - Aula 14 Aula Passada Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo Aula de hoje Comunicação Confiável Cliente-Servidor Comunicação
Leia maisArquitetura de Software Parte 2/3-Estilos Arquiteturais. Jorge H. C. Fernandes Junho de 1999
Arquitetura de Software Parte 2/3-Estilos Arquiteturais Jorge H. C. Fernandes Junho de 1999 Estilos Arquiteturais mais Comuns (Mary Shaw, 96) Data flow Batch Pipes e filtros Chamada e retorno Programa
Leia maisDesenvolvimento de Aplicações Distribuídas
Comunicação Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura
Leia maisSISTEMAS 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
Leia maisSistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21
Sistemas de Objetos Distribuídos Primeira Aplicação Java ORB Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosPrimeira Aplicação
Leia maisJavaTM RMI - Remote Method Invocation
JavaTM RMI - Remote Method Invocation Java e Engenharia de Software Orientada a Objetos por Jorge H. C. Fernandes (jhcf@di.ufpe.br) CESAR-DI-UFPE Julho de 1999 Objetivos desta Aula Mostrar o modelo de
Leia maisArquitetura de Computadores Sistemas Operacionais II
Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa
Leia maisUFG - 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 professor.fabrizzio@gmail.com Aula 11 Serviços de Envio de
Leia maisINTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 10. Operações nos processos. Processos cooperativos, comunicação entre processos.
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANA 10 Operações nos processos. Processos cooperativos, comunicação entre processos. 1 - Introdução Um processo, ao longo da sua vida, passa por diferentes
Leia maisSistemas Operacionais II
Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II Comunicação e sincronização por troca de mensagens Aula 0 Em ambientes de memória distribuída a comunicação e a sincronização entre
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 3-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra
Leia maisFUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão
Unidade 5 Camada de Transporte e Aplicação Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP
Leia maisSISTEMAS DISTRIBUÍDOS. CAPÍTULO 4 COMUNICAÇÃO Slides cedidos pela professora Aline Nascimento e do livro texto
SISTEMAS DISTRIBUÍDOS CAPÍTULO 4 COMUNICAÇÃO Slides cedidos pela professora Aline Nascimento e do livro texto MIDDLEWARE ORIENTADO A MENSAGEM (MOM) Serviços de middleware orientados a mensagem conhecidos
Leia maisGrupo I [7v] b) [0,3] Em que componente do sistema de RPC será utilizado o campo identificador de operação?
Número: Nome: Página 1 de 7 LEIC/LETI 2013/14, 1º Teste de Sistemas Distribuídos, 29 de Março de 2014 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maisCOMPUTAÇÃO DISTRIBUÍDA
COMPUTAÇÃO DISTRIBUÍDA INTRODUÇÃO Carlos Ferraz MOTIVAÇÃO Computação em evolução Antes disso Sistemas de Software (Aplicações) Infraestrutura de Software Infraestrutura de Hardware Infraestrutura
Leia maisProgramação concorrente (processos e threads)
Programação concorrente (processos e threads) Programação concorrente Por que precisamos dela? Para utilizar o processador completamente Paralelismo entre CPU e dispositivos de I/O Para modelar o paralelismo
Leia maisJava 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
Leia maisRedes de Computadores e Aplicações Camada de aplicação IGOR ALVES
Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,
Leia maisAULA ANTERIOR: MODELOS FUNDAMENTAIS
AULA ANTERIOR: MODELOS FUNDAMENTAIS Modelos fundamentais de um sistema distribuído Permitem estabelecer quais as premissas existentes a respeito de aspetos chave. Permitem avaliar de forma objetiva as
Leia maisAULA 3 - REDES. Prof. Pedro Braconnot Velloso
AULA 3 - REDES Prof. Pedro Braconnot Velloso Resumo da última aula Começo da Internet Princípios básicos Comutação pacotes x circuitos Protocolos Arquitetura em camadas Arquitetura TCP/IP APLICAÇÃO TRANSPORTE
Leia maisApplication protocol. Presentation protocol. Session protocol. Transport protocol. Network protocol. Data link protocol. Physical protocol.
Application Presentation Session Transport Network Data link Physical Application protocol Presentation protocol Session protocol Transport protocol Network protocol Data link protocol Physical protocol
Leia maisMessage Oriented Middleware & Message Brokers
Message Oriented Middleware & Message Brokers Tecnologias de Middleware Pedro Miguel Martins Nunes Curso de Especialização em Informática 06/07 Departamento de Informática Faculdade de Ciências da Universidade
Leia maisNúmero: Nome: Página 1 de 7. Duração da prova: 1h30m. Grupo I [7] Considere o seguinte excerto (incompleto) de um programa cliente em SUN RPC:
Número: Nome: Página 1 de 7 LEIC/LETI 2016/17, Repescagem do 1º Teste de Sistemas Distribuídos 4 de julho de 2017 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma
Leia maisSISTEMAS 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
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Modificadores de Acesso: public e private Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 31 de julho de
Leia maisResumo das Propriedades de UDP e de TCP
Relembrando... Processos duma aplicação distribuída comunicam via mensagens. O formato e o significado destas mensagens depende do protocolo usado. As mensagens são transportadas entre processos através
Leia maisExemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança. Callbacks. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR
n n n n Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança Callbacks Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Estende o modelo de objeto Java para fornecer suporte
Leia mais