UFG - Instituto de Informática

Documentos relacionados
Java Message Service (JMS)

UFG - Instituto de Informática

Objetos e Componentes Distribuídos: EJB

Objetos e Componentes Distribuídos: EJB e CORBA

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.

IBM WebSphere MQ. Introdução

Enterprise Application Integration (EAI)

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

Sistemas Distribuídos

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

Sistemas Distribuídos

Desenvolvimento de Aplicações Distribuídas

Vamos fazer um pequeno experimento

Gerência de Redes Visão Geral

Message Oriented Middleware (MOM)

SPEEDMiddleware - MOM

MOM Message Oriented Middleware

Message Oriented Middleware & Message Brokers

Desenvolvimento de Aplicações Distribuídas

O que é um sistema distribuído?

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Principais conceitos de CORBA

Preparação AV3 Fundamentos de Redes de Computadores

Desenvolvedor Android: Avançado. Plano de Estudo

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Nuvem e Virtualização Redes Programáveis

Curso online de Fundamentos em Android. Plano de Estudo

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

UFG - Instituto de Informática

Introdução à Computação

Definição Rede Computadores

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

Curso online de. Formação em Front-End. Plano de Estudo

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

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1

O uso consciente da tecnologia para o gerenciamento. Editora Saraiva Emerson de Oliveira Batista

Processo Módulo M NPS

Tecnologia da Informação

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Common Object Request Broker Architecture

Por que é importante?

Curso online de Aplicações. Híbridas. Plano de Estudo

Estruturas de Sistemas Operacionais

5 Proposta de Integração com as Redes Sociais Pervasivas

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Prof. Samuel Henrique Bucke Brito

Operations Research Serviços de Redes

User Datagram Protocol

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Sérgio Koch Van-Dall

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

O discador BA não conecta com o CTI Server - ordem de associação NIC

Barramento. Prof. Leonardo Barreto Campos 1

Projeto. Observatório Nacional de Clima e Saúde

REDES DE COMPUTADORES

PMR3507 Fábrica digital

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

08/08/2016. Prof. Richard Brosler

Arquitetura da Internet TCP/IP

JINI. Rodrigo Campiolo João Bosco Mangueira Sobral. Disciplina: Computação Distribuída Curso: Sistemas de Informação

Redes de Computadores

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Visões Arquiteturais. Visões Arquiteturais

Funcionalidade e Protocolos da Camada de Aplicação

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

WAP. Determinação de Superfícies. Visíveis. José Almir Freire de Moura Júnior.

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Pré Requisitos para instalaçăo ou Atualizaçăo DFe-Manager. 1. Introduçăo

Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services

Redes de Computadores

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

Padrões. Arquitetura de Software Thaís Batista

Comentários: Desenvolvimento de Sistemas Rogério Araújo

Figura 1: Modelo de interação para a autenticação do utente com o seu Cartão de Cidadão.

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

Introdução a Computação em Nuvem

Introdução ao Desenvolvimento de

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha

Web Services. Tópicos. Introdução (1/3) CONTEXTO HISTÓRICO WEB SERVICES Conclusões

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

FIGURA 59 Interação entre componentes da plataforma CrystalWalk. Fonte: do autor.

Comunicação de Dados II

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Curso Online de E-commerce. Plano de Estudo

Banco de Dados I Curso: Sistemas de Informação

Manual Moodle. Perfil de Aluno. Elaboração:

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

AULAS ERP: INTRODUÇÃO & VISÃO GERAL

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

Transcrição:

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 Mensagens

Message Oriented Middleware Middleware orientado a mensagem (MOM) é um software ou hardware de infra-estrutura focada em enviar e receber mensagens entre sistemas distribuídos.

Message Oriented Middleware MOM permite que os módulos do aplicativo para ser distribuído através de plataformas heterogêneas Reduz a complexidade do desenvolvimento de aplicações que abrangem vários sistemas operacionais e protocolos de rede, isolando o desenvolvedor do aplicativo a partir de detalhes do sistema operacional e interfaces de rede.

