Camel is an integration framework that aims to make your integration projects productive
and fun. Although relatively young, about two years old at the time of this writing, Camel is
already a mature open source project, available under the liberal Apache 2 license, and it
has a strong community. Camel’s focus is on simplifying integration. We’re confident that by
the time you finish reading these pages, you’ll appreciate Camel and add it to your “must
have” list of tools.
At the core of the Camel framework is a routing engine, or more precisely a routing engine builder. It allows you to define your own routing rules, decide from which sources to accept messages, and determine how to process and send them to other destinations. Camel uses an integration language that allows you to define complex routing rules, akin to business processes.
One of the fundamental principles of Camel is that it makes no assumptions about the type of data you need to process. This is an important point, because it gives you, the developer, the opportunity to integrate any kind of system, without the need to convert your data to a canonical format.
Camel offers higher-level abstractions that allow you to interact with various systems using the same API regardless of the protocol or data type the systems are using. Camel components provide specific implementations of the API, targeting different protocols and data types. Out of the box, Camel comes with support for over 70 protocols and data types. Camel’s extensible and modular architecture allows you to implement and seamlessly plug in support for your own protocols, proprietary or not.
These architectural choices eliminate the need for unnecessary conversions and make Camel not only faster but also very lean. As a result, it’s suitable for embedding into other projects, for richer processing capabilities. Other open source projects such as Apache ServiceMix, and ActiveMQ already use Camel as the integration framework of choice.
At the core of the Camel framework is a routing engine, or more precisely a routing engine builder. It allows you to define your own routing rules, decide from which sources to accept messages, and determine how to process and send them to other destinations. Camel uses an integration language that allows you to define complex routing rules, akin to business processes.
One of the fundamental principles of Camel is that it makes no assumptions about the type of data you need to process. This is an important point, because it gives you, the developer, the opportunity to integrate any kind of system, without the need to convert your data to a canonical format.
Camel offers higher-level abstractions that allow you to interact with various systems using the same API regardless of the protocol or data type the systems are using. Camel components provide specific implementations of the API, targeting different protocols and data types. Out of the box, Camel comes with support for over 70 protocols and data types. Camel’s extensible and modular architecture allows you to implement and seamlessly plug in support for your own protocols, proprietary or not.
These architectural choices eliminate the need for unnecessary conversions and make Camel not only faster but also very lean. As a result, it’s suitable for embedding into other projects, for richer processing capabilities. Other open source projects such as Apache ServiceMix, and ActiveMQ already use Camel as the integration framework of choice.
No comments:
Post a Comment