UFG - Instituto de Informática

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

Download "UFG - Instituto de Informática"

Transcrição

1 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 Mensagens

2 Beans Orientados a Mensagens (MDB) Beans orientados a mensagens processam alguma lógica de negócios usando mensagens JMS enviadas para um destinatário particular, ou seja, consomem mensagens JMS através da tecnologia EJB.

3 Beans Orientados a Mensagens (MDB) Atualmente a partir da versão 3.0 do EJB JMS pode fazer uso de anotações assim como os outros tipos de EJBs para facilitar a sua escrita. Mesmo tendo sido incorporado a especificação de EJB nas versões passadas e não demandando a criação de interfaces home nem remota ainda era trabalhoso escrever um Message Driven Bean. Anotações, como já comentado, a partir da versão 3.0 da especificação facilitam mais este processo.

4 Beans Orientados a Mensagens (MDB) Os Message Driven Beans são completamente escondidos do cliente. O único meio de clientes comunicarem com os beans orientados a mensagens é enviando uma mensagem para um destinatário JMS.

5 Beans Orientados a Mensagens (MDB)

6 Beans Orientados a Mensagens (MDB) Um cliente envia uma mensagem JMS para um destino e o container passa esta mensagem JMS para uma instância do bean orientado a mensagens que tem se registrado como um receptor de mensagens para uma destinação particular.

7 Beans Orientados a Mensagens (MDB) Por usar um pool de instância de beans, o container é capaz de manipular as mensagens que chegam de uma forma muito mais eficiente e aumenta a escalabilidade das operações JMS. As instâncias dos beans podem ser colocadas ou retiradas do pool dependendo das necessidades do container de atender as requisições.

8 Beans Orientados a Mensagens (MDB) Os beans orientados a mensagens não possuem estado conversacional e portanto, são similares neste aspecto aos beans de sessão stateless. Isto não significa que estes beans não podem ter variáveis de instância, somente significa que as variáveis de instância que os beans possuírem não podem ser usadas para guardar informações de estado de um cliente particular porque não é garantido que um mesmo bean atenda um mesmo cliente.

9 Beans Orientados a Mensagens (MDB) Por assegurar que todas as instâncias dos beans orientados a mensagens são idênticas, o container é capaz de manipular um pequeno número de instâncias no pool e ainda manipular uma grande carga de chamadas. Isto é porque qualquer instância livre pode ser usada para manipular qualquer requisição que chegar vindo de uma destinação específica.

10 Beans Orientados a Mensagens (MDB) A partir da criação do bean orientado a mensagens até a sua destruição, o container gerencia estes beans exclusivamente. O container interage com os beans orientados a mensagens através de um conjunto de métodos de callback que são implementados pelo bean orientado a mensagens. Estes métodos são similares aos usados pelos beans de sessão e os beans de entidade. Estes métodos avisam ao bean que determinados eventos ocorrem ou ocorreram.

11 Beans Orientados a Mensagens (MDB) Um Message Driven Bean (MDB) é, portanto, um EJB que permite que as aplicações JavaEE processem mensagens de modo assíncrono. Age como um listener de mensagens Java Message Service (JMS), o qual é similar a um ouvinte de eventos, a não ser pelo fato de que, ao invés de receber eventos, ele recebe mensagens.

12 Beans Orientados a Mensagens (MDB) As mensagens podem ser emitidas por qualquer componente de JavaEE - um cliente da aplicação, um outro EJB, ou um componente WEB - ou por uma aplicação/sistema JMS que não usem a tecnologia JavaEE.

13 Diferenças entre o MDB e Beans de Sessão A diferença mais visível entre EJBs MDB e outros EJBs é que os clientes não acessam os MDBs através das interfaces. Ao contrário de um EJB session, um MDB tem somente a classe bean.

14 Diferenças entre o MDB e Beans de Sessão Em diversos aspectos, um MDB assemelha-se a um EJB Session Stateless 1.As instâncias de um MDB não retêm nenhum dado ou estado de conversação com um cliente específico. 2.Todas as instâncias de um MDB são equivalente, permitindo que o container EJB atribua uma mensagem a toda instância de um MDB. O recipiente pode realizar um pool destes objetos para permitir que os fluxos das mensagens sejam processados simultaneamente. 3.Um único MDB pode processar mensagens de múltiplos clientes.

