Foi lançado recentemente a mais nova versão do JBoss ESB, a versão 4.9. Esta versão é um release muito importante para os usuários e clientes da plataforma de ESB da JBoss pois ela insere vários conceitos estratégicos que visam melhorar a usabilidade e poder da plataforma. Até o final deste ano, vários outros releases devem ser lançados também regados de novas features e características, algumas delas que já podem ser verificadas nos fóruns de discussão da tecnologia. Isso mostra como a Red Hat e a comunidade em geral está investindo nessa plataforma de barramento de serviços que ganha cada vez mais espaço em empresas do Brasil inteiro, muitas destas que hoje já até possuem contratos de suporte profissional com a Red Hat, devido a criticidade de suas soluções. Neste post, iremos verificar de forma prática algumas destas novidades da versão 4.9.Provedor baseado em Apache Camel
Sem dúvida, esta é a principal novidade da nova versão. Agora temos no JBoss ESB um provedor se baseia no projeto Apache Camel, o qual nos trás diversos adaptadores para os mais diferentes canais de transporte. Eis uma lista parcial do que pode ser feito com este novo provedor:
- Receber mensagens do Apache ActiveMQ
- Receber mensagens de qualquer broker AMQP (Ex: Red Hat MRG, RabbitMQ)
- Receber mensagens via Atom Feed
- Exposição de POJO's e JavaBeans em mecanismos de registros
- Receber mensagens de mecanismos de Cache como o EHCache
- Expor serviços via CXF Web Services
- Expor serviços REST usando CXF Web Services
- Expor componentes EJB (mesmo EJB 3.0) via o ESB
- Receber mensagens via ApplicationEvents do Spring
- Receber mensagens via File, FTP, Email, etc
- Receber e enviar mensagens ao Gmail
- Ler e escrever em sistemas de arquivos HDFS
- Mensagens baseadas em HL7 usando o protocolo MLLP
- Realizar CRUD's usando iBatis
- Receber e enviar mensagens via IRC's
- Recever e enviar mensagens via JavaSpaces
- Integração com ServiceMix via JBI
- Efetuar operações usando JDBC
- Efetuar operações usando JPA e Hibernate
- Executar pesquisas em sistemas LDAP
- Enviar mensagens ao Nagios
- Expor serviços via RMI
- Enviar e receber mensagens usando SMPP (SMS)
- Ler e escrever Unix Pipes usando Streams
- Integração com XMPP e Grabber
Repare a simplicidade de utilizar os recursos do Camel: Basta utilizar os atributos de "uri" e "to" comuns no framework Camel que tudo é perfeitamente integrado ao ESB, desde a inserção dos atributos nas propriedades da mensagem quanto a criação da mensagem "ESB Aware" para o pipeline.
Implementação de actions customizadas usando Anotações
Outra novidade interessante é a criação de actions personalizadas. Agora, você pode usar 100% POJO's para definir suas actions, e não mais ter que estender classes abstratas, implementar interfaces ou definir construtores para receber um ConfigTree. Tudo agora pode ser feito usando anotações. Vamos a um exemplo. Vamos alterar o exemplo anterior para criar nosso próprio adaptador de impressão da mensagem. Implementa a seguinte classe Java:
Repare que a única coisa a ser feita agora, é anotar um método como @Process, para indicar qual método será usado para processar a mensagem. A configuração desta ação também é muito simples, permanece como se fazia nas versões anteriores:
Outra questão interessante é a utilização de parâmetros. Agora, para consumir um parâmetro definido no arquivo jboss-esb.xml, basta usar a anotação @ConfigProperty como no exemplo abaixo:
A definição destes parâmetros usando o arquivo de configuração permanece o mesmo: Apenas crie uma tag do tipo "property" dentro da definição de sua ação no arquivo jboss-esb.xml e boa, será injetado automaticamente nos atributos internos da sua classe de ação. Outra novidade interessante são os métodos de lifecycle da action. Agora você pode definir comportamentos no momento do deploy da ação e no momento do UnDeploy da ação usando as anotações @Initialize e @Destroy, ideais para quando você aloca recursos em memória ou em buffer e deseja descárrega-los no momento apropriado.
Boas Integrações ;-)
0 comentários:
Postar um comentário