Message Oriented Middleware MOM é um software que reside em ambas as porções da arquitetura cliente/servidor e normalmente suporta chamadas assíncronas entre as aplicações cliente e servidor. MOM reduz a participação dos desenvolvedores de aplicativos com a complexidade da natureza mestre/escravo do cliente/servidor mecanismo.

Origem O caso de um grande banco fornece um bom exemplo de como middleware surgiu como uma exigência do negócio: Um banco tinha guardado todos os detalhes do seu cliente em seu mainframe de grande porte desde 1960. Este mainframe permaneceu em uso pesado e sofreu diversos melhoramentos.

Origem Apesar de inovador em sua época, a utilidade do mainframe para o pessoal do banco diminuiu O banco apresentou novas aplicações separadas com base em computadores pessoais (PCs), permitindo que o pessoal do banco oferecer aos clientes novos serviços que o mainframe não poderia suportar.

Origem Uma situação ideal seria permitir que o aplicativo baseado em PC com link para o aplicativo de mainframe mais velhos e permitir que o mainframe e os PCs para compartilhar uns dos outros dados.

Origem Acessando dados do mainframe oferece duas vantagens: 1.Novas Aplicações de front-end PC podem substituir os antigos terminais de mainframe pouco amigável ao usuário. 2.Sistemas baseados em PC podem utilizar os dados do mainframe em novas formas - antes impraticáveis devido às limitações do software do mainframe

Origem Até o final de 1980 integradores de sistema tinha nenhuma maneira fácil de ligar estas aplicações diferentes juntos.

Origem Desenvolvedores enfrentou vários desafios: 1. Os desenvolvedores teriam que construir adaptadores de um software separado em ambos os sistemas de tradução de dados de aplicativos de código em um formato que o sistema de destino pode entender (e vice-versa).

Origem 2. A velocidade de processamento de cada sistema obrigaria o outro sistema. Por exemplo, se o mainframe correu lentamente, o aplicativo baseado em PC teria que esperar até que o mainframe apanhados, atrasando a aplicação de PC. Por outro lado, a transformação que tinha sido transferida para servidores distribuídos por razões de custo seria executado de forma lenta e mainframe teria de esperar até que o servidor preso.

Origem 3. Programadores de comunicação seria necessário instalar um sistema de gateway de rede para formar uma ponte entre a rede do mainframe e da rede de PC, se os diferentes sistemas utilizados diferentes protocolos de rede. O gateway iria traduzir os pacotes de rede do sistema de origem e de transmiti-las ao sistema de destino usando o protocolo do sistema de destino.

Origem Tais questões feita a integração entre aplicações difíceis. Grande parte dessa integração também necessária reengenharia cada vez duas aplicações em plataformas diferentes necessário que reúna, já que cada situação diferente, em certa medida. Ao dedicar esforço para que reúna os aplicativos em diferentes sistemas, departamentos de TI e passou a gastar uma quantia significativamente maior do que o gasto no desenvolvimento inicial, por sub-sistema.

Java Message System Java Message Service, ou JMS, é uma API da linguagem Java para middleware orientado à mensagens. Através da API JMS duas ou mais aplicações podem se comunicar por mensagens. A JMS API é uma Message Oriented Middleware (MOM)

Arquitetura A API JMS suporta dois modelos de troca de mensagens: Ponto a ponto ou modelo de filas Modelo publish/subscribe

Modelo Ponto a Ponto No modelo ponto a ponto, ou por filas, um produtor (producer) envia mensagens para uma fila e um consumidor (consumer) as lê. Neste caso, o produtor conhece o destino da mensagem e a envia diretamente para a fila do consumidor.

Modelo Ponto a Ponto Este modelo é caracterizado pelo seguinte: Apenas um consumidor irá ler a mensagem; Não é necessário que o produtor esteja em execução no momento em que o consumidor lê a mensagem, assim como não é necessário que o consumidor esteja em execução no momento que o produtor envia a mensagem; Quando lê uma mensagem com sucesso o consumidor envia um aviso (acknowledged) para o produtor.

Modelo Ponto a Ponto

