MyException - 我的异常网
当前位置:我的异常网» 开源软件 » 企业应用集成与开源ESB产品ServiceMix跟Mule介绍

企业应用集成与开源ESB产品ServiceMix跟Mule介绍

www.MyException.Cn  网友分享于:2015-08-26  浏览:0次
企业应用集成与开源ESB产品ServiceMix和Mule介绍

转自:http://blog.csdn.net/bluishglc/article/details/6550474

企业应用集成与开源ESB产品ServiceMix和Mule介绍


议程


•企业对应用集成的内在需求
•企业IT设施面临的问题
•企业应用集成的架构方案
•ESB的角色与职责
•ServiceMix简介
–ServiceMix架构
–ServiceMix组件概览
–ServiceMix实战
–Demo
•Mule简介
–Mule的工作机理
–Mule组件概览
–Mule实战
–Demo


企业对应用集成的内在需求


•多数企业成立初期,其应用大多是用来代替一些孤立的、重复性质的工作环节,并没有考虑到企业业务与数据的集成。
•当企业发展到一定阶段时,开始意识到应用集成的价值和必要性。企业的各部门之间以及企业与合作伙伴之间需要相互协调,密切合作,企业内部原有的孤立应用是无法满足这一要求的。这促使企业开始寻求应用集成的解决方案。


企业IT设施面临的问题


•多套孤立的系统
    –削弱了部门间的协作
    –影响资源的整合
•不一致的数据格式


•无法有效地与合作伙伴的系统通信


企业应用集成的架构方案


•Point-to-Point solution
•Hub-and-Spoke solution
•Enterprise Message Bus Integration
•Enterprise Service Bus Integration


Point-to-Point 风格的架构图

 

 

ESB风格的架构图

ESB的角色与职责


•Providing connectivity(支持跨协议)
•Data transformation(包括数据格式的转换)
•(Intelligent) routing
•Dealing with security
•Dealing with reliability
•Service management
•Monitoring and logging


ServiceMix简介


ServiceMix是基于JBI (JSR 208) 规范构建的ESB产品,作为ASF的一员,它集成了包括ActiveMQ, Camel, CXF, ODE, Karaf在内的一系列ASF的优秀产品和工具。
ServiceMix的优势:完全遵循JBI规范;与ASF其他优秀产品和工具有很好的集成
ServiceMix的劣势:扩展组件不够丰富;文档更新不够及时和全面(个人感觉在产品成熟度上与mule有不小的差距)


ServiceMix架构

 



ServiceMix组件概览


ServiceMix的功能是以组件为单位提供,因此可以说组件的多少决定了ServiceMix功能的多少,以下是ServiceMix的组件列表:http://servicemix.apache.org/components-list.html

 

ServiceMix实战


•使用ServiceMix提供的Mavenarchetype工具快速创建ServiceMix工程
•ServiceMix工程的包结构:


•示例:
1.创建SA: mvnarchetype:create-DarchetypeArtifactId=servicemix-service-assembly -DarchetypeGroupId=org.apache.servicemix.tooling-DgroupId=net.sf-DartifactId=demo-sa
2.创建SU: mvnarchetype:create-DarchetypeGroupId=org.apache.servicemix.tooling-DarchetypeArtifactId=servicemix-http-provider-service-unit -DgroupId=net.sf-DartifactId=demo-su


Demo


本Demo用于展示ESB的一项基本功能:连通两个系统。源代码可从sourceforge上检出,SVN地址https://mydemolib.svn.sourceforge.net/svnroot/mydemolib


Demo的步骤为:

1.启动cxfdemo-server发布服务:mvnclean jetty:run
2.启动cxfdemo-client,直连cxfdemo-server发布的服务以确认server和client均可正确正常工作: mvncompile exec:java
3.build并deploy工程servicemixdemo-http-sa到ServiceMix
4.修改cxfdemo-client的连接配制,让其连接到ServiceMix,重新启动cxfdemo-client,依然可以通过ESB正常访问到所需要的服务。


Mule简介


Mule:目前开源社区最成熟的ESB产品,在连通性、数据传输、路由方面都非常强健。其成熟性表现在:有非常丰富的扩展组件,完备的文档,受到多数应用服务器的支持。需要特别指出的是:Mule提供了一系列Cloud Connectors,使得mule可以与AmasonEC2这样的云平台进行集成。


Mule的工作机理


 

Mule组件概览


和ServiceMix一样,Mule也是以组件的方式提供和扩展功能的,Mule 有两大类组件transport和module。transport是与具体传输协议相关的组件,module则是与协议无关,不会传送和接收数据的组件。
官方Transport组件:http://www.mulesoft.org/documentation/display/MULE3USER/Transports+Reference
官方Module组件:http://www.mulesoft.org/documentation/display/MULE3USER/Modules+Reference
社区提供的组件:
http://www.mulesoft.org/community-transports-modules


Mule实战


使用Mule提供的Mavenarchetype工具快速创建mule工程.
示例:
mvnmule-project-archetype:create-DartifactId=muledemo-DmuleVersion=3.1.2
注意:该archetype工具在未指定transport或module时,总是会引入默认的transport或module,可在生成后的mule-config.xml手动删除不需要的组件。


Demo

 

本Demo用于展示ESB的一项基本功能:连通两个系统。源代码可从sourceforge上检出,SVN地址https://mydemolib.svn.sourceforge.net/svnroot/mydemolib
Demo的步骤为:

1.启动cxfdemo-server发布服务:mvnclean jetty:run
2.启动cxfdemo-client,直连cxfdemo-server发布的服务以确认server和client均可正确正常工作: mvncompile exec:java
3.build并deploy工程muledemo-bridge到mule
4.修改cxfdemo-client的连接配制,让其连接到mule,重新启动cxfdemo-client,依然可以通过ESB正常访问到所需要的服务。

小结


•ESB是企业应用集成的核心部件,它的主要职责是连通各类使用不同协议通信的应用
•ServiceMix是JBI规范的实现
•Mule是目前最为成熟的开源ESB产品,背后有商业公司支持,功能强大,插件丰富
•综合评价:Mule优于ServiceMix

文章评论

科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
程序员的鄙视链
程序员的鄙视链
中美印日四国程序员比较
中美印日四国程序员比较
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员和编码员之间的区别
程序员和编码员之间的区别
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
10个调试和排错的小建议
10个调试和排错的小建议
旅行,写作,编程
旅行,写作,编程
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
鲜为人知的编程真相
鲜为人知的编程真相
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
 程序员的样子
程序员的样子
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
我的丈夫是个程序员
我的丈夫是个程序员
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员应该关注的一些事儿
程序员应该关注的一些事儿
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
漫画:程序员的工作
漫画:程序员的工作
如何成为一名黑客
如何成为一名黑客
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
老程序员的下场
老程序员的下场
编程语言是女人
编程语言是女人
我是如何打败拖延症的
我是如何打败拖延症的
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
为什么程序员都是夜猫子
为什么程序员都是夜猫子
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
每天工作4小时的程序员
每天工作4小时的程序员
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
总结2014中国互联网十大段子
总结2014中国互联网十大段子
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
一个程序员的时间管理
一个程序员的时间管理
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有