Transacções distribuídas:

Tamanho: px
Começar a partir da página:

Download "Transacções distribuídas:"

Transcrição

1 Transacções distribuídas: Three-Phase Commit (3PC) Departamento de Engenharia Informática É não-bloqueante: Todos os processos que não falham eventualmente decidem Qual a condição de terminação no 2PC? Problema no 2PC: se coordenador falha antes de enviar mensagem da fase 2 (resultado) a um processo correcto Processo correcto não pode decidir commit pois algum processo pode ter votado não Também não pode decidir abort pois processo pode ter decidido commit e posteriormente falhado

2 Transacções distribuídas: Three-Phase Commit (3PC) Departamento de Engenharia Informática Solução: protocolo deve garantir que se um processo está incerto, então nenhum processo pode ter decidido commit Criar um novo estado: Pré-Confirmar, antecede o commit Em caso de falha do coordenador, eleger novo coordenador

3 Transacções distribuídas: 3PC - diagramas de estados Departamento de Engenharia Informática Coordenador Participante Inicial Inicial - (Preparar) Preparar (voto não) Preparar (voto sim) Protocolo Terminação Esperar Preparado Um voto não (Abortar Global) Todos votos sim (Preparar Confirmação) Pré-Confirmar Abortar Global (Feito) Preparar Confirmação (Preparado) Pré-Confirmar Abortar Todos preparados (Confirmar Global) Confirmar Abortar Confirmar Global (Feito) Confirmar Expirou Temporizador

4 Transacções distribuídas: 3PC Mensagens e fases Departamento de Engenharia Informática P P P C P C P C P C P P P Preparar Sim Preparar confirmação Preparado Confirmar Global Feito

5 Transacções distribuídas: Tolerância a faltas no 3PC Departamento de Engenharia Informática Timeout no Coordenador Estado Esperar (já não era bloqueante no 2PC) Aborta unilateralmente a transacção Estados Pré-Confirmar Os participantes podem não estar no Pré-Confirmar, mas pelo menos estão no Preparado Sabe que nenhum pode estar no estado de abortar porque de outra forma ele não podia estar no estado de Pré-confirmação E (re)envia a mensagem Confirmar Global Abortar e Confirmar Considera a transacção terminada Os Participantes estão nos estados Pré-Confirmar ou Preparado

6 Transacções distribuídas: Tolerância a faltas no 3PC Departamento de Engenharia Informática Timeout num Participante Estado Inicial (já não era bloqueante no 2PC) Opta unilateralmente por abortar a transacção Estado Preparado ou Pré-Confirmar Depende da decisão do Coordenador que já influenciou Corre protocolo de terminação

7 Protocolo de Terminação Eleger novo coordenador Novo coordenador pergunta o estado a todos Se algum estiver em Commit/Abort envia Commit/Abort a todos Se todos em Preparado, nenhum em Commit envia Abort a todos Se todos em Pre-confirmar, nenhum em Abort envia Commit a todos Se alguns em Preparado, outros em Pré-confirmar, nenhum em Abort corre duas fases finais (Preparar, Confirmar)

8 Transacções distribuídas: Tolerância a faltas no 3PC Departamento de Engenharia Informática Recuperação do Coordenador Estados Inicial Pode abortar unilateralmente Estado Esperar Pode ter sido eleito um Novo Coordenador Se o NC estiver nos estados Esperar ou Abortar a transacção abortou Pergunta aos Participantes como terminou a transacção Estado Pré-Confirmar Pergunta aos Participantes como terminou a transacção Estados Abortar ou Confirmar Se ainda não recebeu todas as confirmações repete o envio da mensagem global previamente enviada

9 Transacções distribuídas: Tolerância a faltas no 3PC Departamento de Engenharia Informática Recuperação de um Participante Estado Inicial Aborta unilateralmente a transacção Estado Preparado ou Pré-Confirmar Pergunta ao Coordenador ou aos Participantes como terminou a transacção

10 Transacções Atómicas em Web Services

11 Transacções em Web Services Visão mais abrangente: mecanismo para participantes numa aplicação obter um consenso sobre um resultado Suporta vários modelos/protocolos transaccionais E.g., modelo ACID, 2PC, nested, business transactions,... Separar a coordenação que tem sempre de existir dos protocolos específicos de consenso WS-coordination: criar o contexto, definir o coordenador e saber quem são os participantes numa actividade transaccional

12 WS-Coordination - modelo Uma aplicação é um conjunto de actividades (e.g., transacções, ou outras) O WS-coordination é uma especificação de um protocolo para gerir as actividades que constituem uma aplicação

13 WS-Coordination - modelo Cada mensagem trocada inclui um CoordinationContext para compreendê-la: Identificador único da actividade Registration Service utilizado Tipo de coordenação (Transacção atómica vs. BusinessActivity)

