Posts

Showing posts from February, 2010

JBoss HornetQ component for Apache Camel (English Version)

In a previous post i wrote about the Apache Camel project. Camel is an excellent solution for system integration. Recently JBoss launched their new product, the new generation of messaging system: HornetQ which i have posted about it. In this post i came to show a very simple component for the integration of Apache Camel with JBoss HornetQ.

This is the very first version of the component and i will improve incrementally. This version is still beta, has some limitations but you'll be able to work with the Camel URI using my component to access the queues and topics of HornetQ.

Download and Usage

You can download the source code from my Subversion repository: http://diegopacheco.svn.beanstalkapp.com/sandbox/trunk/community/hornetq-camel-component once you have downloaded you must install the component using the Apache Maven. Just type in the command line (in the root folder of the project) the following command:
$ mvn clean install

Then you're ready to use the component in your p…

JBoss HornetQ component for Apache Camel

Em um post anterior eu falei sobre o projeto Apache Camel que é um excelente solução para integração de sistemas. Recetemente a JBoss lancou seu novo produto de ultima geração em messageria o HornetQ, em outro post passado escrevi sobre a solução também. Neste post vim mostrar um componente muito simples que fiz para realizar a integração do Apache Camel com o JBoss HornetQ.

Esta é a primeira versão do componente, pretendo ir melhorando o componente de forma incremental aos poucos na sequencia, esta versão ainda é beta, tem algumas limitações. Mas já é possivel você trabalhar com as uri usando o meu componente para acessar as filas e topicos do HornetQ.



Download e Uso do Componente

Você pode baixar os fontes do meu repositório do Subversion: http://diegopacheco.svn.beanstalkapp.com/sandbox/trunk/community/hornetq-camel-component uma vez que você tenha feito o download você tem que instalar o componente usando o Maven. Para fazer isso digite na pasta do projeto o seguinte comando:
$ mvn …

HornetQ: Simples, Performatico e Zumbido

Image
é a terceira geração de soluções em Mesageria da JBoss, sucessora do JBoss Messaging, vem agitando o mercado de mesageria nos ultimos meses. Toda esta agitação não se deve só pelo fato de ser um produto totalmente novo com uma base de código nova em relação ao JBoss messaging(padrão de mesageria no JBoss EAP e JBOSS AS 5.0), mas pelo fato de sua performance bater os resultados anteriores da Spec.
Com a performance superior ao resultado anterior superando 307%, realmente é um número bem impressionate e que reflete o trabalho focado em performance da sua equipe de desenvolvimento. Este trabalho focando em performance tem dois elementos fundamentais: Netty e Persistência.
Netty é um framework focado para construir aplicações que tiram o máximo de performance da rede usando eventos de forma assíncrona. Ele foi criado por Trustin Lee que é o fundador dos projetos Apache Mina e Apiviz. O Transporte é basicamente delegado ao Netty quando o cliente e o servidor estão em diferentes maquinas vir…

Camel e ActiveMQ na prática usando Annotations

Image
No posto anterior falei sobre a simplicidade e poder do Apache Camel. Neste post vou mostrar na prática como usar o camel para manipular diretórios, arquivos, filas JMS e código Java. Neste exemplo vou mostrar uma aplicação muito simples sobre cartão de crédito. Então vamos a aplicação :D

Imagine que você tem um restaurante e que a conta pode ser paga com cartão de credito, este cartão pode ser um VISA, Master, Hypercard ou Banricompras. Você recebe as informações de dos cartões de um sistema legado por exemplo feito em Clipper, ORACLE Forms, VB 6, Delphi ou qualquer outra tecnologia legada.

Você recebe este arquivos via arquivos texto em formato XML, você deve pegar cada XML e analisar o conteudo e de acordo com a bandeira do cartão vai mandar para uma fila especifica do ActiveMQ, desta forma você pode ter consumidores especificos para cada fila e fazer um processamento diferenciado para cada cartão de credito.



Esta aplicação na prática seria bem mais complexa do que estou proponto, …

Integração Simplificada com Apache Camel

Image
Integração de sistema sempre foi e sempre sera uma necessidade para qualquer departamento de TI.Esta integração é feita na maioria das vezes de forma manual e pontual, este tipo de abordagem trás diversos problemas como por exemplo a complexidade de construir a integração sem utilizar um framework que lhe de beneficios como padrões, design certo a seguir, reutilização de código, reuso.

É normal se você estiver pensando em um ESB, porem um ESB requer muito conhecimneto, pensamento em design e você vai ter que lidar com uma certa complexidade. Neste post vim falar do Apache Camel que é um framework de integração de sistemas como se fosse um *ESB-Leve* fortemente baseado em Spring.



O Camel é um solução open source da Apache muito simples e extremamente flexivel, parte da sua flexibilidade é dada através da sua excelente integração com o Spring Framework.

Este framework não apénas facilita a sua vida quando você trabalha com JMS ou WebServices por exemplo, facilita também quando você tem q…

SOA de verdade focando no retorno

Image
Você pode adotar SOA em sua empresa usando qualquer técnologia na teoria. Na prática você acaba adotando as melhores e mais atuais técnologias. Estas tecnologias muitas vezes não são solução melhores por que são mais novas, mais por que tem um modelo melhor, foram concebidas com o aprendizado dos erros de outras técnologias anteriores.

É muito comum que em uma adoção de SOA algum vendor ou consultor indique que você comece a sua adoção focando em um ESB. Por si só o ESB é uma execelente técnologia porém não basta comprar um ESB, isto não vai fazer a sua adoção de SOA estar finalizada e ter sucesso.



O Que faz uma adoção de SOA ter sucesso?



O primeiro de tudo é focar no negocio, SOA possibilita uma grande vantagem competitiva para as empresas que sabem como usar. Este saber usar significar focar em ROI, pensar primeiro em que objetivos de negocios devem ser atingidos.

Infelismente a grande maioria das adoções de SOA só se baseava em compra de software e grandes investimentos e pouco reto…

Construindo um Repositório Corporativo com Artifactory

Image
Ainda me lembro do inferno das DLLs quando trabalhava mais ativamente com produtos da Microsfot. Naquela epoca sofriamos com problemas de dependêcias. Quando comecei a trabalhar com Java sofri o mesmo problema de uma forma um pouco diferente mas na essência era a mesma coisa.

Em java o problema tem o nome de inferno dos jars. É incrével ainda ver empresas que em 2010 ainda passam por este tipo de problema em Java. Isto por que existem duas soluções que resolvem este tipo de problema. Estou falando do Apache Maven 2 e do Apache Ivy. As suas soluções da apache provem a funcionalidade de gestão de dependências.

É comum ver uma pasta chamada *lib* no classpath das aplicações java com mais de 100 jars, sendo que 70% ou mais não serve pra nada, nunca foi usada, nunca se quer foi tocado pelo classloader e dificilmente ira ser todado, mas por que as pessoas ainda fazem isso ? Por dois motivos:



Problemas de Depedências: Todo mundo ja deve ter visto o famoso ClassNotFoundException
várias vezes. …