Search This Blog

Sunday, August 29, 2010

Introduction to Apache camel integration frame work

Apache Camel is an open source Java framework that focuses on making integration easier and more accessible to developers.

It implements many of the widely used EIPs (enterprise integration patters) and provides connectivity to a great variety of transports (http,ftp,mail etc.,) and APIs easy to use Domain Specific Language (DSL) to wire EIPs and transports together.

It doesn't require a container and can be run in any Java-based environment.

Camel can also be used for BAM (Business Activity Monitoring). Rather than using RouteBuilder, you can use ActivityBuilder to listen for activities and create event notifications.

High level camel architecture :



Components, Endpoints, Processors, and the Domain Specific Language (DSL) are the main core integral partos of camel.

Components are the extension point in Camel to add connectivity to other systems. The core of Camel is very small to keep dependencies low, promote embeddability, etc. and as a result contains only 12 essential components. There are over 60 components outside the core. To expose these systems to the rest of Camel, Components provide an Endpoint interface. By using URIs, you can send or receive messages on Endpoints in a uniform way. For instance, to receive messages from a JMS queue aQueue and send them to a file system directory "c:/tmp", you could use URIs like "jms:aQueue" and "file:c:\tmp".


Processors are used to manipulate and mediate messages in between Endpoints. All of the EIPs are defined as Processors or sets of Processors. As of, Camel supports more  40 patterns from the EIP book, 6 other integration patterns, and many other useful Processors.


To wire Processors and Endpoints together, Camel defines a Java DSL. The term DSL is used a bit loosely here as it usually implies the involvement of a compiler or interpreter that can process keywords specific to a particular domain. In Camel, DSL means a fluent Java API that contains methods named like terms from the EIP book

No comments:

Post a Comment