


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅析:构建基于WebXML的信息集成
引言随着计算机技术,特别是Internet的不断发展,实现"信息孤岛"之间的集成与交互成为亟待解决的问题。在诸多解决方案中,基于多代理(Multi-Agent)的信息集成就是其中的一种。该系统已被认为是建造大型复杂分布式信息处理系统的重要技术和框架。在基于多代理的方法中,资源集成的具体操作步骤是:用户把请求提交给搜索代理,由搜索代理对请求进行适当的转换,发送给代理路由器;代理路由器通过链接,将查询请求发送给数据库代理;数据库代理接受查询请求,并进行具体的数据库操作,然后把查询结果返回给请求者;搜索代理对返回的结果进行识别,若存在所需的资源,则激活本地数据库代理,对获得的信息进行记录,由专家系统对所搜集的信息进行进一步的处理。这种方法有一个明显的缺陷,即必须明确数据库的格式,代理才能正常工作。而XML技术则可以很好的解决这个问题。用XML进行数据集成,只需对所有的异构数据源增加一个以XML为格式的封装体,即在不改变数据源的前提下,用XML对数据源的定义描述字、数据源的创建等相关信息进行封装。供应链节点上所有数据源的封装体纳入全局的XMLSchema或DTD,并存储在XML虚拟服务器,为系统检索、定位提供服务。在XML的集成机制里,可以通过XML封装体实现彼此之间的数据交互,所以不需要了解数据库的格式,从而弥补了基于多代理的集成方法在这方面的不足。下面首先概要介绍XML的相关技术,进而给出网络环境下的、基于XML的信息集成方案:包括系统的总体框图、层次结构、工作过程及系统主要组成部分的具体设计。XML技术1、XML相关标准XML不仅仅是一种语言,广义的XML是一系列标准的集合。图1说明了XML及其相关标准,在图中,中间一层是XML基础标准,最下层是XML的应用标准。XML基础标准是为XML的进一步实用化制定的标准,它规定了采用XML制定标准时的一些公用特征、方法或规则。XMLSchema描述了更加严格定义XML文档的方法,以便可以更自动地处理XML文档。XMLNamespace用于保证XMLDTD中名字的一致性,以便不同的DTD中的名字在需要时可以合并到一个文档中。DOM定义了一组与平台和语言无关的接口,以便程序和脚本能够动态访问和修改XML文档内容、结构及样式。XQuery的目的是为从Web文档中提取数据,提供一种灵活的查询机制。XPath描述如何识别、选择、匹配XML文件中的各个构成元件,包括元素、属性、文字内容等。XPointer和XLink标准,规定了有关定位、链接方面的内容。CSS被用来作为XML文档显示的样式标准等等。2、XML的主要技术特点XML是一种元标记语言,强调以数据为核心,这两大特点在XML的众多技术特点中最为突出,同时也奠定了XML在信息管理中的优势。XML是一种元标记语言与HTML不同,XML不是一种具体的标记语言,它没有固定的标记符号,是一种元标记语言,是一种用来定义标记的标记语言,它允许用户自己定义一套适于应用的DTD。XML的核心是数据在一个普通的文档里,往往混合有文档数据、文档结构、文档样式三个要素。而对于XML文档来说,数据是其核心。将样式与内容分离,是XML的巨大优点。一方面可以使应用程序轻松的从文档中寻找并提取有用的数据信息,而不会迷失在混乱的各类标签中;另一方面,由于内容与样式的独立,也可以为同一内容套用各种样式,使得显示方式更加丰富、快捷。3、DTD(DocumentTypeDefine,文档类型定义)DTD的作用是定义允许或不允许什么在文档中出现。DTD的结构:一般由元素类型声明、属性表声明、实体声明、记号声明等构成。一个典型的文档类型定义文件会把未来所要创作的XML文档的元素结构、属性类型、实体引用等预先进行规定。用户既可以直接在XML文档中定义DTD,也可以通过URL引用外部的DTD。DTD位XML文档的编写者和处理者提供了共同遵循的原则,使得与文档相关的各种工作有了统一的标准。基于XML的信息集成方案图2给出基于XML的信息集成的总体框图[1],是把来自供应链节点上的、不同数据源(数据库,构件库,领域知识库)的信息通过包装器(Wrapper)转换成XML数据,存储在虚拟集中存储器中,用户通过DOM/SAX来获取已经转换成XML格式的信息;同样,用户通过DOM/SAX接口提交的查询命令,通过包装器转换成本地数据源能够识别的数据格式进行查询。用户通过XML的封装体实现彼此之间的交互,而不需要了解对方的数据格式。2、基于XML的信息集成的层次结构如图3所示,整个信息集成可以分为三个层次:其中最底层为信息抽取层,中间为中介层,最上层为用户接口层。信息抽取层信息抽取层处于系统的最低层,是系统的数据提供者,主要功能是提取和集成分布在多个异构数据源(数据库,知识库及构件库)上的信息。这一层采用Wrapper(包装器)技术实现将一个从中介层得到的查询,翻译成能在经过封装的数据源上执行的操作,将查询结果抽取并打包到一个XML文档,最后将该文档返回给中介层。中介层中介层(MediationLayer)的主要功能有两方面:一方面对上接受用户通过DOM客户端API向系统提交的或应用程序发出的查询,将其转换成对XML的查询,并将查询结果返回给用户或应用程序;另一方面对下将XML查询分发给各个包装器,并将查询结果通过DTD说明再转换成XML格式。用户接口层用户接口层(UserInterfaceLayer)在中介层之上,负责将用户的查询命令提交给中介层,获得并解释查询结果树,并将结果显示给用户。XMLDOM(DocumentObjectModel,文档对象模型)是为合法的格式良好的XML文档设计的一套API(ApplicationProgrammingInterface,应用程序接口),它同时定义了这些文档的逻辑结构,访问及操作方法。由于数据显示与内容分开,XML定义的数据允许指定不同的显示方式,使数据更合理的表现出来。本地的数据能够以客户配置,使用者选择或其他标准决定的方式动态的表现出来。CSS和XSL为数据的显示提供了公布的机制。整个系统位于异构数据源和应用程序之间,向下协调各种数据源,向上为访问集成数据的应用提供了统一的模式和访问的通用接口。系统为异构数据源提供高层次的检索服务。3、基于XML的信息集成的工作过程下面以用户的一个信息查询为例,简要说明一下信息系统的工作过程:用户通过DOM向系统提交信息查询命令;虚拟集中存储器区分各个XML查询命令,并且将其发送到适当的Wrapper包装器上;Wrapper包装器负责将XML查询转换成本地数据源能识别的语言,并在数据源中进行查询;查询结果根据DTD说明在转换成XML格式并返回给虚拟集中存储器由虚拟集中存储器返回给DOM;通过DOM对XML文档的处理,结合XSL技术将查询结果显示给用户。4、基于XML的信息集成系统的设计根据基于XML的信息集成的层次结构,下面给出包装器Wrapper组件的设计。包装器Wrapper组件的设计信息抽取层的Wrapper组件由两部分组成:Wrapper生成器和Wrapper实例(简称Wrapper)。如图4所示,一个Wrapper位于中介层和一个数据源的中间,它通常为中介层查询异构信息源集合提供一个公共接口。每个Wrapper都要为某个特定的数据源制定相应的接口,这个功能是由Wrapper生成器完成的。Wrapper生成器用于为查询某个确定的站点或站点集合构建Wrapper。Wrapper的输入是用一种Wrapper规范语言书写的规格说明,包括关于将要为之生成的Wrapper的数据源的元信息,该元信息描述了如何从一个数据源请求服务以及如何抽取和解释从数据源返回的信息。规格说明还必须能够表达以下内容:数据源接口、数据模型、从用户到数据源本地操作的查询映射、数据源的查询能力。通常为一个数据源生成一个有效的Wrapper所必须的信息是使用DTD来描述的。Wrapper生成器的输出是一个可以执行的Wrapper,该Wrapper能够接受由Wrapper规范语言定义的查询。下面以数据库为例,给出对应的Wrapper相应的DTD:数据库一个关系Wrapper能决定关系模型和DOM对象数据模型之间的映射。关系表的数据模式可以用三层来表示,即表--记录--字段,因此可以很容易采用DTD来描述数据库中关系表的数据模式。下面以两个关系表Trait(PersonID,Name,BirthDate,Address,IdentifyId)及Treatment(TreatID,Drugname,TreatNote,PersonID)为例,他们与XMLDTD之间的映射如下:/*个人特性*/CreattableTrait(PersonIDCHAR(3),NameCHAR(10),BirthDateDATE,AddressCHAR(30),IdentifyIdCHAR(18))/*治疗信息*/CreattableTreatment(TreatIDNUMBER(6,0),DrugnameCHAR(20),TreatNoteCHAR(50),PersonIDCHAR(3))<!ELEMENTTrait(Name,BirthDate,Address,IdentifyId)><!ATTLISTTraitPersonIDIDREF#REQUIRED><!ELEMENTName(#PCDATA)><!ELEMENTBirthDate(#PCDATA)><!ELEMENTAddress(#PCDATA)><!ELEMENTIdentifyID(#PCDATA)><!ELEMENTTreatment(Drugname*,TreatNote,PersonID)><!ATTLISTTreatmentTreatIDID#REQUIRED><!ELEMENTDrugname(#PCDATA)><!ELEMENTTreatNote(#PCDATA)><!-Thisfilerepresentsafragmentofatelemedicinedata-->在XML文档与数据库进行双向转化的过程中,除去最上层的根节点外,元素节点对应数据库中的表,属性和元素的类型对应表中的列,若一个元素节点为另一个元素节点的子节点,则用数据库中的主码和外部码建立表之间的关系。在上面的例子中,元素节点Trait和Treatment对应数据库中的表,而PersonID,Name等对应表中的列。由于节点Treatment为节点Trait的子节点,因此用PersonID与Trait建立关联。DOM客户端API的设计DOM全称是DocumentObjectModel,是一个文件对象所组成的模型。它不光用于XML,最早是用于HTML的。DOM定义了一组分析元可以显示的标准指令集,通过程序存取HTML或XML的内容,然后通过程序中的对象集合将其显示出来。我们可以通过创建Document对象,使得应用程序得到对XML文档进行操作的入口。进一步通过直接加载XML文档把创建的这个文档对象同实际的XML文档关联起来。从而将XML文档转换成一个DOM对象模型,为上层提供访问服务。下面的例子结合VBScript和XMLDOM对象来生成XML数据:<SCRIPTLANGUAGE=VBScript><!--Subdombml_OnClick()Setdom_xml=CreateObject("Microsoft.XMLDOM")dom_xml.async=Falsedom_xml.loadXML"<?xmlversion='1.0'?>"&_"<personalinfo>"&_"<name>"&namel.Value&_"</name>"&_"<id>"&id.Value&_"</id>"&_"<password>"&password.Value&_"</password>"&_"<email>"&email.Value&_"</email>"&_"</persom
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年考研中国文学史古代文学模拟试题全解析
- 阿米巴管理培训
- 2025年注册消防工程师技术实务消防设施卷实战案例分析试题集
- 关注食品安全 共建和谐校园-学校饮食安全班会
- MySQL数据流处理技术试题及答案
- 备战2024年高考数学一轮复习(一隅三反基础版新高考专用)2-1 不等式的性质及一元二次不等式(精讲)(基础版)(解析版)
- 护理程序及应用
- 北师大版 (2019)第五章 复数 单元测试卷(含答案)
- 2025年广东省广州市七年级上学期期中英语试题汇编
- 2025年物流师职业技能鉴定模拟试卷:物流企业智慧物流技术应用试题
- 四川省攀枝花市2025届高三第三次统一考试地理试题及答案
- 安徽省皖南八校2025届高三下学期第三次联考物理试卷 含解析
- 安徽省部分高中2025届高考生物四模试卷含解析
- 2025-2030全球及中国燃气轮机服务行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030中国老年教育行业发展前景及发展策略与投资风险研究报告
- 初中学生安全教育课件
- 2025年下半年度云南云勤服务集团限责任公司高校毕业生公开招聘13人易考易错模拟试题(共500题)试卷后附参考答案
- 2024年延安通和电业有限责任公司招聘考试真题
- 2024年新人教版英语三年级上册 U6 A learn 教学课件
- 辽宁省点石联考2025届高三下学期5月联合考试 地理 含答案
- 项目平行分包协议书范本
评论
0/150
提交评论