1. 企业集成的新方向: SOI
什么是"以服务为中心的集成"?
"以服务为中心的集成"是英文词语"Service-Oriented Integration"的中文翻译,简称 SOI。 它可以定义为:在"以服务为中心的体系架构"(Service-Oriented Architecture,SOA)中,通过服务的交互来集成各企业的 IT 资源,如分布的应用或者数据,帮助企业 IT 部门将已有但老旧而不灵活的系统集成起来,释放其中功能或数据为可重用的服务与业务流程。
为什么需要"以服务为中心的集成"?
企业集成的推动因素。推动"企业应用集成"(Enterprise Application Integration, EAI )的因素,来自商务和技术两个方面。从商务的角度,今天企业要在全球化的经济环境中求生存和发展,就必须努力适应越来越强的竞争和越来越快的变化,这意味着一个企业的业务模型要变得灵活以快速应变,也就是随需应变。在一个企业的业务模型变得灵活的转型过程中,需要将业务流程不断地自动化,然后跨部门横向集成它们,并且管理和优化它们,这意味着支撑这些流程的技术基础,即 IT 应用和数据资源等,需要在企业范围内集成。所以,业务灵活应变的能力是 SOI 的驱动因素之一。
在技术方面,IT 部门面临着业务部门越来越高的期望值,就是用更少的钱做更多的事情,但要做得更快、更好,这迫使 IT 部门考虑如何最大程度地重用已有应用的功能和数据资源,来支持新应用的开发。但这种重用面临着如何将高度异构、分布的各个应用集成起来的难题,SOI是目前最有效的解决之道。在 SOI 中,首先各个应用的功能被封装为基于标准来描述和供访问的服务;其次,借助于 SOI 的通用连接能力,这些来自不同应用的服务,不需要关心对方的位置和实现技术,以松散耦合的方式相互交互来完成集成,所以只要服务的接口描述不变,服务的使用者和提供者双方可以自由发生变化而互不影响;最后,通过服务组合,服务可以按不同的方式来组合成为不同的业务流程。当某个业务流程发生变化的时候,大多数时候,我们调整组装服务的方式来满足这种变化。总之,这种通过重用粗粒度服务而不是在底层编程来开发新应用以满足业务新需求的方法,使得 IT 组织能够以更少的投入、更快的速度、更好的质量来开发应用。综上所述,可以灵活应变的重用方式,是 SOI 的另一个驱动因素。
集成解决方案的发展沿革。集成企业应用的方法各种各样,初级一点的借助于简单的机制如应用编程接口,管道、共享目录和文件,或者某些传输协议如 FTP 来交换数据和互操作;高级一点的则使用各种消息中间件来提供消息的传输、转换、合并、路由和分发、事件的发布和订阅等;分布式计算技术,如 CORBA,COM 等,也有较广的使用。
在初期实践中,应用之间的连接拓扑大多数情况下是点对点的,硬编码的,所使用的协议是非标准的,功能的提供者和使用者之间是紧耦合的,功能的粒度通常较细,数据的表示也不统一。随着集成复杂度的增长,和实践经验的总结,开始出现一些从好的实践中总结出来的集成模式,如消息中枢(Message Backbone)、信息总线、应用集成中心(Application Integration Hub),这些模式从不同的角度以不同的方式来管理集成的复杂性,但都或多或少地尝试提供一个集成基础设施来简化应用之间日趋复杂的连接拓扑,提供异构数据和功能访问方式之间的转换,甚至提供一致的数据和功能表示与访问方式。通过元数据和应用相关的领域知识,这些集成基础实施提供了很多中介和转换的机制与模式来实现高级的功能,如路由、动态选择等能力。
随着互联网络技术的发展、普及和应用,相关技术和标准,如 XML 和 Web Service,被广为接受,这给应用集成带来了新的发展。企业应用架构的风格开始朝着以服务为中心的方向发展,而企业应用集成也转向以服务为中心的集成,服务的描述和访问基于开放一致的标准(如 WSDL),连接应用的基础设施继承了过去发展的成果,并通过支持开放标准,来提供通用的连接服务,包括基本的服务如消息传输、转换,事件的发布和订阅,服务的中介(选择、路由),和高级的服务如安全、事务、服务质量,以及可管理性,来使得服务在一个标准、开放、可靠、安全、可管理、满足服务质量要求的环境下,以松散耦合的方式相互交户,根据需求动态地进行企业应用集成,达成非常高程度的灵活应变能力和重用能力。SOI 是对现有集成技术与实践的总结和标准化。
SOI 的好处。SOI 继承和发展了传统的 EAI,比较而言,SOI 的好处在于:
2. SOI解决方案
2.1. SOI解决方案的要素
通常,完整的SOI 解决方案包括如下要素:
IBM的 Websphere 业务集成参考架构(见图1,以下称参考架构)是典型的以服务为中心的企业集成架构,本文接下来的讨论都将以此参考架构为背景进行。
以服务为中心的企业集成采用"关注点分离"(Separation of Concern)的方法规划企业集成中的各种架构元素,同时从服务视角规划每种架构元素提供的服务,以及服务如何被组合在一起完成某种类型的集成。这里架构元素提供的服务既包括狭义的服务(WSDL描述),也包括广义的服务(某种能力)。从服务为中心的视角看来,企业集成的架构按图1所示的方式划分为六大类:
2.2. 连接服务 - 企业服务总线
企业服务总线(Enterprise Service Bus),以下简称ESB, 是过去消息中间件的发展,ESB 采用了"总线"这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态地互联互通。
ESB 的基本特征和能力包括:描述服务的元数据和服务注册管理;在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步模式,异步模式等;发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供者。高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等。
ESB 所提供的基于标准的连接服务,将应用中实现的功能或者数据资源转化为服务请求者能以标准的方式来访问的服务;当请求者来请求一个服务时,ESB 中这种中介转化过程可能简单到什么也没有,也可能要很复杂的中介服务支持,包括动态地查找、选择一个服务,消息的传递、路由和转换、协议的转换。这种中介过程,是 ESB 借助于服务注册管理以及问题域相关的知识(如业务方面的一些规则等)自动进行的,不需要服务请求者和提供者介入,从而实现了解耦服务请求者和提供者的技术基础,使得服务请求者不需要关心服务提供者的位置和具体实现技术,双方在保持接口不变的情况下,各自可以独立地演变。
所以,ESB 采用总线结构模式简化了应用之间的集成拓扑,通过源自实践的模式,提供了基于标准的通用连接服务,使得服务请求者和服务提供者之间可以以松散耦合、动态的方式交互,从而在不同层次上使得SOI 解决方案是一个松散耦合、灵活的架构。
需要注意的是,ESB 是一种架构模式,不能简单地等同于特定的技术或者产品,但实现 ESB 确实需要各种产品在运行时和工具方面的支持。IBM 有很好的产品支持,运行时支持包括 WebSphere ESB 和 WebSphere Message Broker;而工具方面 IBM 则有 WebSphere Integration Developer,支持用户以图形界面的方式来完成相关的开发任务,如发布服务,使用各种模式,转换消息,定义路由等等。
2.3. 业务逻辑服务
整合已有应用 - 应用和信息访问服务。已有应用和信息是实现业务逻辑和业务数据的重要资产。通过集成已有的应用和信息将可以在已有企业系统上实现更多增值服务,所以集成已有应用和信息是企业集成中重要的一环。
以服务为中心的企业集成通过应用和信息访问服务(Application and Information Aclearcase/" target="_blank" >ccess Service)来实现对已有应用和信息集成。它通过各种适配器技术将已有系统中的业务逻辑和业务数据包装成企业服务总线支持的协议和数据格式。通过企业服务总线,这些被包装起来的业务逻辑和数据就可以方便的参与上层的业务流程,从而已有应用系统的能力可以得以继续发挥。这里的已有应用包括遗留应用、预包装的应用和各种企业数据存储。在参考架构中,主要有两类访问服务:
整合新开发的应用 - 业务应用服务。和已有应用和数据类似,新开发的应用也作为重要的业务逻辑成为企业集成的目标。以服务为中心的企业集成通过业务应用服务(Business Application Service)实现新应用集成。一方面业务应用服务帮助程序员开发可重用、可维护和灵活的业务逻辑组件,另一方面,它也提供运行时的集成提供对业务逻辑组件的自治管理。在参考架构中,有三类业务应用服务:
整合客户和业务伙伴(B2C/B2B)-伙伴服务。以服务为中心的企业集成通过伙伴服务提供与企业外部的B2B的集成能力。因为业务伙伴系统的异构性,伙伴服务需要支持多种传输协议和数据格式。在参考架构中,提供如下服务:
共2页: 1 [2] 下一页 |