Modelo Publish/Subscribe Este modelo suporta a publicação de mensagens para um determinado tópico de mensagens (message topic). O(s) assinante(s) (subscriber) podem registrar interesse em receber ( em assinar ) mensagens de um tópico. Neste modelo, nem o publicador (publisher) ou o assinante sabem um do outro.

Modelo Publish/Subscribe As características deste modelo são: Múltiplos consumidores podem ler a mensagem; Existe uma dependência temporal entre os publicadores e assinantes de um tópico; Um publicador deve criar uma assinatura (subscription) para que os assinantes possam receber mensagens; O assinante do tópico deve estar em execução continuamente para receber as mensagens.

Modelo Publish/Subscribe

Elementos da API JMS Cliente JMS Uma aplicação ou objeto Java que produz e consome mensagens. As mensagens são objetos que contém os dados que são transferidos entre os clientes JMS.

Elementos da API JMS Conexão JMS A partir do momento que uma factory é obtida, conexões para o provedor JMS podem ser criadas. Uma conexão representa a ligação entre a aplicação cliente e a aplicação servidora. Dependendo do tipo da conexão, ela permitirá que os clientes criem sessões para o envio e recebimento de mensagens de filas ou tópicos.

Elementos da API JMS Fábrica de conexões JMS É um objeto administrado que a aplicação cliente utiliza para a criação de conexões para o provedor JMS. Normalmente, os clientes obtém as factories através de interfaces portáveis, desta forma, mesmo se as configurações do provedor JMS mudarem, o código do cliente permanece inalterado. Os administradores mantém as configurações em objetos (objetos da classe factory), que são obtidos através de buscas (lookup) na JNDI. Dependendo do tipo da mensagem, o cliente obterá uma factory para tópico ou para fila.

Elementos da API JMS Destino É um objeto administrado que encapsula a identidade do destino das mensagens, que é onde as mensagens são enviadas e consumidas. Pode ser uma fila ou um tópico. O administrador JMS cria estes objetos, e os usuários os obtém através de buscas na JNDI. Da mesma forma que as factories de conexões, o administrador pode criar dois tipos de classe de destino, fila e tópico.

Elementos da API JMS Consumidor Um objeto criado através de uma sessão JMS. Ele recebe mensagens de um destino. O consumidor pode receber mensagens de maneira síncrona ou assíncrona de filas ou tópicos.

Elementos da API JMS Produtor Um objeto criado através de uma sessão JMS. Ele envia mensagens para um destino.

Elementos da API JMS Mensagens São objetos enviados entre consumidores e produtores de mensagens. Eles contêm um outro objeto que encapsula os dados que serão trafegados pelas mensagens. Uma mensagem possui três partes principais: 1.um cabeçalho, contém a rota das mensagens 2.um conjunto de atributos opcionais 3.o corpo da mensagem que pode conter cinco tipos de mensagens: texto, map, bytes, stream ou objetos A interface de uma mensagem é extremamente flexível e permite várias formas de customização de conteúdo.

Elementos da API JMS Provedor JMS Representa uma interface para um software de middleware orientado à mensagens. Ele suporta a interface JMS que é especificada pela Sun Microsystems/Oracle. Ele é basicamente um adaptador de um middleware.

Softwares que suportam JMS Livres ActiveMQ JbossMQ Joram MantaRay OpenJMS RabbitMQ Glassfissh

Softwares que suportam JMS Comerciais BEA WebLogic Server da BEA Systems Tibco EMS da TIBCO Software FioranoMQ GigaSpaces da GigaSpaces Technologies ibus da Softwired IONA JMS da IONA Technologies SeeBeyond ICAN Suite da Sun Microsystems IQManager da Sun Microsystems JMS+ da webmethods SonicMQ da Sonic Software WebSphere MQ da IBM webmethods Broker JMS da webmethods

Tecnologias de Mensagens que não suportam JMS Advanced Message Queuing Protocol (AMQP) Protocolo de filas de mensagens padronizadas com implementações independentes múltiplas. Amazon Simple Queue Service Serviços de mensagens comodotizados providos pela Amacon.com com uma taxa por uso. Permite ao usuário alugar acesso para messaging sem ter e manter seu próprio servidor. Microsoft Message Queuing Tecnologia similar, implementada para.net Framework.