基于XML的异构数据集成的研究与实现

来源 :计算机时代 | 被引量 : 0次 | 上传用户:wangx315
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:为了实现异构环境中数据集成的目标,提出了基于XML、B/S三层架构的企业异构数据库之间数据共享的实施方案,设计和实现了一个通用的异构数据集成系统。文章介绍了该系统的核心体系结构、工作流程和各模块的功能;阐述了XML文档模式的验证和提取、XML文档问的映射、XML文档模式和数据库关系模式之间的映射等关键模块的设计和实现:最后简要说明了实现系统所采用的相关Java技术。
  关键词:数据集成;XML;关系模式;映射
  
  0 引言
  
  企业信息化的逐步深入,使得任何一个独立的信息持有或使用单位都有可能成为一个异构的数据源。与此同时,企业又需要访问各种异构数据源,来加强战略伙伴之间的合作关系,对资源进行集成和协调,快速响应市场需求,提高自身竞争力。为此,必须要有一种系统能够支持异构数据源的数据集成。
  


  数据集成即是把不同来源、格式、特点、性质的异构数据在逻辑上或物理上有机地集中起来,为用户提供全面的数据共享。在企业数据集成领域,已经有了很多成熟的框架可以利用。目前通常采用联邦数据库系统(Federated Database System,FDBS)、中介系统(Mediation System)和数据仓库(Data Warehouse)等方法来构造集成系统,这些框架在不同的侧重点和应用上解决了数据共享问题,本文研究了目前国内外数据集成策略以及相关应用技术,在此基础上提出了一种基于XML(eXtensible Markup Language,可扩展标记语言)、B/S三层架构,建立数据交换中心的总体解决方案,并结合相关的Java技术实现了其系统原型。
  
  1 相关技术简介
  
  1.1 XML技术
  XML是由W3C(World Wide Web Consortium,万维网联盟)定义的一种语言,它是SGML(Standard Generalized Markup Language,标准通用标记语言)的一个简化子集。XML文件是由标记及其所标记的内容构成的文本文件。与HTML(HyperText Markup Language,超文本标记语言)文件不同的是,这些标记可由用户自定义,使得XML文件能够很好地体现数据的结构和含义。WBC推出XML的主要目的是使Intenet网络上的数据相互交流更方便,让文件的内容更加简明易懂。
  作为表示结构化数据的行业标准,XML具有许多特点,如可扩展性、自描述性等等,非常适合用于企业间异构数据的集成。
  
  1.2 Web服务
  为了在数据的发送方和接收方之间建立一个通道,需要有一种能够跨平台、跨语言的协议或组件,它能够使用XML来描述和包装需交换的数据或对象内容,以使得各种平台的数据和对象都能通过同一个标准进行传输。HTTP(HyperText Trans-fer Protocol,超文本传输协议)和SOAP(simple Object Ac-tess Protocol,简单对象访问协议)正是这样一种协议。
  


  HTTP是ISO/OSI开发系统互联参考模型的应用层协议,采用请求,响应方式传送WWW的数据。SOAP是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。SOAP利用XML技术定义一种可扩展的消息处理框架,并提供了一种可通过多种底层协议进行交换的消息结构(如图1所示)。这种框架独立于任何一种特定的编程模型和其他特定实现的语义。
  
  2 基于XML的企业间信息集成框架
  
  2.1整体解决方案
  系统在整体结构上采用“数据交换中心”的思想来解决不同企业应用系统之间的协同问题。通过采用统一的数据交换标准,使各应用系统与数据交换中心相连,利用数据交换中心来实现数据共享和路由。由于隔离了数据存储层和应用层,应用与其底层的数据结构和存储方式无关,从而不需要对原有业务系统进行改造,也不需要对已有的业务流程重新开发。这种连接方式实现了数据的无缝集成和共享访问,既保证了各业务系统的有效协同,同时又保证了各应用系统的相互独立性和低耦合性,从整体上提高了系统运作的高效性和安全性。
  基于数据安全性、系统性能、系统扩展性和实施难度等方面的考虑,整个体系结构在物理拓扑上采用星型结构(如图2所示)。
  根据以上拓扑结构,结合异构数据交换需求和现有技术的可行性,考虑采用基于Web服务的数据交换模式来实现异构数据集成。基于Web服务的数据交换模式独立于所有的参与者,可以很好地实现数据的实时性和完整性,能更好地屏蔽企业的内部数据(具体的数据处理由企业的业务逻辑来决定)。更重要的是,它是一种高度松散耦合的交换方式,参与数据交换的任何一方修改了其业务逻辑或数据格式,所影响的只是它本身,共享的方法屏蔽了所有的外部改变。
  


  
  2.2框架结构
  数据交换中心之所以能够交换基于不同操作平台和数据库的数据,主要得益于其对信息的统一表示、完整的消息服务能力以及功能完备的交换平台软件系统。信息的统一表示依靠元语言标准、信息标准、元数据标准、显示标准、解析标准、转换标准和封装标准来保证。完整的消息服务能力依靠信息的统一封装、统一编址、信息的可靠性传输、路由管理等技术手段实现。交换平台软件系统一般采用基于基础/中心数据库的数据交换、消息中间件服务器等技术方式。
  以下给出该数据交换中心节点及企业终端节点的框架结构(如图3所示),并对各模块功能予以说明。
  (1)数据操作引擎:它是负责接收和发送XML数据的平台。实现接收功能的部分实际上是一些监听组件,监听并接收来自数据交换节点传入的数据;实现发送功能的部分是通过各种传输协议来把XML数据发送到指定目标地址。
  (2)XML解析器:主要完成XML模式的确认,即测试文档是否符合施加到其文档类型之上的约束条件。分析该XML文档的语法和格式是否正确,以确保在传输过程中没有数据丢失和错误。分析企业所用的Schema是否和交换中心使用的Schema一致,如果不一致,则需要进行映射处理。
  (3)XML映射器:当企业所用的Schema和交换中心使用的Schema不一致的时候,将用到该功能模块。它首先检查是否有相应的XSLT(可扩展样式表语言)文件。如果有,则直接按该文件的规则把企业的XML转换为标准格式的XML文件;如果没有,则从企业用的Schema中提取出对应的数据格式和数据类型以及字段名,根据业务规则把标准Schema中对应的数据格式、数据类型以及字段名一一映射,系统将按此生成一个XSLT文件并用此文件进行映射。
  以企业间完成一次数据交换为例,XML解析器与XML映射器进行的数据解析过程描述如下。
  步骤1:XML检查器首先检查在数据交换中心服务器上是否有发送方所发送数据类型的Schema文件。如果没有,就提取传入数据的Schema并将此Schema作为发送方对所传送数据 类型的Schema,并转入第3步。
  步骤2:如果有,则用该Schema来检查接收到的XML文档是否符合该Schema所规定的结构。如果不符合,则认为发送方的数据结构发生了变化,提取传入数据的Schema并将此Schema作为发送方对所传送数据类型的Schema。
  步骤3:检查数据交换中心服务器端是否有该数据类型的通用Schema。如果没有,则将发送方的Schema作为该数据类型的通用Schema,并转入第5步。
  步骤4:如果有,则检查通用Schema和发送方的Schema是否一致。如果一致,则转入第5步;如果不一致,则检查是否有相应的XSLT文件。如果有,就用该XSLT文档将接收到的XML文档转化为通用的格式;如果没有相应的XSLT,则需要用XML文档的映射器生成一个XSLT文档,再用该XSLT将接收到的XML文档转化为通用的格式。
  步骤5:检查接收方在服务器端是否有所要交互数据类型的Schema文档。如果没有,则以通用Schema作为接收方的Schema文档,并进行后续处理。如果有,就检查该Schema是否和通用的Schema一致。若一致就进行后续处理,不一致就检查是否有相应的XSLT文件。如果有,就用该XSLT文档将通用的XML文档转化为符合接收方Schema的格式;如果没有相应的XSLT,则需要用XML文档的映射器生成一个XSLT文档,将通用的XML文档转化为符合接收方Schema的格式。
  (4)XML-based转换器:主要完成XML数据模式与其它相应数据模式(关系模式、HTML文档、文本文件等)的转换。
  利用XML文档作为中间文件的数据集成,必须实现数据库和XML文档之间的双向转换。两者转换的实质是,XML文档中的数据(可以是内容、属性值、元素名等)与关系模式中字段的映射,XML文档中数据的相互位置的关系与关系模式中元组与元组的关系及元组与字段的关系的映射。本文采用模型驱动方法实现相互映射,它将XML文档中的数据视为特定的对象树模型。在这个模型中,元素及其类型、元素内容或混合内容(复合元素类型)通常被视为类,只具有文本内容的元素(简单元素类型)、属性以及文本都被当作简单属性,然后借助于传统的对象一关系映射技术将XML文档映射成关系数据库。
  (5)XML-based封装器:把经过处理后得到的数据按一定的规则转化为XML文件,并将该XML采用SOAP格式进行封装。
  (6)数据处理器:直接与数据库及其他信息系统进行交互。
  
  3 实现
  
  针对该系统的特点,采用如下的开发环境。
  应用服务器采用Apache组织的Tomcat。Tomcat在本应用系统中有两个作用:其一是作为企业内部MIS系统的Web服务器,其二是提供Web Service功能。
  开发工具选择Java进行应用系统的开发。Java需要另外的开发包支持,这里选的是JWSDP,它内部已经整合了开发Web Service及客户端的工具。
  开发平台选用Windows系统。基于Java优秀的跨平台性,Web Service也能很方便地部署到其他的操作平台。
  
  4 结束语
  
  通过对当前各种数据集成策略的比较,以及对XML技术、Web服务技术的研究,本文提出了基于XML的异构数据集成框架,并对其内部结构进行了详细说明。该框架采用星型拓扑结构,便于对数据集中管理,实施时可以在数据交换中心制定一套统一的安全管理策略。数据交换发生在中心节点上,该节点接收来自各个企业的数据,解析接收到的数据并按数据交换目的地所识别的格式进行转换,然后发送到目的地。通过数据交换中心节点,可以在数据源和目的地之间建立一个透明的安全数据通道。
