随笔 - 170  文章 - 536  trackbacks - 0
<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

我参与的团队

随笔分类(103)

搜索

  •  

积分与排名

  • 积分 - 412372
  • 排名 - 135

最新评论

阅读排行榜

什么是 ESB(Enterprise Service Bus)?
对于这个问题,长期没有搞清楚,就连我自己也很难说清楚这到底这是个什么样的概念,我引经据典来大致的描述一下这个概念。

第一个定义来自于:O'Reilly 的 《Enterprise Service Bus》

The ESB concept is a new approach to integration that can provide the underpinnings for a loosely coupled, highly distributed integration network that can scale beyond the limits of a hub-and-spoke EAI broker. An ESB is a standards-based integration platform that combines messaging, web services, data transformation, and intelligent routing to reliably connect and coordinate the interaction of significant numbers of diverse applications across extended enterprises with transactional integrity.

An extended enterprise represents an organization and its business partners, which are separated by both business boundaries and physical boundaries. In an extended enterprise, even the applications that are under the control of a single corporation may be separated by geographic dispersion, corporate firewalls, and interdepartmental security policies.

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

总的来说,ESB 提供了跨平台,跨部门,跨应用系统的服务整合的基础平台,就我们目前对项目的理解,我们或许还没有达到这个 level,我们提供的应该是个办公应用平台,除非我们确实会进行跨部门,跨业务的服务整合,那样我们真的是在做 SOA 了,那就有的折腾了。

不多说了,进入下一个主题 OSGi。
posted on 2008-05-26 14:26 steady 阅读(419) 评论(0)  编辑  收藏 所属分类: 技术随笔

只有注册用户登录后才能发表评论。


网站导航: