基于SOA的异构数据集成解决方案

时间:2022-03-14 05:11:15

基于SOA的异构数据集成解决方案

摘要数据集成的本质是对不同操作系统平台中的异构数据源进行集中存储,而SOA架构最大的特点就是与平台无关,它能较好的解决数据集成过程中的相关问题。本文应用了一种基于SOA的数据集成策略,具体的服务形式采用了基于SOAP的Web服务,实现了对不同平台中异构数据的集成。SOA的特点使模块间的耦合程度降到了最低,同时使系统具有较强的扩展性。

【关键词】SOA 数据集成 Web服务

1 前言

随着企业信息化建设的不断深入,企业内部建立了大量的应用系统。对于企业来说,数据的重要性不言而喻。然而在企业信息化建设进程中,由于缺乏对信息化建设的统一规划,当企业实施一个新的管理信息系统时,部门间缺乏沟通或出于数据保密等原因,对其所涉及的数据进行独立存放,这就导致企业内部多个信息系统之间的数据彼此独立、无法实现共享,从而形成了一个个的数据孤岛。

数据集成技术就是要实现不同操作系统平台中的异构数据源的集中存储,而SOA架构最大的特点就是与平台无关,使用SOA架构可以较好的解决企业中的数据集成难题,在SOA架构中,最重要的是服务的概念,SOA中的服务可以是Web服务和消息等其他各种形式的体现,但Web服务仍然是最常见的实现方式。

1.1 数据集成难点

数据集成主要面临如下几个难题:(1)异构的操作系统和数据库平台。需要集成的数据分布在异构的操作系统中以及异构的数据库中,而且还有可能是一些桌面数据源,如Excel或XML等;(2)分布式系统。需要集成的数据分布在网络中的不同结点,需要考虑到网络传输性能、网络安全等方面的问题;(3)统一不同的语义。不同应用系统对同一个业务领域的概念具有不同的数据定义,数据集成需要对数据进行加工处理。

1.2 SOA

SOA(Service-Oriented Architecture,中文译为面向服务架构)是从结构化编程、面向对象编程、基于组件编程逐渐发展而产生的一种构建应用程序的新方法。基于SOA的应用程序的功能实现是基于一系列称之为“服务”的基本单元之上,应用程序与这些服务之间通过事先制定好的契约和规范进行数据交互。并且这些服务是与操作系统、计算机硬件以及程序设计语言无关的,应用程序开发者只需要关注服务的具体功能是否能够满足需求即可。

2 基于SOA的异构数据集成解决方案

2.1 方案设计

假设当前需要将数据集成到中心数据库SQL Server中,而待集成的数据可能存储在异构的数据库中,如SQL Server、Oracle以及MySQL,如何在异构数据库之间进行数据集成,是本系统需要考虑的关键问题。

在解决这一问题时,本文采用了基于SOA的数据集成方案。第三方业务系统通过调用数据集成服务将存放在异构平台、异构数据源中的业务数据“推送”到中心数据库中。

如图1所示的设计方案。

如图1所示,SOA中的“服务”采用了Web服务的形式,其实现过程如下:

(1)在数据集成系统的Web服务器中部署数据集成的Web服务,对外进行;

(2)由第三方业务系统(待集成数据存放的系统)进行服务发现和订阅;

(3)第三方业务系统中将待集成的数据转换成约定好的xml数据格式规范;

(4)第三方业务系统对服务进行调用。

(5)数据集成系统接收到服务调用后,根据消息类型进行路由,找到相应的服务以及服务响应处理程序,对数据进行必要的处理后保存至SQL Server数据库中。

通过服务,屏蔽了具体的实现细节,包括底层的操作系统、数据库、编程语言以及具体实现方式;其次数据在网络间通过xml进行传输。由于xml是数据存储和传输的标准,能够较好的解决异构数据在网络中进行传输的问题。

2.2 系统主要模块

SOA架构包含服务提供者、服务注册管理中心以及服务调用者。其中服务提供者需要提供对服务的声明功能,并考虑到服务的安全性;服务注册管理中心需要提供对服务的注册、等功能;服务调用者需要通过服务注册管理中心发现服务,然后进行调用。系统主要设计以下几个模块:

(1)服务声明模块。服务声明模块主要根据系统需求声明实现各个Web服务,从而实现对各类业务数据的集成,最终保存到中心数据库中。

(2)服务管理模块。服务管理模块主要实现服务的注册、等操作,为服务调度和业务运行提供服务支撑。当服务被声明后,通过服务管理界面,将服务注册到服务平台上。经过对服务的测试验证,管理人员将可以稳定运行的服务到平台上。服务后,进入到服务目录中,供第三方业务系统进行订阅和发现。当服务组件过程或功能不满足业务要求时,可以将服务组件从服务平台注销掉。

(3)服务调度模块。服务调度模块主要根据第三方业务系统的服务请求,完成身份认证和服务解析,并根据消息类型进行消息路由,完成服务调用和处理,并返回服务调用结果。

(4)服务安全模块。服务安全模块主要提供传输通道安全和数据安全,并提供用户签入授权与身份验证,确保服务平台应用信息安全。 系统主要通过以下两种安全策略保证系统的安全:①数据传输安全策略:使用加密算法对xml元素进行加密,保证数据传输的安全性。②身份验证策略:对用户进行身份验证和服务签入授权的两级验证方式,保证服务的安全性调用。

3 总结

本文应用了一种基于SOA的数据集成解决方案,具体的服务形式采用了基于SOAP的Web服务,并设计了数据集成系统的核心模块。本解决方案能够实现对不同平台中异构数据的集成。SOA的特点使模块间的耦合程度降到了最低,同时使系统具有较强的扩展性。

参考文献

[1]Mike P. Papazoglou,Willem-Jan Heuvel.Service oriented architectures: approaches,technologies and research issues[J].The VLDB Journal,2007(3).

[2]张文江.地质灾害数据集成关键技术研究[D]. 成都理工大学,2013.

[3]郎炯,刘宴兵,熊仕勇.基于SOA软件架构的数据集成方法[J].计算机应用.2010(9).

作者单位

长江大学工程技术学院信息系湖北省荆州市 434020

上一篇:基于嵌入式Linux的无线视频监控系统设计与实现 下一篇:基于贝叶斯网络的软件系统需求风险评估研究