15 Diferenças entre o MDB e Beans de Sessão As variáveis de instância do MDB podem manter o estado através da manipulação de mensagens do cliente por exemplo, uma conexão JMS, uma conexão com a base de dados, ou uma referência a um objeto EJB.

16 Funcionamento do MDB Quando uma mensagem chega, o container chama o método onmessage() do MDB para processar a mensagem. O método onmessage() realiza normalmente um cast da mensagem para um dos cinco tipos de mensagem JMS e manipula a mensagem de acordo com a lógica do negócio da aplicação.

17 Funcionamento do MDB Uma mensagem pode ser entregue a um MDB dentro de um contexto da transação, de modo que todas as operações dentro do método onmessage() sejam parte de uma única transação. Se ao processar a mensagem for executado um roolback, a mensagem irá ser novamente enviada.

18 Escrevendo um MDB Aplicações que utilizam JMS são chamadas de JMS Clients, e o sistema de mensagens que realiza o roteamento e entrega de mensagens é chamado de JMS Provider. Uma JMS Application é um sistema composto por muitos JMS Clients e, geralmente, um JMS Provider.

19 Escrevendo um MDB Um JMS Client que manda mensagens é chamado de producer, e um JMS Client que recebe uma mensagem é chamado de consumer. Um JMS Client pode ser ao mesmo tempo um producer e um consumer!

20 Message Driven Bean 1. package com.ejb.mdb; 2. import javax.ejb.messagedriven; 3. import javax.jms.message; 4. import javax.jms.messagelistener; 6. public class ExemploMDB implements MessageListener { 1.public void onmessage(message message) { } 7. }

21 Escrevendo um MDB Observe acima que um MDB é definido através do uso de anotações. É utilizada a para anotar a classe com um MDB. Todo MDB implementa a interface javax.jms.messagelistener que obrigará o desenvolvedor a implementar o método onmessage() para tratar o recebimento de mensagens de um client producer. O código a ser executado quando o MDB receber uma mensagem é posto no método onmessage().

22 Escrevendo um MDB Um EJB pode ser um consumidor de mensagens assíncronas como o mostrado no exemplo acima ou pode ser um produtor de mensagens para que clientes JMS as recebam. Todo MDB deve estar escutando uma fila de mensagens (Queue) ou estar inscrito para receber mensagens de um tópico (Topic).

23 Tópicos Aqui uma mensagem JMS será enviada para um Topic do container EJB e este irá imediatamente realizar um envio de uma cópia desta mensagem para todos aqueles clientes que estiverem inscritos para receber mensagens daquele tópico. Os MDBs que estiverem inscritos para receber mensagens do tópico irão receber.

24 Escrevendo um MDB

25 Fila Este modelo JMS baseado em fila (queue) permitirá um cliente enviar mensagens para a fila de forma que outros possam consumir as mensagens da fila. Uma diferença importante com relação ao modelo topic é que a mensagem de uma fila será consumida apenas por um cliente e não distribuída para todos os inscritos como acontece com um topic.

26 Fila

27 Fila Observe que somente um MDB irá consumir a mensagem. Todas as mensagens enviadas por clientes ficam na Fila aguardando alguém que as consuma.

28 Escolha do Modelo A decisão de qual modelo utilizar na sua aplicação irá depender em cada caso do que precisa ser representado com JMS. O modelo de Queue garante que somente um cliente irá processar a mensagem recebida. É muitas vezes conhecido portanto com pier-topier (P2P).

29 EJB como Produtor JMS Um EJB Session também pode ser um produtor de mensagens para um topic. Neste caso o EJB ao executar deve criar uma sessão com o topic e enviar a ele uma mensagem.

30 Ciclo de vida de um MDB Os beans orientados a mensagens são normalmente criados quando o container inicializa. O descritor de configuração pode dar ao publicador ou o assembler do bean a habilidade para especificar quantos beans orientados a mensagens estarão disponíveis na inicialização e também qual é o máximo de beans que podem ser criados. É função do container garantir que as instâncias do bean no pool estarão disponíveis antes das mensagens JMS chegarem.

