Java Message Service (JMS)
|
|
|
- André de Sá Macedo
- 7 Há anos
- Visualizações:
Transcrição
1 Java Message Service (JMS) Disciplina de Sistemas Distribuídos Prof. Cristiano André da Costa Luiz Henrique Feltes
2 Roteiro Introdução; Arquitetura; Vantagens / Desvantagens; Componentes do JMS; Códigos fonte de exemplo; Comparação do JMS com RMI/RPC; Considerações finais. 2
3 Introdução MOM (Message Oriented Middleware) Comunicação entre aplicações por troca de mensagens; Portabilidade, interoperabilidade; Reduz a complexidade da implementação de comunicação das aplicações; 3
4 Introdução 4
5 Introdução Um exemplo de uso do MOM: Montadora precisa distribuir uma lista de preço a todas as concessionárias; Se a comunicação fosse por exemplo com RMI/RPC, montadora e concessionária deveriam estar conectadas no momento; 5
6 Introdução Um exemplo de uso do MOM: No caso do MOM, a montadora produz uma mensagem com a nova lista, sem necessidade de estar conectada as concessionárias; O MOM fica encarregado de entregar a mensagem as concessionárias, quando estiverem disponíveis para receber; 6
7 Introdução JMS (Java Message Service) API Java J2EE; Duas ou mais aplicações podem se comunicar por mensagens; A troca de mensagem é de forma assíncrona; Possibilidade de comunicação a EJBs; 7
8 Arquitetura Existem dois modelos de arquitetura: Point-to-Point (ou modelo de filas); Publish and Subscribe; 8
9 Arquitetura Point-to-Point Analogia: Similar ao envio de uma correspondência; Produtor envia mensagens para uma fila e um consumir lê; Produtor conhece o destino e envia diretamente para a fila; 9
10 Arquitetura Point-to-Point Apenas um consumidor pode ler a mensagem; Não é necessário que o produtor esteja conectado quando a mensagem for lida pelo consumidor e viceversa; Quando mensagem é lida com sucesso o consumidor avisa o produtor (acknowledgement); 10
11 Arquitetura Point-to-Point Filas retêm mensagens até que sejam consumidas (ou expirem) Produtor 1 Fila Consumidor 1 Produtor 2 11
12 Arquitetura Point-to-Point 12
13 Arquitetura Publish and Subscribe Analogia: Similar ao sistema de assistir canal de TV por assinatura; Assinante registra o interesse em receber as mensagens; Publicador e assinante não se conhecem; 13
14 Arquitetura Publish and Subscribe Muitos para Muitos; Mensagens são enviadas para um canal (tópico) onde os assinantes do canal podem retirá-las; 14
15 Arquitetura Publish and Subscribe Publicador e o assinante não se conhecem; Produtor 1 Consumidor 1 Canal Produtor 2 Consumidor 2 15
16 Arquitetura Publish and Subscribe 16
17 Vantagens Escalabilidade: Para aumentar a capacidade servidora, basta acrescentar mais servidores, sem alterar os componentes; Novos clientes podem se conectar para usar mensagens de outras aplicações; Infraestrutura é reutilizada para outras aplicações; 17
18 Vantagens Comunicação assíncrona: Componentes podem realizar outras tarefas quando não estão ocupados lidando com as requisições; Desacoplamento: Maior modularidade, reuso, simplicidade; Servidor de messaging é o responsável pelo serviço; 18
19 Vantagens Flexibilidade: API é definida pelo tipo de mensagens (não por interface) Comunicação é a mensagem, não importa linguagem, plataforma, etc; 19
20 Desvantagens Camada adicional para repassar as mensagens; Centralização em um único ponto introduz risco de falha do sistema caso serviço de mensagem falhe; Solução: Replicação, clustering; Dificulta a criação de aplicações que precisam de comunicação síncronas; 20
21 Componentes do JMS JMS Provider É o sistema de mensagens em si; Cliente JMS São as aplicações Java que enviam e recebem as mensagens; Mensagens São os objetos enviados para as aplicações clientes; 21
22 Componentes do JMS 22
23 Componentes do JMS A mensagem JMS é composta de três partes: Cabeçalho Propriedades Corpo 23
24 Componentes do JMS Cabeçalho: Está presente em todas as mensagens; Informações de identificação e direcionamento das mensagens; Produzido pela aplicação produtora de mensagem; 24
25 Componentes do JMS Propriedades: É opcional; Pode ser considerada uma extensão do cabeçalho; Contém valores que aplicações consumidoras podem utilizar para filtragem das mensagens; Podem oferecer informações como: data/hora mensagem foi enviada; 25
26 Componentes do JMS Corpo: Define o tipo de mensagem. Existem 6 tipos de mensagens: TextMessage; MapMessage; BytesMessage; StreamMessage; ObjectMessage; 26
27 Componentes do JMS 27
28 Componentes do JMS 28
29 Componentes do JMS Tratamento de excessões: Exception genérica: JMSException Subclasses: InvalidClientIDException; InvalidDestinationException; JMSSecurityExecption; MessageFormatException; MessageEOFException; 29
30 Códigos fonte de exemplo Point-to-Point: QSender; QProvider; Publish and Subscribe: TPublisher; TSubscriber; 30
31 Comparação do JMS com RMI/RPC JMS Mensagens são representadas como eventos; Interface é genérica; Arquitetura é centralizada (tudo passa pelo MOM); RMI/RPC Mensagens são invocações a métodos; Aplicação se comunica por uma interface definida; Comunicação é síncrona; Aplicações precisam estar conectadas; 31
32 Considerações finais Quando a comunicação depende mais de mensagens do que interface definidas (componentes não dependem da interface de outros componentes); Quando a disponibilidade é imprevisível ou aplicação precisa rodar quando nem todos componentes estão acessíveis; Quando precisa ter um comportamento assíncrono; 32
33 Referências Kim Haase - JMS API Tutorial - Sun - Java Message Service - ervice_units/techops/atc_comms_services/swim/documentation/ media/compliancy/jms-1_1-fr-spec.pdf Helder Rocha
34 Java Message Service (JMS) Disciplina de Sistemas Distribuídos Prof. Cristiano André da Costa Luiz Henrique Feltes
J533 - Minicurso. Helder da Rocha ([email protected]) www.argonavis.com.br
J533 - Minicurso Helder da Rocha ([email protected]) 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
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
Message Oriented Middleware (MOM)
Message Oriented Middleware (MOM) November 1, 2009 Sumário Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes
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 [email protected]
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
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)
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
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 [email protected] Aula 12 Beans Orientados a
Sistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Sistemas Distribuídos baseados em Coordenação. Pedro Ferreira DI - FCUL
Sistemas Distribuídos baseados em Coordenação Pedro Ferreira DI - FCUL Introdução Uma visão diferente sobre os sistemas distribuídos: Consideramos sistemas inerentemente distribuídos que se modificam com
Java Message Service (JMS)
J530 - Enterprise JavaBeans Java Message Service (JMS) Helder da Rocha ([email protected]) argonavis.com.br 1 Introdução O objetivo deste capítulo é apresentar uma introdução ao modelo de comunicações baseado
Sistemas Distribuídos
UERN Sistemas Distribuídos Prof. André Gustavo [email protected] Sistemas Distribuídos Ementa: Conceitos relacionados com Sistemas Distribuídos. Mecanismos dos Sistemas Operacionais para suporte a distribuição.
A interface de uma mensagem é extremamente flexível e permite várias formas de customização de conteúdo. Figura 1 - Tipos de Mensagens JMS
Programando com Java Artigo http://mballem.wordpress.com/ Chat JMS com ActiveMQ Java Message Service Autor Marcio Ballem: é formado em Sistemas de Informação e possui certificação Oracle Certified Professional,
Message Driven Beans. Apresentação. Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo
Message Driven Beans Apresentação Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo 1 Introdução Message Driven Beans são EJBs que consomem mensagens enviadas para filas
Sistemas Distribuídos
Sistemas Distribuídos Unitri Prof: Carlos Eduardo de Carvalho Dantas Conceitos Sistema Distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente.
Arquitetura de Software Parte 2/3-Estilos Arquiteturais. Jorge H. C. Fernandes Junho de 1999
Arquitetura de Software Parte 2/3-Estilos Arquiteturais Jorge H. C. Fernandes Junho de 1999 Estilos Arquiteturais mais Comuns (Mary Shaw, 96) Data flow Batch Pipes e filtros Chamada e retorno Programa
Aplicações com Banco de Dados e Cliente-Servidor
Aplicações com Banco de Dados e Cliente-Servidor Aula #231 EBS 211 POO e UML Prof Luiz Fernando S Coletta luizfsc@tupaunespbr Campus de Tupã Roteiro Rede de computadores; Aplicação cliente/servidor; Sockets
Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003
Arquitetura de Aplicações J2EE Jorge Fernandes Outubro de 2003 J2EE O que é Como se organiza Como funciona Elementos Arquitetura Típica Componentes de Software Reuso é um processo Publicar interfaces Distribuir
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
MOM Message Oriented Middleware
MOM Message Oriented Middleware Bruno Miguel de Sousa Gonçalves 1.O que é a MOM? 1.1. Conceito Figura 1 Descrição geral da arquitectura MOM. Message Oriented Middleware trata-se de uma insfraestrutura
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
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS Marcelo Henrique dos Santos Marcelo Henrique dos Santos Email: Site: [email protected] www.marcelohsantos.com.br TECNOLOGIA EM JOGOS
Sistemas Distribuídos
Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Gustavo Reis [email protected] 1 - Arquitetura Em sistemas distribuídos a meta é separar aplicações das plataformas subjacentes,
Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81
Sumário 1 Caracterização de Sistemas Distribuídos 1 1.1 Introdução 2 1.2 Exemplos de sistemas distribuídos 3 1.3 Tendências em sistemas distribuídos 8 1.4 Enfoque no compartilhamento de recursos 14 1.5
Programação para Dispositivos Móveis
Prof. MSc. Flávio Barros [email protected] www.flaviobarros.com.br Programação para Dispositivos Móveis Aula - Arquiteturas de Aplicação Móvel Caxias - Ma Roteiro Arquiteturas de Aplicação Móvel Arquiteturas
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
Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014
Bancos de Dados Distribuídos Gabriel Resende Gonçalves 4 de fevereiro de 2014 Sumário Introdução; Vantagens e Desvantagens; Regras Básicas; Tipos de BDDs; Processamento de Transações; Recuperação de Falhas;
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens
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
INTEGRADOR DE MENSAGENS CORPORATIVAS PARA UMA INFRA-ESTRUTURA DE ELETRONIC DATA INTERCHANGE (EDI)
INTEGRADOR DE MENSAGENS CORPORATIVAS PARA UMA INFRA-ESTRUTURA DE ELETRONIC DATA INTERCHANGE (EDI) Fernando José Lunelli Marcel Hugo - Orientador Roteiro da apresentação: Introdução Objetivos Fundamentação
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
Invocação Remota. Prof. Leonardo Barreto Campos. 1/29
Invocação Remota Prof. Leonardo Barreto Campos 1/29 Sumário Introdução Chamada de Procedimento Remoto Invocação a Método Remoto Leitura Complementar Bibliografia 2/29 Introdução Essa aula trata como os
Características de Sistemas Distribuídos
Tópicos O conceito de Características de Carlos Ferraz [email protected] Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito
Engenharia de software distribuído. Artur Sampaio Lívia Castro Degrossi
Engenharia de software distribuído Artur Sampaio Lívia Castro Degrossi 1 Roteiro O que é um sistema distribuído; Questões sobre sistemas distribuídos; Computação cliente-servidor; Padrões de arquitetura
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
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
Programação Distribuída. Arquiteturas
Programação Distribuída Arquiteturas Programação Distribuída A arquitetura de um Sistema Distribuído diferencia entre a organização de componentes de software e a realização física. A organização de sistema
Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !
Sistemas Distribuídos Aspectos de Projeto de SD Prof. Msc. André Luiz Nasserala Pires [email protected] Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento
O que é? É uma aplicação que consiste em 2 ou mais processos que executam em diferentes processadores que não partilham memória.
Sumário: Introdução aos SD (Uma) Definição dum sistema distribuído (SD). Exemplos de SDs. Potenciais vantagens de SDs. Objectivos no desenvolvimento de SDs. Dificuldades/obstáculos no desenvolvimento de
Aplicações Web com Servlets e JSP
J550 Desenvolvimento de Aplicações Web com Servlets e JSP Helder da Rocha www.argonavis.com.br 1 Objetivos Este curso explora os recursos da linguagem Java para o desenvolvimento de aplicações Web Tem
contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.
Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens
Características de Sistemas Distribuídos
Características de Sistemas Distribuídos Carlos Ferraz [email protected] 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens
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.
Sistemas Distribuídos
Tecnologia em Sistemas para Internet Aula 03 Introdução à Objetivos Conhecer características básicas sobre escalabilidade de SDs; Apresentar alguns exemplos de sistemas distribuídos e características de
Estrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional -São partes do SO -São ferramentas de apoio ao usuário -São formas de acessar as rotinas do kernel O Sistema Operacional é formado
ALUNO: RONI FABIO BANASZEWSKI
Model-View-Controller ALUNO: RONI FABIO BANASZEWSKI Objetivo Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control) A idéia é permitir que uma mesma
Administração de Banco de Dados. José Antônio da Cunha CEFET-RN
Administração de Banco de Dados José Antônio da Cunha CEFET-RN Replicação é o processo de manter duas ou mais réplica (cópias) dos dados em diferentes instâncias dos SQL Server (podendo até mesmo ser de
01. Sobre Camaleo O QUE É CARACTERÍSTICAS
01. Sobre Camaleo O QUE É Criado pela FH, o Camaleo foi projetado para oferecer soluções tecnológicas responsivas aos clientes em curto prazo e principalmente, com baixo custo e segurança. Clique aqui
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 [email protected]
Sistemas de Objetos Distribuídos
Sistemas de Objetos Distribuídos Alex Carneiro Carlos Eduardo Elmadjian Karina Awoki Prof. Fabio Kon POO 2016.1 Agenda Conceitos Histórico CORBA Demos Comparação com SOA Conclusão 1 CONCEITOS Sistemas
AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação MULTIPROCESSADORES
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
Protocolo Request-Reply
n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de
Comunicação entre Processos
Comunicação entre Processos Prof. Dr. André Carvalho [email protected] Agenda n Comunicação entre Processos n Características dos mecanismos de comunicação Comunicação direta ou indireta, sincronismos,
Aula 1: Apresentação, Computação Corporativa
Aula 1: Apresentação, Computação Corporativa Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Apresentação, Computação Corporativa TEPIS
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
Estrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional é formado
Abordagem Teórico-Prática
Abordagem Teórico-Prática Prof. Giuliano Prado M. Giglio, M.Sc Desenvolvimento de Aplicações Distribuídas - WEB Agenda Padrão MVC Objetivo Características Problemas e se aplicar o MVC Sistema Exemplo Aplicação
Engenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
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
Programação orientada a objetos
J100 com Programação orientada a objetos TM SE Helder da Rocha ([email protected]) argonavis.com.br 1 Objetivos Este curso tem como objetivo iniciá-lo em Java... mas não apenas isto Visa também a ajudá-lo
