Aprendendo Camel: Intodução

Olá, hoje vou falar um pouco de sobre o Framework de Integração da Apache, o apache camel.

Em um sistema complexo e grande, podemos ter diversas formas de comunicação possível, bem como REST, SOAP, JMS, RMI entre outros. E, manter todas essas formas de comunicação pode ser algo custoso, e complexo. O Apache Camel veio para simplificar nossa vida, e como ajuda amiguinhos, vocês hão de ver.

Um framework de integração como dito anteriormente, vem para diminuir a complexidade e o impacto de uma integração. Ele implementa a maioria dos padrões de integração existente.

Os padrões de integração definem uma série de boas práticas que devem ser seguidas na hora de se integrar um sistema. Uma boa leitura sobre os padrões de integração e o apache camel pode ser visto no blog da Caelum.

O Camel pode ser considerado um roteador, (routing engine) e a tarefa do desenvolvedor é configurar essas rotas, aplicando alguns padrões de integração. O Apache Camel é bem simples de ser configurado, e com uma linguagem DSL (Domain Specif Language) muito simples, possui uma quantidade enorme de componentes de comunicação, como Rest, JMS, Twitter, entre outros.

A seguir vamos fazer uma aplicação bem simples usando o camel e CDI, mas poderíamos, por exemplo fazer uma aplicação com Spring ou até um rodar um main. O Camel nos trás várias formas de trabalhar com ele.

Bom vamos por a mão na massa, todo código pode ser clonado no repositório do aprendendo java.