Dashboard > 江南白衣博物馆 > ... > SOA > ESB
  江南白衣博物馆 Log In | Sign Up   View a printable version of the current page.  
  ESB
Added by Calvin, last edited by Calvin on 2009-04-05  (view change)
Labels: 
(None)

ESB是什么

    ESB最终以两种截然不同的形态存在于实际项目中:
    一种是纯粹的SOA交互基础中间件,是系统间松耦合地互操作的基础设施。
    一种是ESB风格的应用,如电信的能力网关那样联合多个系统提供组合服务。此时它既有一个ESB中间件作为其基础设施,同时也遵循着ESB的编程模型。

    两者间的界限并不明显,在渐变中ESB对周边服务的业务逻辑会越来越了解,直接体现在ESB中的业务逻辑也越来越多。

解耦中介

      由ESB充当解耦的中介,使得服务消费者对实际服务提供者的身份、物理位置、传输协议和接口定义都是不知道也不关心的,

  • 协议转换(WebService,Http,JMS...)
  • 数据转换(传输协议特定格式与ESB统一消息模型的转换,各服务间数据模型的映射转换)
  • 消息路由(静态端点配置,基于内容的过滤与路由)
  • MEP转换(同步/异步)
  • 组合服务(ESB服务编排、可选的BPEL流程引擎)

      ESB既支持通过统一的配置机制完成以上功能,也支持开发者在其上编写富含业务逻辑的数据转换、消息路由甚至业务处理模块。

服务中介

       由ESB为服务的交互过程统一、批量、低廉的提供一系列的基础服务 。

  • 服务治理 (服务注册中心)
  • QOS (负载均衡,可靠性传输,异常处理,流量控制)
  • 统一安全管理 (ESB的基本安全控制,含业务逻辑的安全控制)
  • 服务日志与监控(服务调用及消息数据的日志清单,系统及服务的性能与状态监控)
  • BAM业务活动监测(如发现某个服务的调用比昨天增加超过了一定的百分比,CEP复杂事件处理)

ESB实现

开源ESB实现

      纷纷扰扰后,只剩下有实力的四国:

  • Fuse ESB, 基于ServiceMix与Camel,由IONA公司(被Progress收购)提供支持,ServiceMix 4.0 重点已从JBI移到OSGI,而且IONA同时也是ActiveMQ与CXF背后的公司,三者整合良好。
  • Mule ,最早声势最大的开源ESB,由MuleSource公司提供支持。缺点是Transport质量较差,缺乏强力的AS底层,缺少服务中介能力,服务编排方式不理想.
  • JBoss ESB, JBoss提供支持,中规中矩没什么明显缺点的ESB,部署于JBossAS上,特色是可用JbossRules编写Router,用JBPM实现流程引擎。
  • WSO2,基于Apache Synapse,由Axis2 背后的公司提供支持,但自己对Axis2一系向来不感冒。

商业ESB

  • BEA AquaLogic,作为服务中间件非常好,路由编排再次走了图形编程+XML Context(XQuery)的老路,在业务复杂时不容易玩,同时缺乏直接业务编程能力,只能调Java静态方法或远程EJB2.1方法。
  • IBM(Message Broker, Websphere ESB,DataPower),未接触。
  • Progress Sonic ESB,最早的ESB,未接触。

ESB架构

    Transport:各种协议的输入输出,与核心统一消息类型(Header,Payload)的转换,支持轮询,消息驱动,同步/异步等消息消费模式。

    Processor

  • 数据转换:数据的校验与转换。
  • 路由器:基本路由器,组合路由器(BPEL、工作流或代码级编排)
  • 业务处理器:在ESB中的业务组件。
  • 中介处理器: 负载均衡,故障转移,流量控制,缓存,异常处理与重试,事务,安全,性能记录,调用日志记录。

    Message:内部统一消息形式,包含header,payload,exchange。

Misc

Fuse ESB (江南白衣博物馆)
Mule (江南白衣博物馆)
Mule1.4 (江南白衣博物馆)

Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.9 Build:#527 2006-09-07) - Bug/feature request - Contact Administrators
Get SpringSide at SourceForge.net. Fast, secure and Free Open Source software downloads