0
JMS Uma visão geral Diego Gomes Magalhães @ dgomesbr
Agenda <ul><li>Introdução </li></ul><ul><li>Arquitetura </li></ul><ul><li>Mensagens </li></ul><ul><li>Garantindo a Entrega...
Introdução <ul><li>API (JSR-000914) </li></ul><ul><li>Análogo ao JDBC </li></ul><ul><li>Processamento Assíncrono </li></ul...
Arquitetura <ul><li>Exemplos de Arquiteturas </li></ul><ul><ul><li>Centralizadas </li></ul></ul><ul><ul><li>Descentralizad...
Arquitetura Centralizadas Figura 1 – Arquitetura Centralizada
Arquitetura Descentralizadas Figura 2 – Arquitetura Descentralizada
Arquitetura Modelos Figura 3 – JMS messaging domains
Arquitetura Modelos > Point- to -point <ul><li>Mensagens trocadas através de filas </li></ul><ul><li>Uma mensagem – Um con...
Arquitetura Modelos > Publish-and-subscribe <ul><li>Mensagens trocadas através de tópicos </li></ul><ul><li>Uma mensagem –...
Arquitetura Modelos > Comparativo
Mensagens <ul><li>Anatomia de uma mensagem </li></ul><ul><ul><li>Cabeçalhos </li></ul></ul><ul><ul><li>Propriedades </li><...
Guarantindo a Entrega <ul><li>Autonomia das mensagens </li></ul><ul><li>Store-and-Forward </li></ul><ul><li>Confirmação de...
Ambiente EE <ul><li>Recursos JMS em um ambiente EE </li></ul><ul><li>MDB </li></ul><ul><ul><li>Escalabilidade </li></ul></...
Tópicos para Estudo <ul><li>Segurança </li></ul><ul><li>Bridging entre serviços de mensageria </li></ul><ul><li>Patterns e...
Perguntas?
Links Úteis <ul><li>JSR-000914 Java TM  Message Service (JMS) API  http:// jcp.org/aboutJava/communityprocess/final/jsr914...
<ul><li>FIM </li></ul>
Upcoming SlideShare
Loading in...5
×

Java Messaging Service

1,317

Published on