14 WS-Coordination - Serviços Activation Service Usado para criar transacção/ actividade, retorna CoordinationContext Registration Service Usado pelos participantes para se registarem junto do coordenador para um protocolo Coordination Protocol Services Específico a cada protocolo de coordenação

15 WS - Transaction WS - AtomicTransaction WS - BusinessActivity WS - Coordination

16 WS - Transaction Dois tipos de coordenação: Transacção Atómica (AT) Usado para coordenar actividades de curta duração Garantem atomicidade (e.g., usando o 2PC) Desenhados para garantir compatibilidade com sistemas transaccionais existentes Business Activity (BA) Actividades de longa duração Desenhado para uma lógica de negócio Desenhados para garantir compatibilidade com sistemas de modelação de processos de negócio / workflow

17 Transacção Atómica (AT) Norma que usa o WS-Coordination, estendendo-o para suportar transacções atómicas: Ao criar uma transacção atómica, criar um CoordinationContext associado ao coordenador Propagar o CoordinationContext nas mensagens Registar os participantes nos protocolos de coordenação Suporta 2PC ou outros protocolos

18 Exemplo de uso do CoordinationContext <?xml version="1.0" encoding="utf-8"?> <S:Envelope xmlns:s=" <S:Header>... <wscoor:coordinationcontext xmlns:wscoor=" xmlns:wsu=" xmlns:myapp=" <wsu:identifier> </wsu:identifier> <wsu:expires> t13:20:00-05:00</wsu:expires> <wscoor:coordinationtype> </wscoor:coordinationtype> <wscoor:registrationservice> <wsu:address> </wsu:address>< myapp:myapp:betamark>... </myapp:myapp:betamark> <myapp:ebdcode>... </myapp:ebdcode> </wscoor:registrationservice> <myapp:isolationlevel>repeatableread</myapp:isolationlevel> </wscoor:coordinationcontext>... </S:Header>... </S:Envelope>

19 Seq. de Mensagens numa Transacção Atómica

20 WSDL de Participante no 2PC <wsdl:porttype name="2pcparticipantporttype"> <wsdl:operation name="prepare"> <wsdl:input message="wstx:prepare" /> </wsdl:operation> <wsdl:operation name="onephasecommit"> <wsdl:input message="wstx:onephasecommit" /> </wsdl:operation> <wsdl:operation name="commit"> <wsdl:input message="wstx:commit" /> </wsdl:operation> <wsdl:operation name="rollback"> <wsdl:input message="wstx:rollback"> </wsdl:operation> <wsdl:operation name="unknown"> <wsdl:input message="wstx:unknown" /> </wsdl:operation> <wsdl:operation name="error"> <wsdl:input message="wstx:error" /> </wsdl:operation> </wsdl:porttype>

21 WSDL de Coordenador no 2PC <wsdl:porttype name="2pccoordinatorporttype"> <wsdl:operation name="prepared"> <wsdl:input message="wstx:prepared" /> </wsdl:operation> <wsdl:operation name="aborted"> <wsdl:input message="wstx:aborted"/> </wsdl:operation> <wsdl:operation name="readonly"> <wsdl:input message="wstx:readonly"/> </wsdl:operation> <wsdl:operation name="committed"> <wsdl:input message="wstx:committed"/> </wsdl:operation> <wsdl:operation name="replay"> <wsdl:input message="wstx:replay"/> </wsdl:operation> <wsdl:operation name="unknown"> <wsdl:input message="wstx:unknown" /> </wsdl:operation> <wsdl:operation name="error"> <wsdl:input message="wstx:error"/> </wsdl:operation> </wsdl:porttype>

22 Transacções de Negócio Novo modelo transaccional Semelhante: acede múltiplos objectos, cada acesso transaccional Diferente: Em caso falha, em vez de ocultar resultados, executa compensação

23 Transacções de Negócio Exemplo Agência de viagens necessita comprar bilhetes de avião, estadia, e alugar carro para um cliente Cada um destes passos é um web service exportado por entidade autónoma (diferentes domínios administrativos) Processo pode ser moroso O que fazer se tem todas as reservas feitas e descobre que não há carros para alugar?

24 Actividade de Negócio (Business Activity) Unidade de base: Actividade O processo de nível mais alto denomina-se actividade de negócio Pode ter longa duração Não compatível com uso de trincos Permite que acções provisórias sejam expostas a outros participantes no negócio

25 Compensação Se uma acção não for bem sucedida, executa acção de compensação Por exemplo, cancelar as reservas de voo e hotel (mesmo que, para tal, tenha de pagar uma taxa) Em certos casos poder-se-ia retomar a actividade de negócio após compensação