31 Ciclo de vida de um MDB O container primeiro chama um construtor com nenhum argumento para o bean, construtor default, logo em seguinda serão injetadas as anotações. Após isto o container chama o método anotado na instância do bean recém criado. Neste ponto pode-se colocar códigos de inicialização se seu bean necessita de determinados recursos para completar a lógica de negócios.

32 Ciclo de vida de um MDB O EJB container frequentemente cria um pool de instâncias de message-driven beans. Para cada instância, o EJB container instancia o bean e faz as seguintes tarefas: 1.Chama o método construtor 2.Injeta as anotações se houverem 3.Chama o método anotado 4.Chama o método onmessage()

33 Ciclo de vida de um MDB

34 Ciclo de vida de um MDB Como um stateless session bean, um message-driven bean não é nunca colocado no estado de passivo, e possui somente os estados mostrado a acima: não existente e pronto para receber mensagens. No final do ciclo de vida, o container chama o método anotado A instância do bean está então pronta para ser coletada pelo garbage collector.

35 Quando usar um MDB Os Session Beans e os Entity Beans permitem que você emita mensagens JMS e as receba de modo síncrono, mas não assíncrono. Para evitar desperdiçar recursos de servidor, você pode preferir não usar um bloqueio de execução síncrono em um componente no servidor. Para receber mensagens assíncronas, use um Message-Driven Bean.

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

Session Bean Stateful

Session Bean Stateful Session Bean Stateful Componentes que mantém o estado dos seus atributos. Mantém os valores de seus atributos entre as várias chamadas de seus métodos de negócio (serviços). Mantém um relacionamento forte

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

Introdução: EJBs de Sessão. Prof. Fellipe Aleixo

Introdução: EJBs de Sessão. Prof. Fellipe Aleixo Introdução: EJBs de Sessão Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O Que é um Enterprise Bean? Written in the Java programming language, an enterprise bean is a server-side component that encapsulates

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

Enterprise JavaBeansTM

Enterprise JavaBeansTM J530 Aplicações distribuídas usando Enterprise JavaBeansTM e Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos Oferecer uma introdução prática à tecnologia Enterprise JavaBeansTM (EJB) Este

Leia mais

Objetos e Componentes Distribuídos: EJB

Objetos e Componentes Distribuídos: EJB : EJB Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta

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

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Session Beans. Modelam o estado não-persistente

Session Beans. Modelam o estado não-persistente EJB Session Beans Session Beans Modelam o estado não-persistente O estado será perdido entre chamadas de métodos (sessão sem estado) ou chamadas do servidor (sessão com estado) Modelam processos do negócio

Leia mais

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side

Leia mais

Modelo de Componentes CORBA

Modelo de Componentes CORBA Modelo de Componentes CORBA Cláudia Brito L. N. da Silva cblns@cin.ufpe.br Roteiro 1. Visão geral 2.! Definindo componentes! Implementando componentes! Empacotando componentes! Instalando componentes!

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB INTRODUÇÃO AO DESENVOLVIMENTO WEB COM JAVA Tópicos Aplicações, componentes e containers web Aplicações web Modelo de aplicações

Leia mais

Enterprise Java Beans (I)

Enterprise Java Beans (I) Enterprise Java Beans (I) Professor: Diego Passos UFF dpassos@ic.uff.br Baseado no material original cedido pelo Professor Carlos Bazilio Java Beans Conceito já discutido na disciplina. São classes Java

Leia mais

ENTENDENDO O FRAMEWORK FORK/JOIN DE JAVA

ENTENDENDO O FRAMEWORK FORK/JOIN DE JAVA ENTENDENDO O FRAMEWORK FORK/JOIN DE JAVA Como funciona o Java Framework Fork /Join? Paralelismo é a execução simultânea de duas ou mais tarefas. Para nossos propósitos, basta entender que, em alguns problemas,

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 6 EJB Enterprise Java

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

Sincronização e Comunicação entre Processos

