基于xml的异质异源数据库间的数据共享中心_第1页
基于xml的异质异源数据库间的数据共享中心_第2页
基于xml的异质异源数据库间的数据共享中心_第3页
基于xml的异质异源数据库间的数据共享中心_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于xml的异质异源数据库间的数据共享中心

在大企业的信息建设中,信息系统建设通常具有渐进性和分布性的特点,导致“信息孤岛”现象的存在。“信息孤岛”造成系统中存在大量冗余数据、垃圾数据,无法保证数据的一致性,从而降低了信息的利用效率和利用率。为解决这一问题,我们有必要对数据集成和数据交换进行研究。数据集成的核心任务是要将互相关联的分布式异构数据源集成在一起,使用户能够以透明的方式访问这些数据源。集成是指维护数据源整体数据的一致性,提高信息共享利用的效率;透明的方式是指用户无须关心如何实现对异构数据源数据的访问,只关心以何种方式访问何种数据。实现数据集成的系统为用户提供统一的数据源访问接口,执行用户对数据源的访问请求。但是依据数据集成的思想,势必会带来另外一个问题,即数据冗余。因而,就引发我们研究另外一种更为优化的方式以实现对异构数据源的透明访问,这就是数据交换中心。1相关技术介绍1.1基于平台的多层级本构模型J2EE(Java2platformEnterpriseEdition)是美国SUN公司推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。它是一整套技术的总称,包括建立企业应用系统的各个方面。使用J2EE技术能使我们快速建立企业应用系统。其目标是提供一个基于Java的服务器端应用结构,支持平台独立、可移植、多用户、安全和标准的企业级应用。SUN设计J2EE的初衷是为了解决两层模式(Client/Ser-ver)的弊端。在传统的两层模式中,客户端担当了过多的角色而显得过于臃肿。在这种模式中,第一次部署时比较容易,但难以升级或改进,可扩展性也不理想,而且经常基于某种专有的协议——通常是某种数据库协议,它使得重用业务逻辑和界面逻辑变得非常困难。现在,J2EE的多层企业级应用模型将两层化模型中的不同层面切分成很多层,一个多层化应用能够为不同的服务提供一个独立的层。J2EE典型的结构分为四层:①运行在客户端机器上的客户层组件(ClientTier)。②运行在J2EE服务器上的Web层组件(WebTier)。③运行在J2EE服务器上的业务逻辑层组件(BusinessTier)。④运行在EIS服务器上的企业信息系统层软件(EnterpriseInformationSystem,Tier,EISTier)。其中WebTier和BusinessTier合称为中间层(MiddleTier)。1.2自描述性标记41998年2月万维网协会(W3C)发布了XML1.0标准,XML是一种元标注语言,该语言提供一种描述结构数据的格式,是W3C定义的用于优化Web上传输的SGML(通用标记语言标准ISO8879:1986)的子集。XML确保结构数据是一致的且独立于应用程序或供应商,可编码各种情况(从简单至复杂)的内容、语义和架构的数据标准。XML提供了数据自描述功能,2001年5月W3C正式发布XMLSchema(XML大纲)标准,使XML数据能描述自身的结构,并且使软件了解其结构成为可能,而不用任何事先内建数据结构的描述。XML作为一种可扩展性标记语言,其自描述性的特点使其非常适用于不同应用间的数据交换;同时,其自解释性使客户端在收到数据的同时也能理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。1.3xllt模式XSL是表达样式表的语言。每一个样式表均描述了展现一类XML源文档的规则。XSL由两部分组成,其中一部分就是XSLT语言。其功能是由源文档构建结果树,如图1所示。XSLT作为XSL的一部分,是一种用来对XML文档进行相互转换的语言。XSL定义了描述样式的词汇集。而XSLT则描述了怎样将一个文档转换为用该词汇集的XML文档。使用XSLT,开发者可以描述一种从现有的XML文档建立新的结构化文档的方法,由XSLT引擎来实现。其应用很灵活,生成的结果可以是XML,HTML,甚至是文本文档。XSLT是将模式(Pattern)与模板(Template)相结合实现的。模式与源树中的元素相匹配。模板被实例化产生部分结果树。结果树与源树是分离的,结果树的结构均可与源树的结构截然不同。在结果树的构造中,源树可被过滤和重新排序,还可增加任意的结构与样式。2数据传输中心目前,在很多企业内部均存在或多或少的老系统。随着时间的迁移,由于种种原因,这些企业又不得不开发各种新系统来满足日益发展的各类业务需要。这样一来,势必会使新老系统之间的数据通信变得困难,包括:①命名冲突。新老系统的数据库中代表相同内容的表可能字段名或表名都是不一样的。②数据类型冲突。新老系统中相同字段的数据类型可能不同。③数据库系统本身冲突。新老系统采用的数据库系统不同。④网络连接冲突。新老系统的数据库之间根本就无法相通,即物理上绝缘。由于XML提供使用灵活、开放,基于标准格式的互用性,并具备访问遗留数据库和将数据传输到客户机的新方式,可使应用程序更易于维护,并且可以在结构数据上轻易提供多种视图。XML元素可将其关联数据声明为任何需要的数据元素。随着XML的广泛采用,不管发送数据的应用程序如何,一旦定位了数据,就可以在网络上传送到其他应用程序,以供进一步处理和查看。对于接收应用程序,只要能够识别XML中的数据即可,至于数据来自何处以及数据如何到达XML文档就不重要了。针对以上种种问题,前面所提的XML强大的自描述性、自解释性与扩展性以及XSLT技术对建立数据交换中心提供了可能。下面我们来考虑最为普通的一种数据交换情况,即两个数据交换节点(DataExchangeNode,DEN)之间的数据源在物理上是绝缘的,而且存在以上所描述的种种问题。①我们需要将一个DEN数据库中的数据导入文件中;然后按照一定的需求从该文件中提取数据到另一方DEN中。将数据写入文件还是比较简单的,现在开源项目JXL已经提供了相应的API文档供开发者使用。②由于XML强大的自解释性与自描述性,而且其具有应用健壮性和平台无关性。XML文档的有效性检查能有效地排除垃圾数据对系统的干扰,极大地提高系统的健壮性与性能;XML与具体的软/硬件平台是无关的,这使得用XML表达的数据具有最大的通用性。因此,我们可以采用XML作为数据交换的载体。这样,必然的结果是双方DEN的XML文档均是本地化的,这就存在一个转换机制,怎样将一方XML转换成另一方XML。在这一点上,XSLT正好满足了这个要求。XSLT将模式与模板结合实现,模式与源XML中的元素相匹配,而模板被实例化产生目标XML,这样就很容易将双方数据源之间的关系联系起来。当然这其中必然有一个前提,就是在数据交换中心要有一个配置表,配置双方数据源之间的关系。③具体实现数据交换,采用EJB技术。每个EntityBean对应数据源中的一张表,对于每个EntityBean均作为一个数据传输对象(DataTransferObject,DTO),对每个源DEN中的表均作为一个与之对应的DTO,并在SessionBean中具体实现数据交换的接口。下面具体介绍数据交换接口的实现。(1)利用XML作为所请求的数据载体,使之成为源XML。(2)根据在配置表中读取的配置信息,查找到所需要的XSL样式表文件。(3)通过该样式表文件,运用反射机制构造目标DEN的DTO。(4)通过该DTO调用EJB中的方法将数据导入。除了该接口的实现外,必然要产生一个配置表的编辑器,同时产生配置文件与样式表转换文件。该编辑器描述了源、目标数据源之间相关联两张表间的关系,包括字段名之间的对应关系以及字段数据类型的关系。3数据共享中心在某大学校园网的构建中,由于面临的是异质异源的数据库,我们设计并实现了数据交换中心以适应其新老系统数据交换的需要。整个数据交换中心的结构示意图如图2所示。在数据交换中心配置了一个基础数据库,用来存储各种基础数据。各个DEN通过调用EJB来获取其需要的数据资源。每个DEN之间的数据传输采用XML方式,并利用XSLT转换成对方需要的XML格式,体现了较好的安全性与实效性。4数据传输中心在某大学校园网的开发过程中,为了解决该大学新老系统之间数据交换的问题,笔者设计并开发了数据交换中心以适应该大学校园网的需要。综合采用了J2EE,XML,XSLT技术与反射机制,利用XML作为DEN之间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论