一种基于XML模型的集成系统研究
2012-10-26裴沛
裴 沛
(山西金融职业学院信息技术系,山西 太原 030008)
0 绪论
随着信息技术的发展,企事业单位的部门组织结构越来越细化和复杂,因此子机构的数据库资源,如数据信息资源、硬件设备资源和人力资源等也相应不断产生并且相互独立地存在着。信息资源的繁杂会造成大量的作废信息,从而无法确保数据的一致性,影响信息的使用效率。因此,进入信息高速发展的时代,人们对于数据集成的需求也变得越来越迫切,对相关领域系统的研究也是一直以来数据管理研究的热点。为了解决以上问题,保持数据的完整性和一致性,实现系统间的透明访问,本文提供了一个解决异构数据集成的总体解决方案,即将数据库转换为XML文件,然后对XML文件统一进行操作。
1 XML及异构数据集成相关技术
为了各种数据源可以进行透明性地互访,实现资源和数据的共享,更高效地利用数据资源,数据集成技术应运而生。数据集成可以描述为用户为了集中实现对各种异构数据的统一表示、存储和管理等功能,需要将数据资源之间的异构性屏蔽,并应用异构数据集成系统对各种异构数据进行统一的操作和管理。数据集成系统根据企事业单位数据应用上的特点和重点,选择不同的构造集成系统的方法对数据资源进行应用。通过对不同数据有机地集中,使得集成后的异构数据具有统一性和无差别性。在访问异构数据源的过程中,数据集成平台提供了统一接口的功能,使得用户可以在一个平台上像操作一个数据源那样集中操作所有的数据源。可以高效快捷地操作和利用资源。数据集成平台如图1:
图1 数据集成平台
XML是 W3C(World Wide Web Consortium,互联网联合组织)的一个开放标准[1],它是一组规则与准则的集合,以一种开放的、自我描述方式定义数据结构。XML采用的是文本的无格式化来存储和描述结构化数据,它所关心的主要是数据,因此它具有良好的开放性、可扩展性、自描述性、高度结构化、便于网络传输等特性。我们可通过把其他的数据结构和数据类型转换成XML文档,在互联网和企业内部的不同应用程序间方便地提交数据、处理数据,完成数据的交换[2]。XQuery的产生源于 Quitl,在借鉴了众多其他查询语言的优点上,结合了多种表达式,来适应数据和文档的层次化结构,为重构数据提供统一的模板。并将Xpath2.0纳入其中作为子集。因而可以更好的满足数据库和文档的两方面要求[3]。XQuery对于XML而言就像SQL对数据库一样。正如SQL对于关系型数据库一样,XQuery将成为对所有类型的XML数据通用的、独立于系统的标准。
2 系统概述和系统设计
2.1 系统概述
本系统采用Eclipse开发平台进行开发。运用Java语言实现至少三种数据库向XML进行转换。并对转换之后的XML文件进行操作,实现对XML文件进行增删改查的功能。
要实现数据集成,要求本系统可以对数据进行统一的处理,屏蔽数据的异构性,保证数据的完整性并约束其完整性[4],以及解决数据信息之间的语义冲突等等这些相互联系、相互制约的问题[5]。
2.2 系统设计
本系统主要由数据库向XML转换模块、XQuery语言对XML文件进行操作模块和可视化操作XML文件模块组成。本系统最主要的功能包含两个部分:其中一个是将数据库转换为XML文件模块,另一个是对XML文件进行操作模块。系统模块设计如图2:
图2 系统设计的模块图
为了实现数据库集成,需要实现将各种类型的数据库转换为XML文件,然后对XML文件进行统一操作,这样就需要实现将数据库向XML转换。
2.2.1 数据库向XML的转换
数据库向XML转换的方法是:首先查询出数据库中所有的数据,然后确定哪些是XML文件的节点,哪些是XML文件的属性。最后采用crimson.jar这个jar包里提供的方法对XML文件进行写入操作,完成数据库向XML转换的功能。
此模块的部分实现代码如下:
3.2.2 对XML文件操作模块详细设计
本系统对XML的操作采用的是目前比较流行的语言XQuery语言对XML文件进行操作。
此模块的部分实现代码如下:
同时,为了解决大部分用户对XQuery的不熟悉问题,本系统还提供了可视化地图形界面操作的功能。使得本系统的功能更加强大,解决了大部分用户所面临的问题。
此模块的部分实现代码如下:
3 系统实现
3.1 系统界面
此系统界面主要由标题栏、菜单栏、工具栏、工作区、控制栏、控制台、状态栏组成。其其系统界面如图3所示。
图3 系统界面
3.2 主要模块实现
3.2.1 数据库向XML转换模块实现
此模块完成的功能是将不同数据转换为XML格式的文档。实现方法是:根据用户选择的数据库类型,用户输入的数据库名和表名对数据库进行查询操作,查询数据库中所有字段的数据。然后根据用户输入的各个字段的名称使用DOM解析的方式将数据库表转换为对应的XML文件。根据这些需求设计了此模块的界面如图4所示。
图4 数据库转换为XML文件界面
3.2.2 XQuery查询语言操作XML文件模块实现
此模块主要实现的功能是在工作区输入要执行的XQuery语句,点击执行按钮,执行当前输入的语句。例如,输入的语句和执行结果界面如图5所示:
图5 XQuery查询语言操作XML文件界面
4.2.3 可视化操作XML文件模块实现
鉴于大多数人没有学习过XQuery语言,为了解决这一问题,特为此系统加入了可视化操作模块。这样用户就可以可视化地操作XML文件了。此模块主要实现了新建数据库、新建XML、设计XML、编辑XML、返回XML等这些可视化操作的功能。实现界面如图6所示。
4 结语
本文通过对可扩展的标记语言XML的研究,并结合相关技术开发了一个简单的基于XML异构数据集成系统。考虑到了大部分用户对XQuery语言的不熟悉问题,对这一问题特别的进行了部分可视化开发。本系统重点解决了将各种类型的数据库转换为XML文件,然后对XML文件进行统一操作,基本上实现了本课题需要完成的功能。而在未来的数据库领域,集成将会是各个数据库系统需要实现的目标。因此本系统在安全性、数据压缩、备份压缩等多个方面还需要进一步地完善和改进。
图6 可视化操作XML文件界面
[1]黄水源,罗胜,段隆振等.利用XML技术实现异构数据库之间的数据转换[J].南昌大学学报,2005,2(7):68.
[2]方翔.XML文档到关系数据库的转换[J].西安交通大学报,2001,8(4):123 -243.
[3]陈锦辉,王景皓.XML与JAVA程序设计[M].北京:中国铁道出版社,2002:109.
[4]孟小峰.XML数据管理概念与技术[M].北京:清华大学出版社,2009:295 -297.
[5]Mark Birbeck.XML高级编程[M].北京:机械工业出版社,2002.109 -112.