26 Compensação Assume-se que t4 aborta mas que a actividade poderia continuar se repuser o estado modificado por algumas das tarefas anteriores a t4. Neste caso devem ser realizadas novas tarefas TC1 e depois uma eventual continuação da actividade com as tarefas t5 e t6

27 Filas de Mensagens Message Oriented Middleware - MOM

28 Canal com fila de mensagens Emissor Rede Receptor Emissor Emissor fila Modelo do RPC ou de ligação de transporte fila Receptor Receptor Emissor fila fila Receptor

29 Integração por Mensagens Message Oriented Middleware A integração é feita através do encaminhamento de informação (mensagens) entre os sistemas. As aplicações recebem e enviam as mensagens para um servidor central (broker). As mensagens uma vez recebidas pelo broker podem ser reformatadas, combinadas ou modificas por forma a serem entendidas pelo sistema de destino. Normalmente não é necessário modificar os sistemas envolvidos. Os Message Brokers fornecem adaptadores para as aplicações mais comuns (SAP, Baan, PeopleSoft, etc.).

30 Comparação de canais com e sem fila de mensagens Mensagens Directas (mecanismo de transportes) Positivo As API são muito simples. Qualquer tipo de dados pode ser transmitido. Total separação entre os dados e o código das aplicações que tratam as mensagens Negativo As aplicações tem de fazer manualmente a codificação e a descodificação dos dados Filas de Mensagens Message queuing Message Oriented Middleware Tudo o que está acima + Funcionamento assíncrono permite distribuir carga e ganhar eficiência Permite um funcionamento desconectado da rede. Permite 1 para muitos e muitos para muitos. Tudo o que está acima + A maioria dos produtos de queuing não interoperam bem O assincronismo torna a programação mais difícil (programação por eventos).

31 Modelo de Comunicação Comunicação Assíncrona O emissor é imediatamente desbloqueado depois da mensagem ter sido aceite para envio (funcionamento assíncrono) O servidor responde também assincronamente Comunicação Sincrona O emissor só continua quando recebe um ack que a mensagem foi recebida Pedido-resposta comunicação síncrona Muitas interacções baseiam-se num pedido e numa resposta. Comportamento semelhante ao da chamada remota de procedimentos O emissor pode especificar o endereço de resposta mas este depende da organização da rede. A infraestrutura pode encarregar-se de fazer o emparelhamento, permitindo que a resposta provenha de uma outra aplicação

32 Exemplo de MOM Java Messages

33 Java Messaging Service - JMS Elementos da infraestrutura Filas de mensagens - queues Envio e recepção de mensagens Mensagens ponto a ponto Subscrição e publicação de mensagens Formato das Mensagens API do modelo de objectos

34 Envio e Recepção de Mensagens As aplicações falam com o message broker através de uma connection. Dentro de uma connection um processo pode ter várias sessions para cada uma das suas tarefas (threads) Depois estar ligado ao message broker associa-se ou cria uma queue Cria um message sender ou message receiver para aceder à queue Um processo pode enviar mensagem ou receber mensagens de uma queue através das funções do objecto queue A recepção pode ser síncrona ou assíncrona As mensagens podem ser: Stream sequência de tipos básicos de Java Texto na qual se incluem documentos XML Objectos objectos Java serializados Bytes

35 Arquitectura

36 Envio das Mensagens Ponto a Ponto (a designação pode confundir) Quer dizer que a aplicação define a queue para onde envia a mensagem. A aplicação pode obter a referência para a queue através de um serviço de nomes (JNDI) O sistema passa automaticamente a referência para a queue de resposta Publicar e Subscrever Neste modo as mensagens não são enviadas para um destinatários mas para um tópico As mensagens podem ser consideradas eventos

37 Envio das Mensagens (II)