Sincronização e Comunicação entre Processos Sincronização e Comunicação entre Processos Monitores/Semáforos Semáforos Mecanismos de sincronização nãoestruturados; Exige do desenvolvedor bastante cuidado, pois qualquer engano pode levar a problemas.

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos

Leia mais

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education JBoss Seam Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode Agenda > Introdução > Arquitetura típica Java EE 5 > O que é JBoss Seam? > Porque escolher o JBoss Seam?

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

Namespaces, Classes e Métodos.

Namespaces, Classes e Métodos. . Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem

Leia mais

Classes, Métodos e Propriedades

Classes, Métodos e Propriedades Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de

Leia mais

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar

Leia mais

Threads. Pedro Cruz. EEL770 Sistemas Operacionais

Threads. Pedro Cruz. EEL770 Sistemas Operacionais Threads Pedro Cruz EEL770 Sistemas Operacionais Nas aulas anteriores A thread ou o thread? Não sei. Já vi todos 2 Chamadas de sistema Pedido de um processo ao Sistema Operacional (SO) Bloqueante Deixa

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

Interações entre objetos

Interações entre objetos Interações entre objetos 1 Interações! Interações mostram os aspectos dinâmicos de um sistema, enfatizando a troca de mensagens entre objetos! Dois diagramas podem ser usados para modelar as interações:

Leia mais

Comunicador Interno (Mensagens Instantâneas)

Comunicador Interno (Mensagens Instantâneas) Comunicador Interno (Mensagens Instantâneas) Manual do Usuário USU Unidade de Suporte ao Usuário GINF Gerência de Informática Setembro/2010 ATENÇÃO : A Unidade de Suporte ao Usuário do CREA-SP se isenta

Leia mais

Desenvolvimento de um Framework para replicação de dados entre bancos heterogêneos

Desenvolvimento de um Framework para replicação de dados entre bancos heterogêneos Desenvolvimento de um Framework para replicação de dados entre bancos heterogêneos João Batista Gianisini JúniorJ Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação

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

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e

Leia mais

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP Aluno: Abel Luiz Cechinel Orientador: Paulo Fernando da Silva Sumário Introdução; Fundamentação Teórica; Desenvolvimento; Conclusão;

Leia mais

Ordenação parcial versus

Ordenação parcial versus Capítulo 2 Ordenação parcial versus Ordenação completa Problemas cujo as instâncias manipuladas são grandes demandam cuidado na escolha das estruturas de dados usadas. Muitas vezes, por exemplo, manter

Leia mais

Prof. Fellipe Araújo Aleixo fellipe.aleixo@ifrn.edu.br

Prof. Fellipe Araújo Aleixo fellipe.aleixo@ifrn.edu.br Prof. Fellipe Araújo Aleixo fellipe.aleixo@ifrn.edu.br A arquitetura Enterprise JavaBeans é uma arquitetura de componentes para o desenvolvimento e a implantação de aplicativos de negócio distribuídos

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Arquitetura Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura

Leia mais

Figura 1: Formato de Requisição HTTP

Figura 1: Formato de Requisição HTTP Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática Desenvolvimento de Aplicações Distribuídas Prof. Geanderson Esteves dos Santos geanderson@dcc.ufmg.br Laboratório

Leia mais

Comunicação entre processos

Comunicação entre processos Comunicação entre processos Fernando Afonso Santos UNIFEI Campus Itabira Processos Processos e Programas Um programa é uma entidade estática Fornece as instruções necessárias para realizar tarefas Não

Leia mais

Entity Beans. Rodrigo Campiolo João Bosco M. Sobral. Computação Distribuída Sistemas de Informação

Entity Beans. Rodrigo Campiolo João Bosco M. Sobral. Computação Distribuída Sistemas de Informação Rodrigo Campiolo João Bosco M. Sobral Computação Distribuída Sistemas de Informação Definição Um Entity Bean é um componente de dados que armazena permanentemente os dados em uma estrutura secundária,

Leia mais

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE

Leia mais

Plataforma J2EE e EJB

