企业应用集成与开源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
分享到:
相关推荐
这些产品往往具有EAI(企业应用集成)领域的背景,意味着它们设计之初就是为了处理企业内部各种异构系统的集成需求。 从面向服务架构(SOA)的角度来看,ESB是SOA的重要组成部分,它允许现有的IT资产和应用程序作为...
书中详细介绍了两种主流的开源ESB产品:Mule和ServiceMix。Mule是基于Java的轻量级ESB产品,它支持多种传输协议和数据格式,并通过插件架构提供了高度的可定制性。Mule的设计目标是易于使用、配置灵活,并且能够快速...
收集了一些esb的资料,包括mule,servicemix等开源esb的使用等。
相比之下,开源ESB如Mule、ServiceMix/FUSE ESB 和 Synapse/WSO2 ESB 提供了更高的自由度和成本效益,但在技术支持和文档完整性方面可能稍逊一筹。企业在选择合适的ESB产品时应综合考虑自身需求和技术背景,做出最...
对商业、开源企业服务总线产品进行比较: ... 介绍了主流商业和开源ESB的发展趋势、可借鉴的地方和其缺点。 主要介绍: Oracle Service Bus WebSphere Message Broker Mule ServiceMix/FUSE ESB Synapse/WSO2 ESB
本文将深入解析多个开源ESB产品的特性与功能,帮助读者更好地理解ESB在企业级应用中的作用与价值。 #### Mule:强大的集成平台 Mule是一款开源的ESB产品,它基于企业集成模式(Enterprise Integration Patterns, ...
介绍了主流商业和开源ESB的发展趋势、可借鉴的地方和其缺点。 主要介绍: Oracle Service Bus WebSphere Message Broker Mule ServiceMix/FUSE ESB Synapse/WSO2 ESB
企业服务总线(Enterprise Service Bus,ESB)是企业级集成中的关键组件,它提供了一种灵活、松散耦合的方式来连接不同系统和应用程序,实现服务之间的通信。ESB通常基于消息传递架构,允许数据在各种服务之间流动,...
- **《Open Source ESBs in Action》一书**由Tijs Rademakers和Jos Dirksen合著,书中详细介绍了如何利用开源ESB(如Mule ESB和服务组合ServiceMix)来实现企业级集成解决方案。 - **实践案例**:书中通过多个章节...
介绍了主流商业和开源ESB的发展趋势、可借鉴的地方和其缺点。主要介绍开源的。 1.Mule/Mule Enterprise 2.ServiceMix/FUSE ESB 3.Oracle Service Bus 4.Jboss ESB 4.WebSphere Message Broker 5.Synapse/WSO2...
本文将深入探讨两种开源ESB——MULE和符合JBI规范的ServiceMix,帮助读者理解它们的核心概念、工作原理以及应用场景。 一、MULE ESB MULE,由MuleSoft公司开发,是全球广泛使用的开源ESB之一。MULE的核心理念是提供...
在了解ESB的功能性方面,书中首先介绍了开源ESB的世界,探讨了ESB在企业应用集成(EAI)领域中扮演的关键角色,并详细阐述了Mule和ServiceMix的架构,以及如何设置这些ESB产品的环境。在架构部分,作者可能解释了ESB...
### 开源ESB在行动:Mule与ServiceMix实例实现 #### 标题解析与核心概念 **“Open-Source ESBs in Action”** 这一标题清晰地表明了本书的主题是关于开源企业服务总线(Enterprise Service Bus, ESB)的实际应用...
企业服务总线(ESB)是一种软件架构模型,用于支持和服务于企业内部不同应用程序之间的通信与集成。ESB通过提供一系列标准的服务接口,使得各种异构系统可以方便地相互通信。 ### ESB评估指标 在对不同的ESB产品...
在"WSO2 Enterprise Service Bus (ESB) Performance Testing - Round 3"中,重点考察了WSO2 ESB与其他竞争对手——ServiceMix、Mule和OpenESB的性能对比。这些测试通常涉及吞吐量、响应时间和资源消耗等方面,以评估...
在**《开源ESB实战》**这本书中,作者们深入探讨了开源ESB的核心概念和技术细节,重点介绍了两种流行的开源ESB实现:Mule和ServiceMix。这些知识对于希望了解或实施ESB解决方案的专业人士来说非常重要。 #### 二、...