快速认识ESB

ESB (Enterprise Service Bus)即企业服务总线。传统中间件技术与XML、Web服务等技术相结合的产物。

 

作用:充当使用不同数据和消息格式、网络协议和编程语言的服务之间的“粘合剂”,充当服务使用者和服务提供者之间的中间层。

与SOA的关系:ESB就是在SOA架构中实现服务间智能化集成与管理的中介。如下图:

图解-ESB实际上更像是企业消息总线,当所有的服务都在总线上的时候,服务调用实际上是一种消息调用。

ESB具体应用中的两个作用:

解耦中介--

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

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

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

服务中介--

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

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

ESB实现

      开源工具-Fuse ESB,Mule,JBoss ESB,WSO2,ServiceMix,Apache Camel,Spring Integration

      商业工具-BEA AquaLogic,IBM(Message Broker,WebSphere ESB,DataPower),Progress Sonic ESB

posted @ 2010-07-15 17:19  春文秋武  阅读(408)  评论(0编辑  收藏  举报