Plataforma J2EE e EJB 1 Plataforma J2EE e EJB Cláudio Fernando Resin Geyer 1 Rômulo Bandeira Rosinha 2 Alexandre Albuquerque Arnt 3 Flávio Rodrigues Maciel 4 1 Professor do Instituto de Informática da UFRGS, doutor em Informática

Leia mais

Sistemas Distribuídos Capítulo 3 - Aula 3

Sistemas Distribuídos Capítulo 3 - Aula 3 Sistemas Distribuídos Capítulo 3 - Aula 3 Aula passada Arquitetura de SDs Estilo Arquitetônico Arquitetura de Sistemas Sistemas Autogerenciáveis Aula de hoje Threads Threads em SDs Processos Clientes Processos

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

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS ¹Lucas Martins de Andrade, ¹Jaime William Dias ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil lucasm748@gmail.com

Leia mais

Informática Parte 11 Prof. Márcio Hunecke

Informática Parte 11 Prof. Márcio Hunecke Escriturário Informática Parte 11 Prof. Márcio Hunecke Informática FERRAMENTAS DE INGESTÃO DE DADOS (SQOOP 1.4.6, FLUME 1.7.0, NIFI 1.3.0 E KAFKA 0.11.0) Visão geral sobre os quatro componentes Fazem

Leia mais

5 Arquitetura de implementação

5 Arquitetura de implementação Arquitetura de implementação 103 5 Arquitetura de implementação 5.1 Visão geral Nossa arquitetura é caracterizada pela construção de um ambiente para execução de aplicações hipermídia definidas segundo

Leia mais

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo

Leia mais

Pré-requisitos: Conhecimentos de informática gerencial e lógica de programação.

Pré-requisitos: Conhecimentos de informática gerencial e lógica de programação. CURSO DESENVOLVEDOR FRONT-END HTML5/CSS3/JavaScript Objetivo: Este curso visa introduzir o aluno do mundo do desenvolvimento Web, com aplicabilidade, ensino e capacitação nas principais linguagens de diagramação

Leia mais

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos) Desenvolvimento de Sistemas Web A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos) Prof. Mauro Lopes 1-31 24 Objetivos Dando continuidade aos estudos sobre JSP,

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

7.1 Trabalhos Relacionados

7.1 Trabalhos Relacionados 7 Conclusões O desenvolvimento de aplicações adaptáveis traz novos desafios em relação ao desenvolvimento de software convencional. Em parte, isso está relacionado às diferentes características das diversas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Modelo de Interação (Clocks e Eventos) Em SDs é difícil estabelecer limites de tempo sobre o tempo tomado para execução de processos,

Leia mais

Protocolos e Serviços de Redes

Protocolos e Serviços de Redes Protocolos e Serviços de Redes Redes de Computadores Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/rdc charles.garrocho@ifsp.edu.br Técnico

Leia mais

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Rede de computadores Cliente- servidor. Professor Carlos Muniz Rede de computadores Professor Carlos Muniz Definição Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.

Leia mais

JPA 2.0 e Servlet 3.0

JPA 2.0 e Servlet 3.0 JPA 2.0 e Servlet 3.0 Elaine Silva Instrutora Globalcode Melissa Villela Instrutora Globalcode 1 Agenda > Objetivo > JPA 2.0 > Servlet 3.0 > Conclusões 2 Agenda > Objetivo > JPA 2.0 > Servlet 3.0 > Conclusões

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

comunicação entre processos distribuídos

