首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> XMLWeb >> 正文

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

  中介层

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

  用户接口层

  用户接口层(User Interface Layer)在中介层之上,负责将用户的查询命令提交给中介层,获得并解释查询结果树,并将结果显示给用户。XML DOM(Document Object Model,文档对象模型)是为合法的格式良好的XML文档设计的一套API(Application Programming Interface,应用程序接口),它同时定义了这些文档的逻辑结构,访问及操作方法。由于数据显示与内容分开,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生成器完成的。

  图4 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)为例,他们与XML DTD之间的映射如下:

/*个人特性*/
Creat table Trait(
PersonID CHAR(3), Name CHAR(10),
BirthDate DATE, Address CHAR(30),
IdentifyId CHAR(18)
)

/*治疗信息*/
Creat table Treatment(
TreatID NUMBER(6,0),
Drugname CHAR(20),
TreatNote CHAR(50),
PersonID CHAR(3)
)

<!ELEMENT Trait(Name,BirthDate,Address,IdentifyId)>
<!ATTLIST Trait PersonID IDREF # REQUIRED>
<!ELEMENT Name(#PCDATA)>
<!ELEMENT BirthDate(#PCDATA)>
<!ELEMENT Address(#PCDATA)>
<!ELEMENT IdentifyID(#PCDATA)>
<!ELEMENT Treatment(Drugname*,TreatNote,PersonID)>
<!ATTLIST Treatment TreatID ID # REQUIRED>
<!ELEMENT Drugname (#PCDATA)>
<!ELEMENT TreatNote (#PCDATA)>
<!-This filerepresents a fragment of a telemedicine data-->

  在XML文档与数据库进行双向转化的过程中,除去最上层的根节点外,元素节点对应数据库中的表,属性和元素的类型对应表中的列,若一个元素节点为另一个元素节点的子节点,则用数据库中的主码和外部码建立表之间的关系。在上面的例子中,元素节点Trait和Treatment对应数据库中的表,而PersonID,Name等对应表中的列。由于节点Treatment为节点Trait的子节点,因此用PersonID与Trait建立关联。

  DOM客户端API的设计

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

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

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

<SCRIPT LANGUAGE=VBScript>
<!--
Sub dombml_OnClick()
Set dom_xml=CreateObject("Microsoft.XMLDOM")
dom_xml.async=False
dom_xml.loadXML"<?xml version='1.0'?>" &_
"<personalinfo>" &_
" <name> " & namel.Value &_
" </name> " &_
" <id> " & id.Value &_
" </id> " &_
" <password> " &password.Value &_
" </password> " &_
" <email> " &email.Value &_
" </email> " &_
"</persomalinfo>"
aler(dom_xml.XML)
End Sub
-->
</SCRIPT>
<html>
<head><title>利用DOM对象来生成XML数据</title></head>
<body>
<hr>
姓名:
<Input id=namel>
<br>
用户名:
<input id=id>
<br>
密码
<input type="password" id=password>
<br>
电子邮件
<input id=email>
<Input type=Button id=domxml value="生成XML数据">
</body>
</html>

  总结

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

上一页  [1] [2] 

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航