Se você é familiar com os produtos da JBoss/Red Hat, já deve ter ouvido falar do JBoss Messaging (v 1.x). Como o nome diz é um middleware orientado a mensagens (ou MoM – Message-oriented Middleware), que era a solução de mensageria padrão do JBoss Enterprise Application Platform, JBoss SOA Platform e JBoss Application Server version 5.0.
O produto evoluiu e a versão 2.x ficou tão diferente do projeto original que eles decidiram dar um novo nome para o produto: HornetQ.
Principais características
- como o projeto original do qual é originado, o HornetQ é open-source (Apache v 2.0 licence)
- roda em qualquer plataforma Java 5.x ou superior
- suporta JMS 1.1 API, apesar de ter uma API de mensagens proprietárias (que a JBoss alega que tem uma performance superior)
- provê sistema de mensagens persistentes com performance de MoM que trabalha com mensagens não persistentes (em memória)
- pode ser integrado com o JBoss Application Server ou com com outro Java server/container
- pode ser “empacotado”(embed) em sua própria aplicação (!)
- opção de alta disponibilidade (server replication e client failover)
- permite a criação de clusters (load balance, distribuição geográfica dos seus MoMs etc)
- “core” do produto baseado em Plain Old Java Objects (POJO)
- etc..
Arquitetura (high-level view)
Documentação
MoM – Definição
Por fim, mas não menos importante, vamos a uma definição básica de um Message-oriented middleware (MOM).
Basicamente é uma solução de infraestrutura de software que recebe e envia mensagens. A arquitetura destas soluções tem um grande foco em questões relacionadadas a confiabilidade da entrega/envio das mensagens, interoperabilidade (“conversam” com vários protocolos) e portabilidade (ambientes altamente heterogêneos).
Na minha opinião, do ponto de vista de arquitetura de software, são soluções “elegantes” que reduzem a dependência e a complexidade das suas aplicações e/ou componentes. Como arquiteto(a), por exemplo, você não precisa se preocupar como uma mensagem vai sair do ambiente mainframe, ser persistida, transformada e roteada para, finalmente, ser entregue no formato de um SMS para seu cliente. Isto permite que você mantenha o foco no desenho, na arquitetura da solução, que é o mais importante.
Tudo indica que Mensageria será um dos elementos-chave em Cloud Computing. A JBoss sabe disto e lançou o HornetQ com este objetivo ambicioso: ser o provedor de mensagens preferido no ambiente de cloud computing.
Boa sorte!


