HornetQ - 2.Arquitetura do HornetQ

9
Treinamento HornetQ

Transcript of HornetQ - 2.Arquitetura do HornetQ

Page 1: HornetQ - 2.Arquitetura do HornetQ

Treinamento HornetQ

Page 2: HornetQ - 2.Arquitetura do HornetQ

Agenda

• O que é o HornetQ?• Arquitetura baseada em POJOs• APIs de Comunicação• Persistent Journal• Tipos de Uso

Page 3: HornetQ - 2.Arquitetura do HornetQ

Arquitetura do HornetQ

• O que é o HornetQ?– Projeto open source mantido pela JBoss.– Características:

• 100% open source• Projetado com usabilidade em mente• Escrito em Java (roda com Java 6 ou superior)• Performático• Arquitetura baseada em POJOs• Suporta mecanismos de cluster e HA.

Page 4: HornetQ - 2.Arquitetura do HornetQ

Arquitetura do HornetQ

• O que é HornetQ?– O que significa arquitetura baseada em POJOs?

• Permite ser injetado dentro da aplicação• Pode ser instanciado por vários frameworks de DI, como por

exemplo: JBoss Microcontainer, Google Guice e Spring

Page 5: HornetQ - 2.Arquitetura do HornetQ

Arquitetura do HornetQ

• APIs de Comunicação– Os clientes se comunicam com o HotnetQ através de duas

APIs, são elas:• Core Client

– Conjunto de componentes fornecidos com o servidor, que permite a iteração das aplicações com o MOM através das várias funcionalidades disponíveis.

• JMS Client– Padrão JMS de comunicação.

Page 6: HornetQ - 2.Arquitetura do HornetQ

Arquitetura do HornetQ

• APIs de Comunicação

Apenas faz a tradução para a API nativa.

Page 7: HornetQ - 2.Arquitetura do HornetQ

Arquitetura do HornetQ

• Persistent Journal– A razão da alta performance no HornetQ está no seu

mecanismo de persistencia.– Não utiliza banco de dados.– Baseado no conceito Journals– Persistência baseada em código nativo para Linux

Page 8: HornetQ - 2.Arquitetura do HornetQ

Arquitetura do HornetQ

• Tipos de Uso– Standalone

• Independente de um servidor de aplicação JEE• Tem mecanismo de bootstrap próprios• Pode ser integrado com o servidor de aplicação JEE

– Embedded• Devido a sua natureza modular ele pode ser embutido dentro de

uma aplicação.• Aplicações podem instanciá-lo e utilizá-lo com frameworks de

Dependency Injection.

Page 9: HornetQ - 2.Arquitetura do HornetQ

Arquitetura do HornetQ

• Tipos de Uso– Iniciando o servidor embedded