APP下载

构建基于Web/XML的信息集成研究

2009-06-16

消费导刊 2009年10期

胡 舟

[摘 要]在当前的网络信息时代,信息量不仅庞大而且源自于不同的数据源,信息集成一直是研究的热点。基于多代理(Multi-Agent)的信息资源集成方案有所 不足,而XML集成机制的优点,适于网络环境下基于XML的信息集成。

[关键词]XML 资源集成 DTD XSL Wrapper DOM

引言

随着计算机技术,特别是Internet的不断发展,实现"信息孤岛"之间的集成与交互成为亟待解决的问题。而XML技术则可以很好的解决这个问题。用XML进行数据集成,只需对所有的异构数据源增加一个以XML为格式的封装体,即在不改变数据源的前提下,用XML对数据源的定义描述字、数据源的创建等相关信息进行封装。供应链节点上所有数据源的封装体纳入全局的 XML Schema或DTD,并存储在XML虚拟服务器,为系统检索、定位提供服务。在XML的集成机制里,可以通过XML封装体实现彼此之间的数据交互,所以 不需要了解数据库的格式,从而弥补了基于多代理的集成方法在这方面的不足。下面首先概要介绍XML的相关技术,进而给出网络环境下的、基于XML的信息集成方案

一、XML技术

(一)XML相关标准

XML基础标准是为XML的进一步实用化制定的标准,它规定了采用XML制定标准时的一些公用特征、方法或规则。XML Schema描述了更加严格定义XML文档的方法,以便可以更自动地处理XML文档。XML Namespace用于保证XML DTD中名字的一致性,以便不同的DTD中的名字在需要时 可以合并到一个文档中。DOM定义了一组与平台和语言无关的接口,以便程序和脚本能够动态访问和修改XML文档内容、结构及样式。

(二)XML的主要技术特点

XML是一种元标记语言,强调以数据为核心,这两大特点在XML的众多技术特点中最为突出,同时也奠定了XML在信息管理中的优势。

XML是一种元标记语言与HTML不同,XML不是一种具体的标记语言,它没有固定的标记符号,是一种元标记语言,是一种用来定义标记的标记语言,它允许用户自己定义一套适于应用的DTD。

(三)DTD(Document Type Define,文档类型定义)

DTD的作用是定义允许或不允许什么在文档中出现。DTD的结构:一般由元素类型声明、属性表声明、实体声明、记号声明等构成。一个典型的文档类型定义文 件会把未来所要创作的XML文档的元素结构、属性类型、实体引用等预先进行规定。用户既可以直接在XML文档中定义DTD,也可以通过URL引用外部的 DTD。DTD位XML文档的编写者和处理者提供了共同遵循的原则,使得与文档相关的各种工作有了统一的标准。

二、基于XML的信息集成方案

(一)基于XML的信息集成的层次结构

整个信息集成可以分为三个层次:其中最底层为信息抽取层,中间为中介层,最上层为用户接口层。

1.信息抽取层

信息抽取层处于系统的最低层,是系统的数据提供者,主要功能是提取和集成分布在多个异构数据源(数据库,知识库及构件库)上的信息。这一层采用 Wrapper(包装器)技术实现将一个从中介层得到的查询,翻译成能在经过封装的数据源上执行的操作,将查询结果抽取并打包到一个XML文档,最后将该 文档返回给中介层。

2.中介层

中介层(Mediation Layer)的主要功能有两方面:一方面对上接受用户通过DOM客户端API向系统提交的或应用程序发出的查询,将其转换成对XML的查询,并将查询结果 返回给用户或应用程序;另一方面对下将XML查询分发给各个包装器,并将查询结果通过DTD说明再转换成XML格式。

3.用户接口层

用户接口层(User Interface Layer)在中介层之上,负责将用户的查询命令提交给中介层,获得并解释查询结果树,并将结果显示给用户。XML DOM(Document Object Model,文档对象模型)是为合法的格式良好的XML文档设计的一套API(Application Programming Interface,应用程序接口),它同时定义了这些文档的逻辑结构,访问及操作方法。由于数据显示与内容分开,XML定义的数据允许指定不同的显示方 式,使数据更合理的表现出来。本地的数据能够以客户配置,使用者选择或其他标准决定的方式动态的表现出来。CSS和XSL为数据的显示提供了公布的机制。

(二)基于XML的信息集成系统的设计

信息抽取层的Wrapper组件由两部分组成:Wrapper生成器和Wrapper实例(简称Wrapper)。如图4所示,一个Wrapper位于 中介层和一个数据源的中间,它通常为中介层查询异构信息源集合提供一个公共接口。每个Wrapper都要为某个特定的数据源制定相应的接口,这个功能是由 Wrapper生成器完成的。Wrapper生成器用于为查询某个确定的站点或站点集合构建Wrapper。Wrapper的输入是用一种Wrapper规范语言书写的规格说明,包 括关于将要为之生成的Wrapper的数据源的元信息,该元信息描述了如何从一个数据源请求服务以及如何抽取和解释从数据源返回的信息。规格说明还必须能 够表达以下内容:数据源接口、数据模型、从用户到数据源本地操作的查询映射、数据源的查询能力。

三、DOM客户端API的设计

DOM全称是Document Object Model,是一个文件对象所组成的模型。它不光用于XML,最早是用于HTML的。DOM定义了一组分析元可以显示的标准指令集,通过程序存取HTML或XML的内容,然后通过程序中的对象集合将其显示出来。

我们可以通过创建Document对象,使得应用程序得到对XML文档进行操作的入口。进一步通过直接加载XML文档把创建的这个文档对象同实际的XML文档关联起来。从而将XML文档转换成一个DOM对象模型,为上层提供访问服务。

下面的例子结合VBScript和XML DOM对象来生成XML数据:

</SCRIPT>

<html>

<head><title>利用DOM对象来生成XML数据</title></head>

<body>

<hr>

姓名:

<Input id=namel>

<br>

用户名:

<input id=id>

<br>

密码

<input type=“passwordid”=password>

<br>

电子邮件

<input id=email>

<Input type=Button id=domxml value=“生成XML数据”>

</body>

</html>

四、总结

Web环境下的异构数据源的集成,特别是基于XML的数据集成问题已经成为当前计算机领域中一个重要的研究方向。XML具有简单、开放、可扩展性、灵 活、自描述性等特点,给Internet注入了新的活力。作为数据表示的一个开放标准,XML为数据集成带来了新的机遇。用XML作为数据交换的中介,给 系统的实现带来了极大的灵活性。系统可以屏蔽掉后台的多种数据源,用统一的XML格式的数据呈现给用户。接收数据方根据XML数据的DTD可以对数据进行 任意的处理,如分解出其中需要处理的数据或是以不同的样式来显示。通过本系统,可以实现散布在Web上的异构数据源中的数据的无缝集成。