38 Exemplo JMS(I) public class Hello { public static void main(string[] args) { try { /* Declaração das variáveis JMS */ QueueConnectionFactory queueconnectionfactory = null; QueueConnection queueconnection = null; Queue queue = null; QueueSession queuesession = null; QueueSender queuesender = null; QueueReceiver queuereceiver = null; TextMessage textmessage = null; Message message = null; /* Declaração de variáveis para argumentos da linha de comando */ final String MQ_HOST_NAME; final String MQ_HOST_PORT; /* Validação dos argumentos recebidos na linha de comando */ if ( args.length < 2 ) {

39 Exemplo JMS(II) System.out.println("Usage: java Hello <mq_host_name> <mq_host_port>"); System.exit(1); } MQ_HOST_NAME = args[0]; MQ_HOST_PORT = args[1]; System.out.println("Message queue host is " + MQ_HOST_NAME + ":" + MQ_HOST_PORT); /* Instanciação de uma fábrica de ligações */ /* Instancia-se directamente a classe Sun MQ para poder usar os métodos para definir nome e porto do servidor de mensagens */ com.sun.messaging.queueconnectionfactory sunqueueconnectionfactory = new com.sun.messaging.queueconnectionfactory(); sunqueueconnectionfactory.setproperty("jmqbrokerhostname", MQ_HOST_NAME); sunqueueconnectionfactory.setproperty("jmqbrokerhostport", MQ_HOST_PORT); queueconnectionfactory = sunqueueconnectionfactory; /* Criação de uma ligação ao servidor de mensagens */ queueconnection = queueconnectionfactory.createqueueconnection(); /* Criação de uma sessão dentro da ligação estabelecida */

40 Exemplo JMS(III) Indica que a Session não é Transaccional queuesession = queueconnection.createqueuesession(false, Session.AUTO_ACKNOWLEDGE); /* Instanciação de uma fila de mensagens com o nome especificado */ /* A fila é criada implicitamente no servidor, caso não exista */ queue = new com.sun.messaging.queue("world"); /* Criação do produtor de mensagens */ queuesender = queuesession.createsender(queue); /* Criação e envio de uma mensagem */ textmessage = queuesession.createtextmessage(); textmessage.settext("hello World"); System.out.println("Sending Message: " + textmessage.gettext()); queuesender.send(textmessage); /* Neste exemplo muito simples é o mesmo programa a enviar e a receber a mensagem */ /* Criação de um consumidor de mensagens a partir da fila */ queuereceiver = queuesession.createreceiver(queue);

41 Exemplo JMS(IV) /* Reiniciação da ligação */ queueconnection.start(); /* Recepção de mensagem e análise do conteúdo */ message = queuereceiver.receive(); if (message instanceof TextMessage) { textmessage = (TextMessage) message; System.out.println("Read Message: " + textmessage.gettext()); } /* Fecho da sessão e da ligação */ queuesession.close(); queueconnection.close(); } catch (Exception e) { /* À falta de melhor tratamento de erro, é conveniente imprimir a excepção */ System.out.println("Exception occurred : " + e.tostring()); } } } System.out.println("Finished");

42 Exemplo: receptor Assíncrono (I) public class AsynchReceiver { public static void main(string[] args) { int exitresult = 0; String queuename = null; /* Declaração das variáveis JMS */ QueueConnectionFactory queueconnectionfactory = null; QueueConnection queueconnection = null; QueueSession queuesession = null; Queue queue = null; QueueReceiver queuereceiver = null; TextListener textlistener = null; /* Declaração de variáveis para argumentos da linha de comando */ final String MQ_HOST_NAME; final String MQ_HOST_PORT; /* Validação dos argumentos recebidos na linha de comando */ if (args.length!= 3) { System.out.println("Usage: java AsynchReceiver <mq_host_name> <mq_host_port> <queue_name>"); System.exit(1);

43 Exemplo: receptor Assíncrono (II) MQ_HOST_NAME = args[0]; MQ_HOST_PORT = args[1]; System.out.println("Message queue host is " + MQ_HOST_NAME + ":" + MQ_HOST_PORT); queuename = new String(args[2]); System.out.println("Queue name is " + queuename); /* Criar uma fábrica de ligações, criar uma ligação, criar uma sessão a partir da ligação (false indica que não é transaccional), criar uma fila de mensagens */ try { com.sun.messaging.queueconnectionfactory sunqueueconnectionfactory = new com.sun.messaging.queueconnectionfactory(); sunqueueconnectionfactory.setproperty("jmqbrokerhostname", MQ_HOST_NAME); sunqueueconnectionfactory.setproperty("jmqbrokerhostport", MQ_HOST_PORT); queueconnectionfactory = sunqueueconnectionfactory; } queueconnection = queueconnectionfactory.createqueueconnection(); queuesession = queueconnection.createqueuesession(false, Session.AUTO_ACKNOWLEDGE); queue = queuesession.createqueue(queuename);

44 Exemplo: receptor Assíncrono (III) } catch (Exception e) { System.out.println("Connection problem: " + e.tostring()); if (queueconnection!= null) { try { queueconnection.close(); } catch (JMSException ee) { } } System.exit(1); } /* Criar consumidor de mensagens,registar o tratamento de mensagens (TextListener) e iniciar a recepção de mensagens. O 'listener' escreve as mensagens obtidas. O programa fica bloqueado até o 'listener' receber a mensagem final e efectuar o desbloqueio. */ try { queuereceiver = queuesession.createreceiver(queue); textlistener = new TextListener(); queuereceiver.setmessagelistener(textlistener); /* Iniciar a ligação */ queueconnection.start(); /* Aqui o programa está livre para ir fazer qualquer outra coisa

45 Exemplo: receptor Assíncrono (IV) /* Quando não houver mais nada para fazer, vai bloquear-se para esperar o fim da recepção de mensagens */ textlistener.monitor.waittilldone(); } catch (JMSException e) { System.out.println("Exception occurred: " + e.tostring()); exitresult = 1; } } finally { if (queueconnection!= null) { try { queueconnection.close(); } catch (JMSException e) { exitresult = 1; } } } System.out.println("Finished"); System.exit(exitResult); }

