没有合适的资源?快使用搜索试试~ 我知道了~
首页camel in action 中文版 第一章
资源详情
资源评论
资源推荐
路由和斡旋引擎
有效负载路由
模块化、组件式体系结构
数据类型自动转换
轻量核心
测试装备
Part 1 First steps
1. Camel 介绍
2. Camel 路由
First steps
Apache camel 是 一个开源的一体化框架,其目的是使一体化系统更容易。本书的第一
章节我们将介绍 camel 及展示它适合大企事业单位的软件。你将会学习到关于 camel 的
概念及一些专业术语。
第二章将介绍 camel 其中一个最重要的一部分:消息路由。Camel 主要有两种方式
的路由规则:基于 java 领域的指定语言(DSL)和基于 spring 的 xml 文件的配置。这些
路由技术的添加,将向你展示怎么设计及实现路由,来解决企业系统间的集成问题。
Camel 介绍
本章要点
Camel 介绍
Camel 主要特点
你的第一个 camel 试驾
Camel 的体系结构及内容
打造一个复杂的一体化系统是一个非常昂贵的实验,并且这个实验室几乎不可能成功的。
一个有效的并且降低风险的方式是用经过验证的组件以拼图的方式组装一个一体化系统。
我们平时就依赖此一体的系统,我们就可以用电话交流发生的一起,例如财务交易、有益
于身心健康的旅行计划或者娱乐活动。
你还不能完成一个拼图游戏,直到我们有了这些可以自由组合、无缝连接的集合块。
有了这样的系统就可以更多的关系自己的业务,不需要在考虑系统之间的连接及系统内部
之间的工作。一个好的一体化的框架提供了简单的,易管理的系统。
Camel 就是这样的一个框架,在本书中,我们将帮助你理解 camel 是什么,如何去
使用它及为什么它是一个最好的一体化框架。
这一章就开始介绍 camel 框架及它核心最精彩的部分。我们接下来将要介绍 camel
的分布及解释在本书中可以运行起来的例子。我们将会全面的介绍 camel 的最核心最精彩
的部分,是你能够理解 camle 的体系架构。
1.1 介绍 camel
Camel 是一个整合框架,其目的是使你的所有的项目更高效有趣。Camel 项目最早
开始于 2007 年。但是它还很年轻,camel 已是一个成熟的开源项目了。在 apache
2 的许可证是有效的,它有一个强大的交流社区。
Camel 关注在简易集成。我们相信你到目前为止已经完成了前面的阅读。接下来
你将会领略到 camel 的魅力,添加它到你的工具清单中。
Camel 项目之所以被命名为简单的“Camel”是 因为这个名字简短易记。传言
camel 的 名 字 是 有 一 个 发 现 者 抽 的 是 骆 驼 牌 香 烟 。 在 camel website 输 入
(http://camel.apache.org/why-the-name-camel.html),camel 名字清单。
1.1.1 Camel 是什么
Camel 框架的核心是一个路由引擎,它允许你定义自己的路由规则,决定接受
哪些消息,做出决定如何处理,发送这些消息给其他目标。Camel 用这种集成
语言允许你定义复杂的路由规则。
Camel 的基本原则之一是不会假设任何你需要处理的数据,这是很重要的
一点,因为它给你们开发者一个集成任何系统的一个机会,不需要转换你的数
据为另外的一种公认格式。
Camel 提供了高水平的抽象,它允许你根据相同的 api 协议或者系统的数
据类型集成各种各样的系统。Camel 的组件提供了特殊实现的接口 api,其目
的是给不同的协议和数据类型服务。Camel 打破了传统模式,它支持 80 多种
不同的协议和数据类型,它的扩展性和模块性允许你实现你自己专有协议的无
缝插件。这些体系结构的选择淘汰没有必要的转换,从而使 camel 更加的高效,
易学。结果证明,camel 是适合嵌入到其他项目中的,因为它提供了充足的处
理能力。其他开源的项目,例如 Apache ServiceMix 和 ActiveMQ 已经使用
camel 作为企业集成的一种处理方式。
我们应该提问 camel 不是什么,camel 不是 ESB,有些人称 camel 是个
轻量级的 ESB,因为它支持路由、事务、监控、编制等。Camel 没有一个容器
或者一个可靠的消息总线,但是它可以依赖例如开源的 ESB 或者前面提到的
ServiceMix,由于以上原因,我们更喜欢把 camel 称作超越一个 ESB 的集成
框架。
理解 camel 是什么,这样能够更能好的看到它的主要功能点。让我们来看
一下它的主要功能点。
1.2.1 为什么使用 Camel
Camel 为整合领域介绍了一些新奇的观点,这就是为什么它的作者们决定在第一领域
创建 camel,代替正在使用已经存在的框架。我们将通过本书介绍富有 camel 所有
的功能点。这些功能点如下:
路由和斡旋引擎
企业集成模式
Domain-specl+c language(DSL)
可拓展组件库
有效负载路由
模块化、组件式体系结构
POJO 模型
容易配置
数据类型自动转换
轻量核心
测试装备
充满活力的社团
路由和斡旋引擎
路由和斡旋引擎是 camel 的核心功能。路由引擎基于路由配置有选择的对消息进行路由。
在 camel 的实例中,路由配置队列是以企业集成模式和 DSL。以上两种我们将在下面介
绍。
企业集成模式(EIPS)
尽管集成的问题多中国多样,Gregor Hohpe 和 Bobby Woolf 发现了很多问题。接着你
们很容易的把问题解决掉了。他们编写一本《Enterprise Integration Patterns》书,这
本书对那些专业集成的人来说是必读的书。接下来,它将帮助你理解又快又容易地理解
camel。
企业集成模式或者 EIPS 对我们是有帮助的,因为它不仅给我们提供了问题的解决方案,
并且也帮我们定义了我们所交流问题的本身。有了模式问题交流起来更容易。使用模式语
言比描述需要解决的问题容易的多,就好像学习汉语比学习甲骨文要容易的多。
Camel 基于 EIPs 是沉重的。尽管 EIPs 描述了集成问题的解决方案,同时也提供了通用
的词汇列表,但这些词汇列表没有形成书面语言。Camel 就避免了这个问题,它提供了一
种集成描述性语言。在 EIPs 和 camel 的 DSL 语言之间几乎有一种一对一的关系。
Domain-specic language(DSL camel 自己的描述性语言)
Camel 的 domain-speci+c language(DSL) 对集成领域来说是一个主要的贡献。有
一些类似于 DSL(允许你用 XML 去描述路由规则)特征的集成框架。并不像 camel,他
们 的 DSLs 是 基 于 特 定 语 言 。 Camel 提 供 了 多 种 DSLs 。 例 如 程 序 语 言
java、Scala,Groovy,它还允许以 XML 特定方式的路由规则。
DSL 的目的是让开发者关注集成问题而不是程序开发工具。尽管 Camel 大部分是用
java 开发的。但是它支持多种程序语言。每一种语言都有属于它治的健壮性,你可能想用
不同的语言完成的不同的任务。你有这样的自由建立自己的解决方案。
这有一些使用不同程序语言 DSL 例子。
Java DSL
From(“le:data/inbox”).to(“jms:queue:order”);
Pring DSL
<route>
<from uri=”le:data/inbox”/>
<to uri=”jms:queuq:order”/>
</route>
Scala DSL
from “le:data/inbox”->”jms:queue:order”
这些例子都是真实代码,展示了路由一个或者多个文件从一个文件夹到 JMS 队列是很容易
的。因为这是真正的底层程序语言,你可以用已经存在的工具支持,例如代码实现,代码
编译错误的检查。例如:
剩余12页未读,继续阅读
lixiaofanglixiaofang
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论20