comunicação entre processos distribuídos comunicação entre processos distribuídos comunicação entre máquinas troca de mensagens serviço básico send (destino, msg) receive (origem, &msg) send (destino, msg) troca de mensagens receive (origem,

Leia mais

Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS

Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS Sumário Introdução...3 Visão Geral do Software...4 Regras SMS...5 Ativar Inicialização Automática...6 Configurações...7 Log...8 Aplicação de Gerenciamento

Leia mais

Model Driven Development (MDD)

Model Driven Development (MDD) Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software

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

Sistemas Distribuídos Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Introdução: Sockets Para estabelecer a Comunicação Interprocesso nos Sistemas Distribuídos,

Leia mais

Preparação AV3 Fundamentos de Redes de Computadores

Preparação AV3 Fundamentos de Redes de Computadores Preparação AV3 Fundamentos de Redes de Computadores 1 - Em uma rede de computadores existem dispositivos responsáveis por distribuir as informações por toda a rede. Quando falamos de dispositivos que atuam

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Processos em SD Threads 2 Processos em SD Processo=Programa em execução... Do

Leia mais

Programação com Sockets

Programação com Sockets Sistemas Distribuidos e Paralelos Programação com Sockets Datagramas Objetivo Desenvolver programas que permitam o envio de informação pela rede mediante sockets usando o protocolo UDP. Bibliografía Deitel,

Leia mais

4 - Padrões da Camada de Integração. Introdução

4 - Padrões da Camada de Integração. Introdução Padrões de Projeto J2EE J931 Padrões da Camada de Integração Helder da Rocha (helder@acm.org) argonavis.com.br Introdução A camada de integração encapsula a lógica relacionada com a integração do sistema

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Classes e Objetos, Construtores e Desconstrutores, Atributos e

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas SOA e Web Services Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura

Leia mais

2 Componentes de Software

2 Componentes de Software 2 Componentes de Software A proposta de componentes de software surgiu no final dos anos 60 como uma tentativa de suprir a necessidade de construir software de forma rápida e barata [12]. Entretanto, foi

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

6 Exemplos de Uso. Figura 6.1: Aplicação de fluxo de eventos

6 Exemplos de Uso. Figura 6.1: Aplicação de fluxo de eventos 6 Exemplos de Uso Para ilustrar o uso das ferramentas do LOAF na adaptação dinâmica de sistemas, utilizaremos uma aplicação composta por três componentes, um componente produtor de dados e dois componentes

Leia mais

Comunicação. capítulo

Comunicação. capítulo Comunicação capítulo 4 Camadas de protocolos: Modelo OSI Camadas de protocolos: Mensagem Protocolos de baixo nível Estas camadas implementam as funções básicas que envolvem uma rede de computadores: Física:

Leia mais

Segundo trabalho prático de implementação Sistema de reserva de assentos

Segundo trabalho prático de implementação Sistema de reserva de assentos Segundo trabalho prático de implementação Sistema de reserva de assentos 1. Descrição do problema Computação Concorrente (MAB-117) 2016/2 Prof. Silvana Rossetto 1 DCC/IM/UFRJ 17 de novembro de 2016 Um

Leia mais

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets Java para Web & EJB Teoria, prática e questões Módulo Introdução e Servlets Introdução ao Desenvolvimento Web com Java Tópicos Aplicações, componentes e containers web Aplicações web Modelo de aplicações

Leia mais

Processos ca 3 pítulo

Processos ca 3 pítulo Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém

Leia mais

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos picos Definição de estrutura Acessando membros de estruturas O tipo horario com struct Implementando horario com class Escopo

Leia mais

PROGRAMAÇÃO PARA INTERNET RICA AJAX

PROGRAMAÇÃO PARA INTERNET RICA AJAX PROGRAMAÇÃO PARA INTERNET RICA AJAX Prof. Dr. Daniel Caetano 2013-1 Objetivos Apresentar o conceito do AJAX Capacitar para a criação de sites / aplicativos dinâmicos com o uso de AJAX Trabalho B! Material

Leia mais

PCS LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA

PCS LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia de Computação e Sistemas Digitais PCS - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA EXERCÍCIO PROGRAMA

Leia mais

Executa em qualquer plataforma que possua o Java (JDK) da Oracle

Executa em qualquer plataforma que possua o Java (JDK) da Oracle Recurso Benefícios Multiplataforma Executa em qualquer plataforma que possua o Java (JDK) da Oracle Utiliza base de dados Oracle, Microsoft SQL ou MySql Utiliza os principais bancos de dados de mercado

Leia mais

Programação Distribuída. Tipos de Sistemas Distribuídos

Programação Distribuída. Tipos de Sistemas Distribuídos Programação Distribuída Tipos de Sistemas Distribuídos Tipos de Sistemas Distribuídos Os diferentes tipos de sistemas distribuídos são: Sistema de Computação Distribuído Sistema de Informação Distribuído

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando

Leia mais

Instrumentação do NEON via WebSocket Especificação dos serviços de instrumentação do NEON através de conexões WebSocket.

Instrumentação do NEON via WebSocket Especificação dos serviços de instrumentação do NEON através de conexões WebSocket. authentication Especificação dos serviços de instrumentação do NEON através de conexões WebSocket. www.inwise.com.br Sumário Sumário... 2... 3 Conexão... 4 Exemplo... 4 Enviando comandos... 5 Exemplo...

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 Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

AULA ANTERIOR: MODELOS FUNDAMENTAIS

AULA ANTERIOR: MODELOS FUNDAMENTAIS AULA ANTERIOR: MODELOS FUNDAMENTAIS Modelos fundamentais de um sistema distribuído Permitem estabelecer quais as premissas existentes a respeito de aspetos chave. Permitem avaliar de forma objetiva as

Leia mais

Neste tópico, você conhecerá a ferramenta Solution Packager, usada por parceiros e fornecedores de soluções de software para criar soluções prontas

Neste tópico, você conhecerá a ferramenta Solution Packager, usada por parceiros e fornecedores de soluções de software para criar soluções prontas Neste tópico, você conhecerá a ferramenta Solution Packager, usada por parceiros e fornecedores de soluções de software para criar soluções prontas para distribuir a outros parceiros. 1 Neste tópico, você

Leia mais

Implementação de um Sistema de Objetos Remoto baseado em Java RMI. Ricardo Couto Antunes da Rocha INF/UFG

Implementação de um Sistema de Objetos Remoto baseado em Java RMI. Ricardo Couto Antunes da Rocha INF/UFG Implementação de um Sistema de Objetos Remoto baseado em Java RMI Ricardo Couto Antunes da Rocha INF/UFG Declaração da Interface do Objeto Remoto Declaração de uma interface Java, com os métodos que são

Leia mais

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

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento

SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento SISTEMAS DISTRIBUÍDOS ARQUITETURAS Slides cedidos pela Professora Aline Nascimento INTRODUÇÃO A organização dos SDs trata em grande parte dos componentes de software que constituem o sistema Os 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

Sistemas de Troca de Mensagens

Sistemas de Troca de Mensagens Universidade Federal do Rio de Janeiro Programa de Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquitetura de Sistemas Paralelos Sistemas de Troca de Mensagens Sistemas de Comunicação O Sistema de Comunicação

Leia mais

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por

Leia mais

Roteiro de Práticas de Roteamento EGP usando Quagga

Roteiro de Práticas de Roteamento EGP usando Quagga Roteiro de Práticas de Roteamento EGP usando Quagga BGP O objetivo desse roteiro é mostrar como o pacote Quagga pode ser utilizado para construir roteadores com suporte a protocolos de roteamento utilizando

Leia mais

Tutorial Modem. O recurso poderá ser acessado a partir das seguintes telas do sistema:

Tutorial Modem. O recurso poderá ser acessado a partir das seguintes telas do sistema: Tutorial Modem O Que é? O Modem GSM é um equipamento que possui o recurso de utilização de CHIP de celular para envio de SMS (Short Message Service), ou seja, o usuário poderá realizar o envio de promoções,

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

Comunicação Objetos Distribuídos e RMI

Comunicação Objetos Distribuídos e RMI Sistemas Distribuídos Comunicação Objetos Distribuídos e RMI - Parte 2 - Instituto de Informática UFG Verão 2005 Baseado em: Tanenbaum, Capítulo 2 Chamadas de Objetos: Chamadas Remotas e Chamadas Locais

Leia mais

Módulo III Camada de Persistência

Módulo III Camada de Persistência Módulo III Camada de Persistência Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Modulo III Camada de Persistência Persistência de Objetos Mecanismo de

Leia mais

Firewall - Inspeção com estado. (Stateful Inspection)

Firewall - Inspeção com estado. (Stateful Inspection) Proxy e FIREWALL Firewall - Inspeção com estado. (Stateful Inspection) As primeiras gerações de firewall eram ditos "stateless". Cada pacote é analisado individualmente, sem levar em conta pacotes anteriores

Leia mais