博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
企业应用集成与开源ESB产品ServiceMix和Mule介绍
阅读量:6402 次
发布时间:2019-06-23

本文共 3237 字,大约阅读时间需要 10 分钟。

hot3.png

企业应用集成与开源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

转载于:https://my.oschina.net/pangzhuzhu/blog/327060

你可能感兴趣的文章
.NET源代码的内部排序实现
查看>>
解决Strict Standards: Only variables should be passed by reference
查看>>
解决JBoss只能通过localhost(127.0.0.1)而不能通过IP访问
查看>>
MS SQL处理双引号(DoubleQuote)函数
查看>>
[智能架构系列]什么是Buddy智能开发框架
查看>>
三十一、关于android camera setParameters出错
查看>>
【收藏】QCIF、 CIF、2CIF、DCIF、D1(4CIF)格式介绍
查看>>
hdu 3836 Equivalent Sets (tarjan缩点)
查看>>
一些iOS高效开源类库(转)
查看>>
JAVA编程心得-JAVA实现CRC-CCITT(XMODEM)算法
查看>>
C# DES加密
查看>>
浅谈Oracle分区表之范围分区
查看>>
IBM Tivoli NetView网管软件实战
查看>>
IPSec逻辑体系架构
查看>>
Exchange 2013部署系列之(六)配置邮件流和客户端访问
查看>>
List of Free Programming books
查看>>
思考Android架构(二):像Android框架,如何(How-to)吸引开发者来使用它呢?
查看>>
在html中,怎么获取当前页面body的高度,body是没有设置高度的,但是里面有内容...
查看>>
把 Array 转换成 Map
查看>>
MyBatis入门学习
查看>>