引言 最新的 IT 集成是使用 Web 服务技术实现面向服务的体系结构(SOA),有许多优秀的文章讲述了该技术的好处和相关的实践
最近,企业服务总线(Enterprise Service Bus,ESB)的概念被表述为 SOA 基础架构的关键组件
然而,有必要阐明 ESB 究竟是一个产品、技术、标准,还是别的什么
特别是,当前是否可以构建 ESB
如果这样,该如何构建
本文将 ESB 描述为由中间件技术实现并支持 SOA 的一组基础架构功能
ESB 支持异构环境中的服务、消息,以及基于事件的交互,并且具有适当的服务级别和可管理性
为了达到此目的,需要将多种功能集中起来并加以分类
然而,并不是 ESB 能够传递值的每一种情形都需要所有的功能
本文确定了一组最低功能,可以满足 ESB 与 SOA 的原则保持一致的基本需要
通过确定这些最低功能,您可以确定利用何种现有技术来实现支持 SOA 的 ESB
通过考虑特定情形下的需求如何确定对额外功能的需要,您可以选择最适合这种情形的实现技术
随着 ESB 解决方案的发展和成熟,它所需要的功能也在不断地发展
同样,可见的 ESB 产品的可用性和功能也日趋完善
因此,在本系列的最后一篇文章中,我将考虑 SOA 和 ESB 的发展路线,以指导 ESB 功能和技术的最初应用,并且阐述如何选择循序渐进的方法
ESB 在 SOA 内的工作角色 虽然我不打算深入讨论 SOA 的定义,但是在这里概括一下大部分对 SOA 的描述所适用的原则是很有用的: 1
利用显式的与实现无关的接口来定义服务
[接口无关性] 2
利用强调位置透明性和可互操作性的通信协议
[通信透明性] 3
封装可重用业务功能的服务的定义
[重用] 图 1说明了这些原则
注意,虽然 Web 服务技术非常符合这些原则,但它并不是唯一符合这些原则的技术
图 1: SOA 的原则