APP下载

基于XML的异构数据库中间件的设计与实现

2010-09-27俞国红

中国现代教育装备 2010年9期
关键词:中间件数据源异构

俞国红

1.健雄职业技术学院 江苏太仓 215411 2.江苏科技大学 江苏镇江 212003

基于XML的异构数据库中间件的设计与实现

俞国红

1.健雄职业技术学院 江苏太仓 215411 2.江苏科技大学 江苏镇江 212003

本文在现有异构数据库领域研究成果的基础上,针对网络环境中异构数据库数据共享问题,采用XML的异构数据库中间件技术实现异构数据库之间信息交换。把来自不同应用程序的数据转化到中间件这个统一的框架中,进行交互、转化和进一步加工,实现异构数据源的集成问题,以便更有效地利用信息资源,在更大范围内实现数据的共享。这一方法具有可扩展性好、跨平台特性、执行效率较高的优点,在实际应用中有着较广阔的应用前景。

异构数据库;XML技术;中间件;数据共享

异构数据之间的集成可以将系统内外部的不同结构和非结构化的数据进行整合,因此是企业进行企业应用集成和资源共享的基础。随着网络的普及,企业中各种异构数据库的集成问题已成为数据处理技术研究的热点。如何集成、访问这些数据面临的一个关键问题是要提供给用户一个统一的视图,从而屏蔽它们的系统环境、平台、内部数据结构等方面的异构性,使得用户不必熟悉各数据库管理系统,不必自己进行数据转换和汇总,只要通过简便的全局查询就可以从巨大的数据资源中获取所需的信息。

扩展标签语言XML(eXtensible Markup Language)是W3C(World Wide Web)组织于1998年制定的一种通用语言规范,是SGML的简化子集,它以一种开放的自我描述方式定义数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。运用XML可以有效地解决新旧系统、不同数据源之间或者不同应用系统之间的数据共享与交互问题。因此,XML技术逐步成为数据集成研究的热点,它的出现使得对各种不规则的数据信息的标准化描述成为可能,使得XML技术成为建立数据集成平台的基石,成为数据集成技术发展的趋势。本文在现有异构数据库领域研究成果的基础上,针对网络环境中异构数据库数据共享问题,采用XML的异构数据库中间件技术实现异构数据库之间信息交换。把来自不同应用程序的数据转化到中间件这个统一的框架中,进行交互、转化和进一步加工,实现异构的数据源的集成问题,以便更有效地利用信息资源,在更大范围内实现数据的共享。这一方法具有可扩展性好、跨平台特性、执行效率较高的优点,在实际应用中有着较广阔的应用前景。

一、相关概念

1.中间件

中间件是一种独立的服务程序或系统软件,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。其作用是建立分布式软件模块之间互操作的机制,屏蔽底层分布式环境的异构性和复杂性,为处于自己上层的应用软件提供运行与开发环境,帮助用户高效、灵活地开发复杂的应用软件。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的费用。中间件是一个用应用程序接口定义的分布式软件管理框架,具有强大的通信能力和良好的可扩展性。图1给出了基本的中间件的框架。

图1 中间件基本框架

2.XML技术

欧洲核子物理研究中心的研究人员1989年提出了HTML(Hypertext Markup Language)语言。HTML只使用SGML中极小的一部分标记,并且固定标记,不可扩展。HTML简单的特性使其在网络方面得到了广泛的应用。可是随着网络的发展,HTML过于简单,并且不能够满足日益发展的WEB应用需求。1998年的WEB标准化组织W3C制定了SGML的精简版本—XML,它去除SGML中的一些非常用的很少又非常复杂的特性,使其更易于理解和使用,更适合在网络环境下使用。虽然HTML与XML都源于SGML,但两者又有所不同:HTML侧重于显示数据,而XML侧重于描述数据。XML保留了SGML的可扩张性、结构以及数据确认方面的主要优点,它的灵活性允许表示各种各样的信息,而它以一种开放的自我描述的方式定义了数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。这样所组织的数据对于应用程序和用户都是可操作的、友好的。XML实际上是SGML的一个子集,它保持了对现有的面向SGML的系统的向下兼容性,与WEB的结合也使得它们更便于被访问。XML是一个开放式的标准,它包括3个相互联系的标准:XSL,XML和XLL。这3个标准相辅相成,使XML语言在显示风格、数据标记、超文本链接方面功能强大,对数据交换十分有利。

二、基于XML的异构数据库中间件的设计

XML异构集成中间件构建在数据库系统之上,目的是集成异构数据源的信息,为数据共享、发布和应用对集成信息的访问提供支持,并负责异构数据源的数据访问、查询和协调数据源之间的信息。各个异构数据库资源构成了系统数据层;中间件系统提供数据集成的业务服务,构成系统的业务逻辑层;应用程序则构成系统的表示层或事务应用层。XML异构集成中间件的核心是数据转换和集成,为了更好地实现数据的集成,系统采用XML模式作为中间件的全局模式,并分2步完成异构数据模式到全局模式的转换和集成。基于XML的异构数据库访问中间件系统属于中间件的范畴,从异构集成的角度出发,利用XML、CORBA、Java技术,以XML作为公共数据模型,为用户提供一个统一的查询接口,而且查询结果以XML格式输出。系统的整体框架如图2所示。

图2 数据库中间件整体结构

