InfoQ

InfoQ

文章

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

ESB综述1:定义ESB

作者 Miko Matsumura 译者 胡键 发布于 2007年6月25日

领域
企业架构
主题
ESB ,
SOA
标签
SOA Appliance ,
JBI

Accenture首席技术官Don Rippert的近期访谈的主题是:激活SOA的全部潜力还需五年。但是,访谈中隐藏着一个简单的论断,即使用企业服务总线(Enterprise Service Bus,ESB)是实现ESB全部潜力4步中的第三步。Don Rippert模型中的步骤如下:

  1. 使用XML,以更标准的方式使用应用程序接口。
  2. 捕获一些业务过程,并将它们转化成为Web服务。
  3. 引入并全面使用企业服务总线。
  4. 产生业务过程执行语言(Business Process Execution Language,BPEL),它可由业务过程建模工具完成。BPEL可以改变应用程序的行为,而无需修改软件。

Rippert先生在采访中表示,尽管很多组织拥有ESB,但是它并没有被完全利用。他进一步的表示,大多数公司仍处于阶段1。与这个ESB所处位置的论断相对比的是,Burton Group的分析师Anne Thomas Manes的叙述,其发表于近期面向服务架构Yahoo Group的讨论中。Anne说:

......如果缺少我推荐启动SOA的“基本组件”,ESB将不会列在我的清单中。事实上,我并不鼓励人们由ESB开始。ESB并不会鼓励好的SOA行为。ESB本质上是集成系统,而非SOA系统。SOA是用于拆卸应用竖井(application silos),而集成系统则是修补这些竖井。

引用她的书,她接着提及的基本组件包括:

  • 一个或多个服务平台(如,.NET,Java EE应用服务器等)
  • SOA管理解决方案
  • 注册表
  • 如果服务要被暴露在防火墙之外,那么需要XML网关

引用组员早期的帖子,她说道:

“......ESB特别适合桥接传统应用,因此,在服务基础设施中,它是一个有用的组件。很多ESB也支持可靠消息传递、异步消息传递和发布/订阅交换模式。这些能力都非常有用,但是,在SOA项目的初始阶段可能不会发挥多大的用途。(每个组织有很多不选用这些能力的项目。)在SOA项目的后期,你还可能需要一个编制(orchestration)引擎,并且大多数的ESB都会提供一个。即便如此,ESB也绝对不是组织启动SOA的起点。所有这些能力你一开始并不需要。因此,ESB应该在后期购买。”

这似乎符合Rippert先生的观点,即尽管很多组织拥有ESB,但是它并没有被完全利用。Manes女士的评论同样有助于定义ESB的范围,通过暗示许多ESB支持的特性,它确定了一组适当的能力。

根据维基百科的ESB定义,ESB有如下特性:

  1. 它是面向服务架构的实现。
  2. 它通常是操作系统和编程语言无关的;它应能在Java和.Net应用程序之间工作。
  3. 它使用XML(可扩展标识语言)作为标准通信语言。
  4. 它支持Web服务标准。
  5. 它支持消息传递(同步、异步、点对点、发布-订阅)。
  6. 它包含基于标准的适配器(如J2C/JCA),用于集成传统系统。
  7. 它包含对服务编制(orchestration)和编排(choreography)的支持。
  8. 它包含智能、基于内容的路由服务(itenerary路由)。
  9. 它包含标准安全模型,用于ESB的认证、授权和审计。
  10. 它包含转换服务(通常是使用XSLT),在发送应用和接收应用之间转换格式,简化数据格式和值的转换。
  11. 它包含基于模式(schema)的验证,用于发送和接收消息。
  12. 它可以统一应用业务规则,充实其它来源的消息,分拆和组合多个消息,以及处理异常。
  13. 它可以条件路由,或基于非集中策略的消息转换,即不需要集中规则引擎。
  14. 它可监视不同SLA(服务级别合约)的消息响应门限,以及在SLA中定义的其它特性。
  15. 它(常常)简化“服务类别”,向更高或更低优先级用户做出适当的响应。
  16. 它支持队列,在应用临时不可用时用来保存消息。
  17. 它由(地理)分布式环境中的选择性部署应用适配器组成。

维基百科的定义容许“ESB精确定义的变种”。

Manes女士和Rippert先生似乎都同意ESB是有用的,并代表项目后期用于部署SOA的功能集合。维基百科的定义可以作为讨论的起点,主题是关于如何定义这一有用技术。

在随后的讨论中,请关注ESB的定义,而非本文中引证的业界专家的观点。

查看英文原文:ESB Roundup Part One: Defining the ESB

Mule 3.0.1 ESB Integration with Saddle 发表人 Integration Saddle 发表于
  1. 返回顶部

    Mule 3.0.1 ESB Integration with Saddle

    发表人 Integration Saddle

    We proudly announce that Saddle goes Open source

    www.saddle-integration.org

    What is Saddle?

    Saddle is an Open Source NetBeans-based graphical frontend to configure the Mule ESB. It allows you to graphically create, view, or edit the configuration files of Mule v2.x and 3.x.
    You can even convert a v2.x configuration to a v3.x configuration.

    Furthermore, it enables you to graphically map messages from different systems and to apply Java buisiness logic with all comfort you are used from your Java IDE.

    Once the configuration work is done, Saddle allows you to administrate and monitor your runing Mule instances via any web browser.
    This also includes the graphical tracing of messages through your integration schema.

    Learn more about the features of Saddle in the documentation section.

深度内容

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。

解析JDK 7的动态类型语言支持

随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。

Java Remoting远程服务(下)

随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。