Apresentação sobre JMS

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,317
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Apresentação do palestrante – Diego Gomes Papel do JMS em Java (Breve, com alguns tópicos da Apresentação) Explicação do publico alvo, nivelamento dos técnicos em relação ao tópico
  • Agenda Introdução – Falar sobre a API, a JSR referente, vantagens sobre o uso de JMS, arquitetura, exemplos e modelos de uso Mensagens – Anatomia de uma mensagens, headers , tipo de headers (default, custom , vendor ) e tipos de mensagens; Explicar também os modelos de uso de Point- to -Point e Publish-and-Subscribe Lidando com Problemas – Ciclo de vida das mensagens, Garantia de Entrega, Transações, mensagens perdidas ( redelivery e dlq ) Ambiente EE – MDB, Casos de Uso, JMS e Spring Tópicos para Estudo – Segurança, Bridging , Patterns e Anti-Patterns
  • ...Falar sobre a API, a JSR referente, vantagens sobre o uso de JMS, arquitetura, exemplos e modelos de uso Falar sobre a sofisticação e complexidade aumentada nos sistemas ao longo do tempo Processamento Assíncrono Integração Heterogênea Escalabilidade (redução de gargalos, etc )
  • Um conceito-chave de mensagens corporativas é que as mensagens são entregues de forma assíncrona de um sistema para outro em uma rede. Para enviar uma mensagem de forma assíncrona significa o remetente não é obrigado a aguardar a mensagem a ser recebido ou manipulados pelo destinatário, que é livre para enviar a mensagem e continuar processando. mensagens assíncronas são tratadas como unidades autônomas, cada mensagem é autossuficiente e carrega todos os dos dados necessários e estadual pela lógica do negócio que processa. É importante explicar o que queremos dizer com o termo cliente. sistemas de mensagens são composto por clientes de mensagens e algum tipo de servidor de mensagens middleware.  Clientes enviam mensagens para o servidor de mensagens, que depois distribui essas mensagens para outros clientes. O cliente é um aplicativo de negócios ou componente que está usando a API de mensagens (no nosso caso, JMS).
  • Enterprise messaging systems that use a centralized architecture rely on a message server. A message server, also called a message router or broker, is responsible for delivering messages from one messaging client to other messaging clients. The message server decouples a sending client from other receiving clients. Clients see only the messaging server, not other clients, which allows clients to be added and removed without affecting the system as a whole. Typically, a centralized architecture uses a hub-and-spoke topology. In a simple case, there is a centralized message server and all clients connect to it. As shown in Figure 1, the hub-and-spoke architecture lends itself to a minimal amount of network connections while still allowing any part of the system to communicate with any other part of the system.
  • All decentralized architectures currently use IP multicast at the network level. A messaging system based on multicasting has no centralized server. Some of the server functionality (persistence, transactions, security) is embedded as a local part of the client, while message routing is delegated to the network layer by using the IP multicast protocol .
  • TopicSession session = connect.createTopicSession ( true , Session.AUTO_ACKNOWLEDGE ); // Create a transacted QueueSession QueueSession = connect.createQueueSession ( true , Session.AUTO_ACKNOWLEDGE );
  • Transcript of "Java Messaging Service"

    1. 1. JMS Uma visão geral Diego Gomes Magalhães @ dgomesbr
    2. 2. Agenda <ul><li>Introdução </li></ul><ul><li>Arquitetura </li></ul><ul><li>Mensagens </li></ul><ul><li>Garantindo a Entrega </li></ul><ul><li>Ambiente EE </li></ul><ul><li>Tópicos para Estudo </li></ul><ul><li>Perguntas? </li></ul><ul><li>Links Úteis </li></ul>
    3. 3. Introdução <ul><li>API (JSR-000914) </li></ul><ul><li>Análogo ao JDBC </li></ul><ul><li>Processamento Assíncrono </li></ul><ul><li>Integração Heterogênea </li></ul><ul><li>Escalabilidade </li></ul><ul><li>Aumento de produtividade do usuário final </li></ul>
    4. 4. Arquitetura <ul><li>Exemplos de Arquiteturas </li></ul><ul><ul><li>Centralizadas </li></ul></ul><ul><ul><li>Descentralizadas </li></ul></ul><ul><ul><li>Modelos </li></ul></ul><ul><ul><ul><li>Point- to -Point </li></ul></ul></ul><ul><ul><ul><li>Publish-and-Subscribe </li></ul></ul></ul><ul><ul><li>SOA, EDA ... </li></ul></ul>
    5. 5. Arquitetura Centralizadas Figura 1 – Arquitetura Centralizada
    6. 6. Arquitetura Descentralizadas Figura 2 – Arquitetura Descentralizada
    7. 7. Arquitetura Modelos Figura 3 – JMS messaging domains
    8. 8. Arquitetura Modelos > Point- to -point <ul><li>Mensagens trocadas através de filas </li></ul><ul><li>Uma mensagem – Um consumidor </li></ul><ul><li>Ordenadas </li></ul><ul><li>Produtores e consumidores são desacoplados </li></ul><ul><li>Quando usar? </li></ul>
    9. 9. Arquitetura Modelos > Publish-and-subscribe <ul><li>Mensagens trocadas através de tópicos </li></ul><ul><li>Uma mensagem – vários consumidores ( subscribers ) </li></ul><ul><li>Publicadores geralmente não sabe quem recebe as mensagens </li></ul><ul><li>Publicadores e Clientes podem ser criados e conectados ao longo do tempo, aumentado a complexidade do sistema </li></ul><ul><li>Cada cliente recebe sua própria cópia de mensagem gerada por um publicador </li></ul><ul><li>Quando usar? </li></ul>
    10. 10. Arquitetura Modelos > Comparativo
    11. 11. Mensagens <ul><li>Anatomia de uma mensagem </li></ul><ul><ul><li>Cabeçalhos </li></ul></ul><ul><ul><li>Propriedades </li></ul></ul><ul><ul><li>“ Payload ” </li></ul></ul><ul><li>Tipos de Mensagem </li></ul><ul><ul><li>TextMessage </li></ul></ul><ul><ul><li>ObjectMessage </li></ul></ul><ul><ul><li>BytesMessage </li></ul></ul><ul><ul><li>Outros... </li></ul></ul>
    12. 12. Guarantindo a Entrega <ul><li>Autonomia das mensagens </li></ul><ul><li>Store-and-Forward </li></ul><ul><li>Confirmação de recebimento </li></ul><ul><li>Redelivery </li></ul><ul><li>DLQ / DMQ </li></ul><ul><li>Transações </li></ul><ul><ul><li>XA ( Two-phase Commit x JMS) </li></ul></ul>
    13. 13. Ambiente EE <ul><li>Recursos JMS em um ambiente EE </li></ul><ul><li>MDB </li></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><ul><li>Processamento Concorrente </li></ul></ul><ul><li>Spring MDP </li></ul>
    14. 14. Tópicos para Estudo <ul><li>Segurança </li></ul><ul><li>Bridging entre serviços de mensageria </li></ul><ul><li>Patterns e anti-patterns </li></ul>
    15. 15. Perguntas?
    16. 16. Links Úteis <ul><li>JSR-000914 Java TM  Message Service (JMS) API  http:// jcp.org/aboutJava/communityprocess/final/jsr914/index.html </li></ul><ul><li>Java Message Service 2nd Edition Mark Richards, Richard Monson- Haefel , David A Chappell – O’Reilly - 2009 http:// www.amazon.com/Java-Message-Service-Mark-Richards/dp/0596522045/ref=sr_1_1?ie=UTF8&qid=1286507110&sr=8-1 </li></ul><ul><li>Enterprise JMS Programming Shaun Terry – Willey - 2002 http://www.amazon.com/Enterprise-JMS-Programming-Professional-Mindware/dp/0764548972/ref=sr_1_4?s=books&ie=UTF8&qid=1286507223&sr=1-4 </li></ul><ul><li>Java Messaging ( Programming Series ) Eric Bruno, David A Chappell – Charles River Media - 2005 http://www.amazon.com/Java-Messaging-Programming-Eric-Bruno/dp/1584504188/ref=sr_1_2?s=books&ie=UTF8&qid=1286507223&sr=1-2 </li></ul>
    17. 17. <ul><li>FIM </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×