问题的提出
数据集成是企业信息系统的核心部分之一,它作为一个统一的数据平台为系统的其它部分提供数据支撑服务。许多企业拥有或将拥有多种业务系统,而每种业务系统都有自己的数据存储库,每个业务系统的数据从整体上来说一般是不完整的、不一致的。传统的解决方案为整合数据,它往往需要形成集中库,难以灵活适应底层数据源的变化。传统的解决方案要求直接从数据存储库中获取数据,并且只能从数据存储库中获取数据,但数据存储库往往不被允许直接访问,而且数据存储库中的数据常常是原生数据,它需要经过业务逻辑的处理才能成为有价值的数据,直接使用数据存储库中的原生数据是无意义的。因此,数据集成问题的关键是如何方便地得到需要的数据,如何进行正确的数据整合。
本文提出一种实时动态数据集成的服务框架,这个框架的数据集成是动态的,不需要建立集中库,数据集成是实时进行的;数据集成的数据源不局限于数据存储库CONTROL ENGINEERING China版权所有,可以是一个应用、一个组件、一个服务,甚至可以将数据集成后的结果作为新的数据源。
SOA技术介绍
SOA即面向服务架构,可以看作是一种软件系统架构。它主要是为了解决在Internet环境下业务集成的需要,以松耦合
■ SOA架构中提供服务的功能实体具有完全独立自主的能力www.cechina.cn,这样不需要关心功能实体的实现方式和运行机制;
■ SOA架构中以低频率对大量数据进行访问,也就是在信息交换时希望一次性尽可能多地交换大量的数据;
■ SOA架构采用基于文本而非二进制的消息传递方式,消息本身是不包含任何处理逻辑和数据类型的,同样不需要关心消息接受者的细节。
XML和Web Services标准的成熟和应用的普及为广泛的实现SOA架构提供了基础。XML是针对包含结构化信息的文档而设计的一种标记语言。采用这种描述方法,可以在保持原有数据的意义和结构的同时在应用之间进行数据交换,进而可以保持不同系统之间数据交换的灵活性。Web Services是基于最广为接受的、开放的技术标准(如Http、SMTP、XML、SOAP、WSDL和UDDI等),支持服务接口描述和服务处理的分离、服务描述的集中化存储和发布、服务的自动查找和动态绑定以及服务的组合,成为新一代面向服务的应用系统的构建和应用系统集成的基础设施。
Web Services可以定义为通过SOAP协议,在网络上提供服务,使用WSDL来描述这种服务CONTROL ENGINEERING China版权所有,并通过UDDI注册服务以便使用者能找到服务。
SOAP:这是Web Services的通讯协议,用XML格式来定义消息www.cechina.cn,即SOAP消息,包含在一对SOAP中的、结构正确的XML段。目前常基于HTTP协议来传输XML数据。
WSDL:Web服务说明语言。WSDL文件也是一个XML文档,Web Service的细节描述都包含在其中。如参数类型、函数名称、返回类型、绑定协议等。调用者可以通过查看WSDL文件来确定Web Service的接口函数。
UDDI:这是Web服务的注册中心。Web Service提供者将其提供的服务注册到UDDI注册中心,调用者就可以到这个已知的UDDI注册中心查询到所需要的Web服务。
Web Services提供者实现服务的接口函数和服务的描述,并将其发布给调用者或注册到服务注册中心。服务调用者通过查询本地或服务注册中心的服务描述,选择所需要的服务进行绑定以调用Web Service的接口函数。服务的提供者以XML文档的形式将服务结果返还给服务调用者www.cechina.cn,完成了信息的交互。图1 是Web Services的体系结构。
图1 Web Services体系结构
基于SOA的数据集成
数据集成的本质是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为用户提供全面的数据共享。在数据集成领域已经有了很多成熟的框架。目前,通常采用数据仓库和基于中间层的方法来构造数据集成服务。
中间层模式通过统一的全局数据模型来访问异构的数据库、遗留系统、Web资源等。中间层位于各种数据源和应用程序之间,向下对各数据源起协调作用,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口。各数据源的应用仍然完成他们的任务,中间层则主要集中为各种数据源提供一个高层次检索服务。中间层提供一个统一的数据逻辑视图来隐藏底层的数据细节,使得用户可以把集成数据源看为一个单一的整体。本文提出的基于SOA的动态数据集成服务框架就属于中间层模式。
在基于SOA的数据集成中,XML提供一种规范化的数据结构以协助整合系统之间不同的数据结构,并以关联视图的方式展现被集成的数据。以“同一种语言交流”不再是必须的,Web Ser