其他文献
摘要:分析了颜色的混合叠加原理,讨论了在Photoshop中通过通道技术来实现混色原理在RGB、CMYK,LAB图形模式下的应用。  关键词:原色;混色;通道;明度    0、引 言     美术离不开颜色的调制,电视机、计算机等电子产品也离不开颜色处理,颜色是图像处理的一个重要部分。所谓的三原色理论,就是指使用三种基本的颜色红、绿,蓝(这三种基本的颜色不能被其他几种颜色混合出来)可以混合成其他所
期刊
摘要:设计了B/S模式下的武汉城市圈地理信息系统。以C#.NET为基本开发环境,结合MapGIS-IMS初步开发出武汉城市圈地理信息系统,实现了城市圈空间信息浏览、空间信息查询和交通网络分析等基本功能,提供了城市圈城市地理专题服务平台。  关键词:MapGIS-IMS;地理信息系统;城市圈;网络分析    0、引 言     武汉城市圈是指以武汉为圆心,周边100公里范围内的鄂州、黄石、黄冈、孝感
期刊
摘要:决策支持系统涉及动态生成图表的问题,而在B/S模式下,如何动态生成图表并打印一直是个难点。OWC组件在B/S下能很好地实现动态生成图表和报表打印等功能。文章着重讨论了OWC组件在基于B/S的决策支持系统中的应用,通过分析实例代码详细介绍了利用该组件的OWC.chart对象在服务器端生成各种复杂的动态图表的方法与过程。  关键词:OWC(Office Web Components);ChCha
期刊
摘要:表单是实现用户交互式访问Web网页的界面,向表单添加JavaScript,可以增加表单的动态交互性、验证用户输入的数据等。文章介绍了利用JavaScript语言来验证表单数据的一种通用方案,并通过一个示例描述了这种通用方案的实际应用。  关键词:JavaScript;客户端;验证;表单;方案    注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
期刊
摘要:为了提高J2EE多层架构中持久化层的多实体数据检索效率和批量数据操作的能力,提出了基于Hibernate和IBatis框架的混合持久化技术。  关键词:Hibemate;IBatis;混合;持久化    注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
期刊
摘要:在高校一卡通系统中,各子业务系统的数据库、操作平台等的异构性,使得各系统之间数据共享和交互协作成为目前高校一卡通迫切需要解决的问题。为了解决此问题,将Multi-Agent引入异构数据库集成系统中,利用XML对Agent之间的通信语言KQML进行封装,设计了一个完善的高校一卡通系统异构数据库集成方案。  关键词:一卡通;Multi-Agent;XML;KQML    注:本文中所涉及到的图表
期刊
摘要:近年来随着计算机技术广泛应用于3D游戏、三维重建等领域,如何通过适当的shader模型去更加真实地表现现实世界的各种光影效果成了研究的热点。现在比较流行的4种shader模型为:①固定着色模型;②平面着色模型;③Gouraud着色模型;④phong着色模型。文章对这些模型进行了介绍,强调了各种模型的适用场合并对比了4种模型的优劣,最后探讨了着色模型的发展方向。  关键词:着色模型;光照计算;
期刊
摘要:Ad Hoc网络的安全性是当前网络安全问题的研究热点,建立合理的信任管理模型是Ad Hoc网络安全的首要问题。文章分析了Ad Hoc网络的特点和它所面临的安全挑战,引入信任管理的概念,给出了一种新颖的基于主观信任的Ad Hoe网络信任管理模型。为建立安全的Ad Hoc网络提供了新的解决方法。  关键词:Ad HOC;信任;信任管理;模型
期刊
摘要:简要介绍了Rational统一过程(RUP)、极限编程(XP)和模式,并就模式在RUP和XP中的应用进行了分析和比较  关键词:软件过程:模式:RUP XP    0 引言    软件过程是软件工程的基础。软件过程是由一系列的项目的阶段、方法、技术和实践组成,人们利用它们来开发、维护软件和相关的产物(artifacts)。一个有效的软件过程能够增强一个组织的软件生产力。在当今众多的软件过程中
期刊
摘要:针对工业生产监控的特殊要求,设计了基于博弈论的无线传感器网络Medium Access Control协议——Game-MAC。无线传感器网络在工业自动化测控中,对安全性、稳定性、可靠性和数据传输实时性比常规的自然环境监测有更高的要求。Game-MAc针对监控数据要求的实时性,通过博弈获取数据发送的优先级;另外,每个节点采用了两套收/发模块。将控制和数据分离,提高了吞吐量。  关键词:无线传
期刊