ESB学习笔记
 

2009-08-11 作者:adventurer 来源:adventurer的blog

 

开始入冬时知识储藏啦。前几年听一位高人讲过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产品有如下这些
     
    1. Mule :   http://www.mulesource.com 并没有完全按JBI规范产品。



       
    2. APACHE SERVICEMIX  [url]http://servicemix.apache.org [/url] JSR 208 IBM BEA投了弃权,故他们产品也没按JBI规范


       
    3. OPEN ESB https://open-esb.dev.java.net JBI implementation provided by  Open ESB Sun that provides great tool support with NetBeans
    4. APACHE SYNAPSE [url]http://ws.apache.org/synapse [/url]
    5. JBOSS ESB http://labs.jboss.com/jbossesb/ The JBoss implementation of an ESB based on JBoss JBoss ESB messaging
    6. SPRING INTEGRATION http://www.springframework.org/  Spring Integration spring-integration An integration framework that is provided by the well-known Spring Framework
    7. Apache Tuscany http://tuscany.apache.org/ Implementation of the (SCA) specification
    8. ChainBuilder ESB http://www.chainforge.net/ A JBI-based ESB that focuses on providing graphical tools to ease the development effort
    9. FUSE ESB [url]http://open.iona.com/products/ fuse-esb/[/url] IONA's open source ESB offering based on Apache ServiceMix
    10. OpenAdapter https://www.openadaptor.org/ EAI-based platform that provides a number of adaptors to implement integration solutions
    11. PEtALS http://petals.objectweb.org/ Another JBI-based ESB, hosted by OW2 (formerly ObjectWeb)
    12. 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>>

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织