Transacções distribuídas:
|
|
- Maria das Dores Costa Ávila
- 5 Há anos
- Visualizações:
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 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 maisFilas 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 maisTransacçõ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 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 maisIBM 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 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 maisTransacçõ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 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 maisLEIC/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 maisMessage 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 maisEnterprise 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 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 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 maisMOM 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 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 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 maisJ530 - 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 maisPROTOCOLOS 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 maisLEIC/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 maiscontidos 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 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 maisSTD29006 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 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 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 maisEste 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 maisJ533 - 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 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 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 maisComunicaçã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 maisGrupo 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 maisSistemas 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 maisGrupo 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 maisUser 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 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 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 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 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 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 maisGrupo 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 maisComposiçã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 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 maisEspecificaçã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 maisSTD29006 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 maisO 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 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 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 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 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 maisPlataforma 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 maisLEIC/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 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 maisTutorial 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 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 maisJMS. 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 maisLEIC/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 maisProgramaçã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 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 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 maisSistemas 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 maisTolerâ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 maisLinguagem 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 maisAula 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 maisLEIC/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 mais4 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 maisComunicaçã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 maisSockets: 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 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 maisDomí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 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 maisTeste-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 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 maisProgramaçã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 maisSmart 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 maisTratamento 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 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 maisMessage 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 maisAlternativas 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 maisTipos, 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 maisTipos, 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 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 maisPROGRAMAÇÃ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 maisOrientaçã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 maisPROVIDING 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 maisUniversidade 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 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 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 maisWeb 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 mais4 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 maisDesenvolvimento 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 maisProgramaçã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
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 maisMó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 maisGrupo 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 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 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 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 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 maisParadigmas 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 maisDiagramas 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