整个工作流程分为先后两个过程:初始化过程和运行过程。初始化过程主要完成的任务是生成元数据信息。从中间件系统角度引入两类角色,中间件管理员和各数据库管理员。中间件管理员首先登录中间件定义数据的全局描述。各数据库管理员登录中间件注册自己的数据库信息以建立连接,并定义共享的内容。运行过程由CORBA客户端接收业务处理系统的请求,按照元数据信息对请求进行解析分解为针对具体数据库的子查询,并调用CORBA服务器端的对象连接和操作数据库的方法,然后将返回的结果进行合并发送给业务处理层。在CORBA服务器端完成的主要工作是访问数据库,并将得到的结果集转化成XML格式。

三、基于XML的异构数据库中间件的实现关键技术

1.数据的初始化

由于系统中各个数据库中存在相同字段不同意义或者相同意义不同字段名称的情况,这样对访问数据库造成了很大的麻烦,所以需要在系统开始运行阶段为系统中具有相同业务的数据库表创建一个能体现他们之间相同之处的表格。这个表格提取异构数据库表中所有具有相同意义的字段,然后由中间件管理员创建一个元数据字段,每个局部数据库管理员登录后,从元数据中选取自己数据库中有相同意义的表,并且将自己表中与元数据字段具有相同意义的字段做映射。从而实现了系统的初始化部分,为客户端的查询分解阶段提供了依据。

2.中间件实现技术

中间件是一种支持分布式应用的组件框架结构。它是一种独立的系统软件或服务程序,分布式应用借助中间件在不同的技术之间共享资源,为应用提供统一的编程模型,处理异构、分布问题和管理计算资源及网络通信。中间件对分布式应用的底层支持,决定了中间件必须负责实现分布式事务处理、保证安全、进行网络负载平衡和交易控制等工作这一特点,使得目前的中间件主流技术都是基于分布式对象技术,其中EJB,COM+和CORBA组件代表了当前中间件技术的最新发展趋势。因此我们采用的是基于CORBA组件技术。

3.XML与数据库的数据转换

系统中XML与数据库的转换主要指将XML文档中的数据写入数据库中。在此之前,先需要将XML文档中内容转换为SQL语句,然后利用SQL语句对数据库进行操作即可。下面给出实现XML文档转换成SQL语句的方法类XMLToDB的主要方法:

public void to DB(Stting xmIFilename)

{ String sql;

try l

doc= open Dcument(xm fle name);

}catch (Exception{}

domToSgl= new DomToSg1O;

sql = domToS gl.writeSgl(doc);

conn .create Connection;

try{

conn execute Update(sgl);

)catch(SQL Exception e)

{System.out.println(e.get Messageo);

}

四、结束语

XML中间件是当今的热点技术,通过Intranet和XML技术,改造企业内部的信息系统,可以实现异构数据源的集成、共享及利用,提高了信息系统的整体效能。本文在现有异构数据库领域研究成果的基础上,针对网络环境中异构数据库数据共享问题,采用XML的异构数据库中间件技术实现异构数据库之间信息交换。以便更有效地利用信息资源,在更大范围内实现数据的共享。这一方法具有可扩展性好、跨平台特性、执行效率较高的优点,在实际应用中有着较广阔的应用前景。

[1]赵辉,陶世群,李丽萍.一种基于XML的异构数据源集成的方法与实现[J].山西大学学报(自然科学版),2005,28(1):33~36

[2]孙友仓,宋彩利,李润洲.一种基于Web Service的异构数据集成中间件[J].西安科技大学学报,2007,27(2):284~287

[3]邵秀丽,张琳,张峰.基于XML的异构数据源集成查询中间件的设计和实现[J].南开大学学报(自然科学版),2007,40(5):33~39

[4]许峰,张雪洁,李凤生,等.XML数据集成平台的研究与应用[J].计算机工程与设计,2009,30(13):3212~3215

[5]曾小宁,黎明.基于XML的数据交换中间件的研究与实现[J].计算机工程与设计,2007,28(12):2999~3002

[6]周园春,李淼,张建,等.中间件技术综述[J].计算机工程与应用,2002,38(15):80~82

[7]侯占伟,莫林,郑华,等.基于SOA的数据库中间件的研究与设计[J].计算机应用研究,2007,24(6):284~286

[8]姚跃华,罗霜梅.基于XML分布式异构数据库主存中间件实现[J].计算机工程,2007,33(17):108~110

Design and implementation of heterogeneous database middleware based on XML

Yu Guohong
1.Chien-shiung institute of technology, Taicang, 215411, China 2.Jiangsu university of science and technology, Zhenjiang, 212003, China

In this paper, the existing research in the field of heterogeneous database based on the results for the heterogeneous network environment, database data sharing using XML, heterogeneous database middleware technology for the exchange of information between heterogeneous databases. From different applications into the middleware of this data into a unified framework, interaction, transformation and further processing of heterogeneous data sources integration issues for more effective use of information resources, to achieve a wider scope data sharing. This method has good scalability, cross-platform features, the advantages of higher efficiency in the implementation in practical applications, has a broader application.

heterogeneous database; XML technologies; middleware; data sharing

2009-12-24

俞国红,在读硕士,讲师,工程师。

猜你喜欢

中间件数据源异构
试论同课异构之“同”与“异”
吴健:多元异构的数字敦煌
RFID中间件技术及其应用研究
Web 大数据系统数据源选择*
基于Android 平台的OSGi 架构中间件的研究与应用
基于不同网络数据源的期刊评价研究
异构醇醚在超浓缩洗衣液中的应用探索
LTE异构网技术与组网研究
基于真值发现的冲突数据源质量评价算法
中间件在高速公路领域的应用