46 Função que trata as mensagens assíncronas public class TextListener implements MessageListener { final DoneLatch monitor = new DoneLatch(); /** método invocado no Listener de mensagens quando chega uma mensagem nova */ public void onmessage(message message) { if (message instanceof TextMessage) { TextMessage msg = (TextMessage) message; try { System.out.println("Reading message: " + msg.gettext()); } catch (JMSException e) { System.out.println("Exception in onmessage(): " + e.tostring()); } } } } else { /* A mensagem que não é de texto indica o fim da sequência. Acorda quem esteja à espera */ monitor.alldone(); }

47 Enterprise Application Integration (EAI) baseado em Filas de Mensagens Agregam as funcionalidades dos message brokers com a possibilidade de execução de processos de negócio transversais às várias aplicações, dentro e fora de uma organização. A arquitectura integração por camadas típica compreende serviços comuns (segurança, repositório, etc.), um bus de mensagens, adaptadores, transformação de mensagens, gestão de processos e portais de informação.

Filas de Mensagens. Razões para usar Filas de Mensagens

Filas de Mensagens. Razões para usar Filas de Mensagens Filas de Mensagens Message Oriented Middleware - MOM Razões para usar Filas de Mensagens Comunicação Permite que a comunicação se processe mesmo quando o servidor não está conectado à rede Funcionamento

Leia mais

Filas de Mensagens. Canal com fila de mensagens

Filas de Mensagens. Canal com fila de mensagens Filas de Mensagens Message Oriented Middleware - MOM Canal com fila de mensagens Emissor Rede Receptor Emissor Emissor fila Modelo do RPC ou de ligação de transporte fila Receptor Receptor Emissor fila

Leia mais

Transacções em Sistemas Distribuídos

Transacções em Sistemas Distribuídos Transacções em Sistemas Distribuídos Função transferir Primeira solução transferir(contaa, contab, Montante) { bancoa.lersaldo (contaa, SaldoA); bancob.lersaldo (contab, SaldoB); bancoa.actualizarsaldo

Leia mais

Sumário. Message Oriented Middleware (MOM) Sincronização na Comunicação. Comunicação Assíncrona

Sumá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 mais

IBM WebSphere MQ. Introdução

IBM WebSphere MQ. Introdução Introdução Arquitectura Application Messaging Interface WebSphere Aplication Server WebSphere Business Integration Server Vantagens e desvantagens Introdução Plataforma de integração e infraestrutura de

Leia mais

Message Oriented Middleware (MOM)

Message 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 mais

Transacções Atómicas Distribuídas

Transacções Atómicas Distribuídas Transacções Atómicas Distribuídas Exemplo O Senhor Silva é possuidor de duas contas em bancos diferentes (A e B) e pretende fazer um movimento de 100.000$00 do banco A para o banco B. O procedimento para

Leia mais

Sistemas Distribuídos

Sistemas 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 mais

LEIC/LERC 2007/08 Exame de Época Especial de Sistemas Distribuídos

LEIC/LERC 2007/08 Exame de Época Especial de Sistemas Distribuídos Número: Nome: LEIC/LERC 2007/08 Exame de Época Especial de Sistemas Distribuídos 8 de Setembro de 2008 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m Grupo

Leia mais

Message Driven Beans. Apresentação. Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo

Message Driven Beans. Apresentação. Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo Message Driven Beans Apresentação Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo 1 Introdução Message Driven Beans são EJBs que consomem mensagens enviadas para filas

Leia mais

Enterprise Java Beans

Enterprise Java Beans 1 Enterprise Java Beans Java Platform, Enterprise Edition. The Java EE Tutorial https://docs.oracle.com/javaee/7/jeett.pdf Formador Java EE Annotations http://www.physics.usyd.edu.au/~rennie/javaeereferencesheet.pdf

Leia mais

Java Message Service (JMS)

Java 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 mais

Vamos fazer um pequeno experimento

Vamos 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 mais

MOM Message Oriented Middleware

MOM Message Oriented Middleware MOM Message Oriented Middleware Bruno Miguel de Sousa Gonçalves 1.O que é a MOM? 1.1. Conceito Figura 1 Descrição geral da arquitectura MOM. Message Oriented Middleware trata-se de uma insfraestrutura

Leia mais

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

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

Leia mais

UFG - Instituto de Informática

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 professor.fabrizzio@gmail.com Aula 12 Beans Orientados a

Leia mais

J530 - Enterprise JavaBeans. Message-driven Beans. argonavis.com.br. Helder da Rocha

J530 - Enterprise JavaBeans. Message-driven Beans. argonavis.com.br. Helder da Rocha J530 - Enterprise JavaBeans Message-driven Beans Helder da Rocha (helder@acm.org) argonavis.com.br 1 O que é um Message-Driven Bean Bean guiado por mensagens, ou eventos Um event-handler distribuído em

Leia mais

PROTOCOLOS DE COMUNICAÇÃO

PROTOCOLOS DE COMUNICAÇÃO PROTOCOLOS DE COMUNICAÇÃO 3º ANO / 2º SEMESTRE 2014 INFORMÁTICA avumo@up.ac.mz Ambrósio Patricio Vumo Computer Networks & Distribution System Group Serviços de Transporte na Internet Arquitectura TCP/IP

Leia mais

LEIC/LERC 2008/09 2º Teste de Sistemas Distribuídos

LEIC/LERC 2008/09 2º Teste de Sistemas Distribuídos Número: Nome: LEIC/LERC 2008/09 2º Teste de Sistemas Distribuídos 11 de Julho de 2009 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m - 7 Páginas Grupo I

Leia mais

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles. Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens

Leia mais

Resumo das Propriedades de UDP e de TCP

Resumo 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 mais

STD29006 Sistemas Distribuídos

STD29006 Sistemas Distribuídos STD29006 Sistemas Distribuídos Comunicação II Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 05 de setembro

Leia mais

Message Oriented Middleware & Message Brokers

Message 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 mais

UFG - Instituto de Informática

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 professor.fabrizzio@gmail.com Aula 11 Serviços de Envio de

Leia mais

Este tutorial contém material (texto, código, imagens) produzido por Helder da Rocha em outubro de 2013 e poderá ser usado de acordo com os termos da licença Creative Commons BY-SA (Attribution- ShareAlike)

Leia mais

J533 - Minicurso. Helder da Rocha (helder@acm.org) www.argonavis.com.br

J533 - Minicurso. Helder da Rocha (helder@acm.org) www.argonavis.com.br J533 - Minicurso Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sumário Introdução Messaging e Message-Oriented Middlewares (MOMs) Quando usar MOMs? Vantagens e desvantagens O que é o Java Message

Leia mais

Grupo I [7v] b) [0,3] Em que componente do sistema de RPC será utilizado o campo identificador de operação?

