• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
TDC 2011 - HornetQ e SwitchYard
 

TDC 2011 - HornetQ e SwitchYard

on

  • 1,214 views

 

Statistics

Views

Total Views
1,214
Views on SlideShare
1,206
Embed Views
8

Actions

Likes
0
Downloads
18
Comments
0

2 Embeds 8

https://twitter.com 4
http://us-w1.rockmelt.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    TDC 2011 - HornetQ e SwitchYard TDC 2011 - HornetQ e SwitchYard Presentation Transcript

    • Mensageria com HornetQ eo futuro do projeto SwitchYardSamuel TauilMiddleware Instructor, Red Hat
    • WHO AM I?
    • E finalmente o que é JMS e mensageria?API Java que encapsula destinos de mensagense padrões de publicação e leitura de mensagens.Parte da especificação Java EE.
    • Mas e o JBoss Messaging? > HornetQ é o JBoss Messaging 2. > JBM têm 95%+ de diferença no codebase. > EOL, novas funcionalidades no HornetQ. > Persistência em BD. > Suportado no JBoss EAP.
    • Why so horny? > open source > multiprotocolo > embarcável > foco em performance > clusterizável > assíncrono
    • Usabilidade> Core API simples> Configuração rápida e fácil> Documentação completa (português em breve)> Grande quantidade de exemplos> Dependências reduzidas
    • Standalone!> Não precisa de um Application Server.> Integração JBoss AS 4.x e 5.x via JCA Adapter. ● @ResourceAdapter("hornetq-ra.rar")> JMS Provider padrão no JBoss AS 6.> Zero dependências do JBoss AS.> POJO design.
    • Standalone!Configuration configuration = new ConfigurationImpl();configuration.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName()));HornetQServer server = HornetQServers.newHornetQServer(configuration);server.start();
    • Arquitetura JMS HornetQ Facade Core API Server POJOs
    • Arquitetura Storage Journal Large Messages Paging JMS HornetQFacade Core API Server Remote Netty Native Stomp Stomp Clients Rest Clients JMS Server Manager Management
    • Arquitetura ● arquivos pre-filled ● libaio ou Java NIO Context Journal HornetQ Server Timed Buffer Async nio libaio JNI Uso de JNI mínimo
    • Arquitetura > POJOs > Embarcável > Injetável por qualquer container de DI ● JBoss Microcontainer ● Spring ● Google Guice
    • Protocolos > Implementação JMS 1.1 spec > RESTful API > STOMP > Transporte HTTP > Transporte inVM > XMPP (pipeline)
    • Funcionalidades > Gerenciamento via JMX > ACKs assíncronos > Agendamento de mensagens > Paginação de mensagens > Suporte a mensagens grandes > Last Value queue > E muito mais em: ● http://community.jboss.org/wiki/HornetQFeatures
    • Componentes > JNDIServer > MBeanServer > Configuration > HornetQSecurityManager > HornetQServer
    • Configurando um Divert > Apenas para queues local x local > Servidor externo: Divert + Bridge Exemplo: <divert name="pedidos-divert"> <address>jms.queue.pedidos</address> <forwarding-address>jms.topic.estatisticas</forwarding-address> <exclusive>false</exclusive> </divert>●
    • A hora da(o) demo
    • JSR-343, o que vem por aí? > Integração com CDI (JSR-299). > Obrigatoriedade da implementação de RA. > Anotações padronizadas. > Full suporte Java EE 7. > Suporte assíncrono. ● Envio de response depois de um método de callback ser chamado.
    • Performance 300000 250000 200000 ActiveMQ SwiftMQ 150000 HornetQ OpenMQ 100000 50000 0 Mensag/Seg Relatório completo em: http://www.jboss.org/hornetq
    • Performance http://www.spec.org/jms2007/results/jms2007.html
    • SwitchYard● Novo projeto para a construção da nova geração de ESB.● Foco em consistência e usabilidade.● Runtime embarcável● POJO based● Integração com CDI
    • Exemplo de Serviço @Service(PedidoService.class) public class PedidoServiceBean implements PedidoService { @Inject @Reference private ItemService itemService; public PedidoAck enviarPedido(Pedido pedido) { Item item = itemService.buscarItem(pedido.getItemId()); // ...... cria ack } }
    • Development Tools● Seam Forge● Maven (Hell! XML também)● JBDS● Camel Routes
    • Obrigado! > Samuel Tauil samuel@redhat.com http://about.me/samueltauil > Clebert Suconic irc://freenode.net:6667#hornetq http://jboss.org/hornetq http://twitter.com/hornetq http://hornetq.blogspot.com