Camel框架的核心是一个路由引擎,或者更准确地说是一个路由引擎生成器。它允许您定义自己的路由规则,从中决定
源来接受消息,并确定如何处理和发送这些消息到
其他目的地。Camel使用一种集成(DSL, xml)语言,允许您定义复杂的路由规则,类似于业务流程。
Camel的一个基本原则是它不关心需要处理的数据类型。这是很重要的一点,因为它给了你,开发人员,一个集成任何类型系统的机会,而不需要将数据转换为规范格式。
Camel提供了更高层次的抽象,允许您使用相同的API与各种系统交互,而不管系统使用的是什么协议或数据类型。
Camel中的组件提供了针对不同协议和数据类型的特定API实现。开箱即用,Camel支持超过80个用户
协议和数据类型。它的可扩展和模块化体系结构允许您对自己的协议(无论是否专有)实施和无缝插入支持。
这些体系结构选择消除了不必要的转换,并使Camel的性能足够好。因此,它适合嵌入到其他需要Camel丰富处理能力的项目。其他开源Apache ServicMix(TODO) 和ActiveMQ等项目已经使用Camel作为企业集成。
我们还应该提到Camel不是什么,Camel不是企业服务总线
(ESB),尽管有些人称Camel为轻量级ESB,因为它支持路由、转换、监视、编排等。骆驼没有可靠的消息总线,但它可以部署在一个容器中,例如Open ESB或前面提到的ServiceMix。因此,我们更愿意称Camel为一个集成框架而不是一个ESB系统。
要理解Camel是什么,可以看看它的主要特征。所以让我们看一看.