Grupo 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 mais

Nú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. 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 mais

Comunicação orientada a mensagens

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 mais

Grupo I [8v] b. [0,8v] Apresente o pseudo-código do algoritmo que U executa para validar a assinatura que recebe.

Grupo I [8v] b. [0,8v] Apresente o pseudo-código do algoritmo que U executa para validar a assinatura que recebe. Número: Nome: Página 1 de 6 LEIC/LETI 2013/14, 2º Teste de Sistemas Distribuídos, 17 de Junho de 2014 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo

Leia mais

Sistemas Empresariais Integrados

Sistemas Empresariais Integrados Sistemas Empresariais Integrados Enterprise Integration Objectivos Analisar os principais motivos que justificam a integração de aplicações nas organizações. Definir e avaliar as arquitecturas de referência

Leia mais

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.

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:

Leia mais

User Datagram Protocol

User Datagram Protocol User Datagram Protocol UDP: Protocolo utiliza para distinguir para qual usuário ou aplicativo deve ser encaminhado um datagrama destinado a uma máquina que esteja executando mais de um processo. Problemas:

Leia mais

Sistemas Distribuídos baseados em Coordenação. Pedro Ferreira DI - FCUL

Sistemas 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 mais

Programando 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 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 mais

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

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 (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

Leia mais

Sistemas Distribuídos

Sistemas 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 mais

Projecto hipotético para resolvermos hoje

Projecto 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 mais

Grupo I [5,5v] Considere o seguinte código que ilustra uma componente programática de um sistema de RPC, neste caso do SUN-RPC.

Grupo I [5,5v] Considere o seguinte código que ilustra uma componente programática de um sistema de RPC, neste caso do SUN-RPC. Número: Nome: Página 1 de 7 LEIC/LERC 2012/13, 1º Teste de Sistemas Distribuídos, 16 de Abril de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo

Leia mais

Composição. Rafael Ferraz 9 Dezembro 2004

Composição. Rafael Ferraz 9 Dezembro 2004 Composição Rafael Ferraz 9 Dezembro 2004 Introdução. Guia da apresentação Enquadramento. Conceito. Motivação. Middleware de composição. Composição vs. coordenação. 2/77 Guia da apresentação. Coordenação

Leia mais

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

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

Leia mais

Especificação, Modelação e Projecto de Sistemas Embutidos

Especificação, Modelação e Projecto de Sistemas Embutidos Especificação, Modelação e Projecto de Sistemas Embutidos Linguagens de especificação: SDL Paulo Pedreiras, Luís Almeida {pbrp,lda}@ua.pt Departamento de Electrónica, Telecomunicações e Informática Universidade

Leia mais

STD29006 Sistemas Distribuídos

STD29006 Sistemas Distribuídos STD29006 Sistemas Distribuídos Serviços Web Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 22 de setembro

Leia mais

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST. Web Services Por que os Web Services são atrativos para a integração de sistemas? Pois os Web services são componentes que possibilitam que as aplicações se comuniquem utilizando protocolos padrão da internet

Leia mais

COMUNICAÇÃO ENTRE PROCESSOS

COMUNICAÇÃ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 mais

Sistemas Operacionais II

Sistemas 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 mais

Sistemas Operacionais Distribuídos e de Redes

Sistemas 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 mais

Sistemas Distribuídos

Sistemas 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 mais

Plataforma para Agentes

Plataforma para Agentes Plataforma para Agentes JATLite - Java Agent Template, Lite O que é o JATLite? http://java.stanford.edu/ http://www.fe.up.pt/~eol/aiad/jatlite/doc/index.html Pacote de programas em Java permitindo: rápida

Leia mais

LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos

LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos Número: Nome: LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos 25 de Julho de 2008 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo

Leia mais

Comunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens

Comunicaçã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 mais

Tutorial JMS com ActiveMQ Nível: Introdutório Autor: José Damico (jdamico@br.ibm.com) IBM Data: 26 de novembro de 2006

Tutorial JMS com ActiveMQ Nível: Introdutório Autor: José Damico (jdamico@br.ibm.com) IBM Data: 26 de novembro de 2006 Tutorial JMS com ActiveMQ Nível: Introdutório Autor: José Damico (jdamico@br.ibm.com) IBM Data: 26 de novembro de 2006 O objetivo deste tutorial é oferecer uma documentação básica passo-a-passo e um exemplo

Leia mais

Infra-Estrutura de Software

Infra-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 mais

JMS. Java Message Service

JMS. Java Message Service JMS Autoria Autoria Fábio Cecin (1a versão) Versão V3.2, junho de 2013 C. Geyer Referências Referências: The JMS Tutorial após versão 1.4 do JEE em capítulo do tutorial JEE da Sun v.1.5 (JEE): até v. 1.3:

Leia mais

LEIC/LERC 2007/08 Segundo Teste de Sistemas Distribuídos

LEIC/LERC 2007/08 Segundo Teste de Sistemas Distribuídos LEIC/LERC 2007/08 Segundo Teste de Sistemas Distribuídos 27 de Junho de 2008 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I Um número de telefone

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 5: Associações LEEC@IST Java 1/32 Associação revisão Uma associação representa uma referência entre objectos. Numa associação são definidos: Identificador termo descritivo

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas 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 mais

Comunicação entre Processos

Comunicaçã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 mais

Sistemas de Gerência de Bancos de Dados

Sistemas de Gerência de Bancos de Dados Sistemas de Gerência de Bancos de Dados 4 - Consultas e Transações 4.4 - Gerência de Transações 1 Conceito de Transação Transação: seqüência de ações elementares que deverão ser executadas como se fossem

Leia mais

Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010

Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010 Tolerância a Falhas Reliable Broadcast e Atomic Commitment June 2, 2010 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos - Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados 1 O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes gráficos Java. //AloMundo

Leia mais

LEIC/LERC 2010/11 2º Teste de Sistemas Distribuídos

LEIC/LERC 2010/11 2º Teste de Sistemas Distribuídos Número: Nome: LEIC/LERC 2010/11 2º Teste de Sistemas Distribuídos 6 de Junho de 2011 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I [6v] Considere

Leia mais

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados GUI em Java: pacote Swing O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Comunicação entre Processos n Características dos mecanismos de comunicação Comunicação direta ou indireta, sincronismos,

Leia mais

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP Sockets: Sumário Sockets TCP Modêlo. API de Java. API da biblioteca C. Avaliação Crítica de Sockets. 1 Resumo das Propriedades de UDP e de TCP Propriedade UDP TCP Abstracção Mens. Stream Baseado em Conexão

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos 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 mais

Domínios da Arquitectura

Domínios da Arquitectura Visão que incorpora na arquitectura tecnológica o suporte aos conceitos SOA Explicitar o Bus de Serviços Os workflows e as orquestrações de processos 3/2/2005 José Alves Marques 1 Domínios da Arquitectura

Leia mais

Protocolo Request-Reply

Protocolo 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 mais

Teste-Tipo de Sistemas Distribuídos RPC, RMI, Web Services Guia de resolução

Teste-Tipo de Sistemas Distribuídos RPC, RMI, Web Services Guia de resolução Teste-Tipo de Sistemas Distribuídos RPC, RMI, Web Services Guia de resolução Grupo RPC Considere o seguinte código que ilustra uma componente programática de um sistema de RPC, neste caso do SUN-RPC. const

Leia mais

SPEEDMiddleware - MOM

SPEEDMiddleware - 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 mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Smart Proxies para Invocação de Serviços Web Replicados

Smart Proxies para Invocação de Serviços Web Replicados Smart Proxies para Invocação de Serviços Web Replicados José Geraldo Ribeiro Júnior (CEFET-MG / PUC Minas) Orientador: Prof. Marco Túlio Valente (PUC Minas) Fevereiro 2007 Apresentação Motivação Proposta

Leia mais

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo Tratamento de Exceções LPG II Java Tratamento de Exceções Introdução Princípios do tratamento de exceções em Java Cláusula try Cláusula catch Cláusula finally Hierarquia de exceções em Java Considerações

Leia mais

Índice FCA - EDITORA DE INFORMÁTICA XV

Índice FCA - EDITORA DE INFORMÁTICA XV Índice 1. INTRODUÇAO 1 1.1 CONDICIONANTES DA EVOLUÇÃO 2 1.1.1 A Tecnológica 2 1.1.2 Os Requisitos dos Utilizadores 9 1.2 DIFICULDADES E VANTAGENS INTRODUZIDAS PELA DISTRIBUIÇÃO 12 1.2.1 Os Problemas 12

Leia mais

Message Oriented Middleware (MOM)

Message Oriented Middleware (MOM) Message Oriented Middleware (MOM) March 24, 2010 Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes estão disponíveis simultaneamente. Por exemplo, um servidor de submissão pode estar

Leia mais

Alternativas para a Interoperabilidade entre Sistemas de Informação Universitários

Alternativas para a Interoperabilidade entre Sistemas de Informação Universitários Faculdade de Engenharia da Universidade do Porto Alternativas para a Interoperabilidade entre Sistemas de Informação Universitários Sérgio Sobral Nunes Dissertação realizada sob a supervisão do Professor

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Informá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 mais

PROGRAMAÇÃO JAVA. Parte 3

PROGRAMAÇÃO JAVA. Parte 3 PROGRAMAÇÃO JAVA Parte 3 O PRIMEIRO PROGRAMA O Java executa uma instrução a seguir a outra, pela ordem em que estão escritas. Essa sequência poderá ser contrariada de forma especial: Alternativas: Ciclos

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

PROVIDING DEPENDABILITY FOR WEB SERVICES

PROVIDING DEPENDABILITY FOR WEB SERVICES PROVIDING DEPENDABILITY FOR WEB SERVICES Dário Lima Pedro Venâncio a16435 m2610 Sistemas Distribuídos e Tolerância a Falhas 1 Esta tecnologia tem como finalidade proporcionar interoperabilidade para aplicações

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Programação com Sockets

Programaçã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 mais

SISTEMAS 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 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 mais

Web Services. Sistemas Distribuídos Marcos Costa

Web Services. Sistemas Distribuídos Marcos Costa Web Services Sistemas Distribuídos Marcos Costa masc@cin.ufpe.br Definição! WebServices.org! Web Services are encapsulated, loosely coupled contracted functions offered via standard protocols 2 Definição

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Transação e Controle de Concorrência 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 mais

Programação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos

Programação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos Programação Concorrente com Thread Java Luiz Affonso Guedes Sistemas Distribuidos Definições Básicas Threads são sub-procesos no sistema operacional. É menos custoso gerenciar threads do que processos.

Leia mais

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores Comunicação em Grupo (Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores Exemplos de aplicação: - ferramentas de trabalho

Leia mais

Módulo 13. Socket. Programação Orientada a Objetos Java (Rone Ilídio)

Módulo 13. Socket. Programação Orientada a Objetos Java (Rone Ilídio) Módulo 13 Socket Programação Orientada a Objetos Java (Rone Ilídio) O que é socket? Definição: Interface da camada de transporte que permite comunicação entre dois processos que podem estar em computadores

Leia mais

Grupo I [7,5v] {H(M)}K1, {K2}K3, {M}K4

Grupo I [7,5v] {H(M)}K1, {K2}K3, {M}K4 Número: Nome: Página 1 de 7 LEIC/LETI, 2014/15, Repescagem do 2º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE 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 mais

Sistemas Distribuídos Aula 2

Sistemas 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 mais

Principais conceitos de CORBA

Principais 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 mais

Sistemas Distribuídos

Sistemas 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 mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Diagramas de Package

Diagramas de Package 190 Diagramas de Package À medida que os sistemas software se tornam mais complexos e o número de classes aumenta: Torna-se difícil efectuar a gestão das diversas classes A identificação de uma classe

Leia mais