开始入冬时知识储藏啦。前几年听一位高人讲过ESB这个概念,但一直没有时间去仔细了解。而近段时间。找了一本ESB
in Action学习.准备好好学习ESB啦,以下主要是该书抽取内容。
- 什么是ESB? ESB,消息服务总线,它是一个较新但又较难理解的技术。
ESB从集成供应商角度来看,它是一个产品,这个产品提供一体化的功能,开发工具,和管理环境。
另一个角度看,ESB是作为服务为导向架构( SOA )重要组成部分。从SOA的角度看,一个ESB可以作为一体化平台,使现有的IT资产和应用暴露成为服务。
在这里,我们将关注开源的ESB的产品,目前可用的产品有:Mule和Apache ServiceMix
。
如果你问架构师,当今市场那个时髦词最热,企业服务总线( ESB )将是最多的答案。同时,像面向服务的架构(
SOA )和商业流程管理( BPM )也将提到。这些流行语声音非常
有趣的,但那个才是最有商业价值呢?
现在ESB产品有很多,特别是企业应用上,我们来看一下有哪些,IBM ,TIBCO ,微软和甲骨文。这些好像都是大牌,但所有ESB都有相同的特点。而这里我们只提供两个开源产品(Mule
和 ServiceMix)
- ESB特点但用于区分相关EAI和ESB产品,一个是星形结构的,而另一个是总线结构的ESB产品。星型结构模型是一种集中式的架构,所有的数据交流都由中心点来处理。该星型结构模型可以被看作
继承的点对点模式 。而总线模型,采用分布式体系结构,其中的ESB 功能,可以由几个其他物理产品来实现其功能。
第二个用于区别的EAI和ESB产品是使用开放标准是什么。EAI的产品,如WebSphere的消息代理,TIBCO的BusinessWorks
,和Sonic XQ使用一个专利技术来实现信息功能及传送逻辑。而ESB产品是基于开放标准,如Java消息服务(
JMS的) , XML和J2EE连接器架构( JCA的) ,和Web服务标准。
- ESB 优点 ESB主要是解决"整合"问题。例如下图是较早系统架构。
ESB处理后
- 何时要考虑ESB:理由:Necessity to integrate applications
描述:There must be a clear business need to integrate
applications. Time-to-market and real-time reports
are examples of business drivers.
理由:Heterogonous environment
描述:When you have to deal with lots of different technologies
and protocols, there is a clear need for a central
solution
that's made to deal with these challenges.
理由:Reduction of total cost of ownership
描述:IT departments are forced to cut maintenance costs
to be
able to satisfy demands for new products by the business
departments. A central integration solution can help
decrease the management and maintenance costs of the
full application landscape.
- 架构设计ESB帮助 J2EE体系
这里需要增加一个呼叫中心会如何办?我看到很多系统会这样处理。好像还取名叫嵌入式系统。
在一个多系统服务公司。系统一开始可能是这样来架构的。
ESB总线在中间加了这一层后,对异构系统的增加,提供很大的支撑。
说了这多ESB如此好。那到底ESB有那些功能呢?ESB有七大功能。
- Location transparency
- Transport protocol conversion
- Message transformation
- Message routing
- Message enhancement
- Security
- Monitoring and management
- 相关开源ESB产品有如下这些
- Mule :
http://www.mulesource.com 并没有完全按JBI规范产品。
- APACHE SERVICEMIX [url]http://servicemix.apache.org
[/url] JSR 208 IBM BEA投了弃权,故他们产品也没按JBI规范
- OPEN ESB
https://open-esb.dev.java.net JBI implementation
provided by Open ESB Sun that provides great
tool support with NetBeans
- APACHE SYNAPSE [url]http://ws.apache.org/synapse
[/url]
- JBOSS ESB
http://labs.jboss.com/jbossesb/ The JBoss
implementation of an ESB based on JBoss JBoss
ESB messaging
- SPRING INTEGRATION
http://www.springframework.org/ Spring
Integration spring-integration An integration
framework that is provided by the well-known Spring
Framework
- Apache Tuscany
http://tuscany.apache.org/ Implementation
of the (SCA) specification
- ChainBuilder ESB
http://www.chainforge.net/ A JBI-based ESB
that focuses on providing graphical tools to ease
the development effort
- FUSE ESB [url]http://open.iona.com/products/
fuse-esb/[/url] IONA's open source ESB offering
based on Apache ServiceMix
- OpenAdapter
https://www.openadaptor.org/ EAI-based platform
that provides a number of adaptors to implement
integration solutions
- PEtALS
http://petals.objectweb.org/ Another JBI-based
ESB, hosted by OW2 (formerly ObjectWeb)
- WSO2 ESB
http://wso2.com/products/esb/ WSO2's open
source ESB offering based on Apache Synapse
推荐书籍: <<Enterprise Integration Patterns>>
<<ESB in Action>> <<Enterprise
Service Bus>> |