Apache Camel
In an
enterprise, a number of systems of different types exist. Some of these may be
legacy systems while some may be new. These systems often interact with each
other,and need to be integrated. This interaction or integration is not easy as
the implementations of the systems, their message formats may differ. One way
to achieve this is to implement code which bridges these differences. However
this will be point to point integration. If tomorrow again if there is change
in a system the other might also have to be changed which is not good. Instead
of this point to point integration which causes tight coupling we can implement
an additional layer tomediate the differences between the systems.
This results in loose coupling and not affect much our existing systems. Apache
Camel is a rule-based routing and mediation engine that provides a
Java object-based implementation of the Enterprise Integration Patterns using
an API (or declarative Java Domain Specific Language) to configure routing and
mediation rules.
Features of Apache Camel
Features of Apache Camel
- Apache camel is a light weight
framework. It can be deployed on a variety of containers like Tomcat, esbs
etc.
- Apache camel provides us with a
number of components. These components make interacting create endpoints with
which a system can interact with other external systems. For example using
an ActiveMQ component we expose an ActiveMQ endpoint for interaction with
external system. There are more than 100 components provided by Apache
Camel. Some of them are FTP,JMX, Webservices, HTTP. Apache camel also
allows users to create custom components.
- Apache camel uses Message
Exchange Patterns(MEP). Apache camel exchange can hold any kind of
message. It supports a variety of formats like xml, JSON etc.
- Camel provides many different
type converters for marshaling and unmarshalling the message during
routing. Routes in a variety of domain-specific languages (DSL).The most
popular ones are
1. Java DSL - A Java based DSL using the fluent builder style.
2. Spring XML - A XML based DSL in Spring XML files
When using Spring XML we can make use of Spring support for
features like Transaction Management, JPA etc.
Apache
Camel Using Java DSL
The Camel DSL is a
language that allows to configure the behavior of the Camel Routing Engine. The
two main types of DSL are
- Java DSL
- Spring XML Config
Both variants share
the same functions though the syntax is somewhat different. Apache Camel offers
a Java based DSL using the fluent builder style. The Java DSL is available by
extending the RouteBuilder class, and implement the configure method.
http://www.javainuse.com/home
- best link for camel examples
No comments:
Post a Comment