张银的博客


Eat to live, but do not live to eat.

导航

《XML基础教程与实验指导》 第10章 XML数据交换

Posted on 2009-04-14 11:53  张银  阅读(761)  评论(0编辑  收藏  举报

第10章  XML数据交换

  经过前面的学习,我们了掌握了如何描述、储存与解析XML。如果说XML仅仅是用来描述和储存数据的,那么人们就没有必要浪费那么的时间和精力来用在XML上,因为我们使用普通的文件一样也可以做到这一点。然而XML是一种简单、与平台无关并被广泛采用的标准,因此其最大威力在于能够承担起不同环境下应用程序之间数据交换的任务。

本章知识要点:
理解数据交换概念、数据交原理,知道数据交换类型
领会XML在数据交换中的重要地位
了解SQL Server 2000对XML的支持,会使用HTTP方式访问SQL Server 2000
重点掌握XML与关系数据库的数据交换

10.1  数据交换基本概念

  我们知道电子政务系统是构筑在各个政府部门的信息系统之上的,它把各个部门的数据库作为其共享的一部分。而我国政府的信息系统是在不同时期、由不同的公司、利用不同的工具、在不同的开发平台开发出来的,并且运行在不同的操作系统和不同的数据库平台之上,这就造成了一个个的“信息孤岛”。要建立跨各个政府部门的办公平台,实现异构系统之间、新老系统之间的信息的透明交换,就成了构建系统的基础工作。像这样要完成跨平台、跨系统、跨应用、跨地区之间的数据通信过程我们就称之为数据交换。

10.1.1  数据交换的类型

  从应用的角度来看,XML信息交换大体可分为三种类型:数据发布、数据集成和交易自动化。

10.1.2  数据存取机制

  作为一种数据存储与交换的模式,长期以来采用的是文件系统,至今仍被广泛采用。但是当今世界,技术发展迅猛,信息量也随之激增。的确很难想象,面对成千上万的数据文件,如果仅仅通过文件系统来管理的话,那么无论是文件的搜索还是文件的调用,诸如此类的管理工作都将是万分困难的。

10.2  XML与数据库

  随着Web技术的不断发展,信息共享和数据交换的范围不断扩大,传统的数据库也面临着巨大挑战。数据库技术的应用是建立在数据库管理系统基础之上的,各个数据库管理系统之间的异构性及其所依赖操作系统的异构性,严重限制了信息共享和数据交换的范围;此外,数据库技术的语义描述能力差,大多通过技术文档表示,很难实现数据语义的持久性和传递性,而数据交换和信息共享都是基于语义进行的,在异构应用数据交换时,不利于计算机基于语义自动进行正确数据的检索与应用;再者数据库属于高端应用,需要昂贵的价格和运行环境。随着网络和Internet的发展,数据交换的能力已成为新的应用系统的一个重要的要求,如果仅仅采用数据库定义数据,那么这一要求将很难达到。

10.2.1  XML与关系数据库

  关系数据库提供了对于大批量数据的有效存储管理和快速信息检索、查询的功能。从体系结构上看,数据库技术的发展历经了网络型数据库、层次型数据库、关系数据库、面向对象数据库。虽然面向对象数据库融入了面向对象技术,但是到目前为止,在各个领域使用最广的还是关系数据库。
gxsjk

10.2.2  XML与面向对象的数据库

  面向对象数据库源于计算机编程语言中的面向对象技术。同以往的结构化编程语言相比,面向对象技术提供了一种同现实世界更加贴切的表达方式,它利用封装技术将属性和方法集成于对象之中,并且借助继承和派生的概念将对象及其子对象紧紧联系在一起。面向对象技术体现了人类对生存于其中的世界的认知过程,而同数据库技术的结合,则又是一种在计算机应用领域的进步。面向对象数据库管理系统(OODBMS)使得文本、图像、视频和空间数据可以存储在数据库中,不过与关系数据库不同:在关系数据库中,数据仅仅是数据,它不包含层次结构信息;而面向对象数据库可以将数据视为对象,数据是作为一个整体,包含了属性和方法,并能体现数据间的继承关系。

10.2.3  SQL Server 2000对XML的支持

  SQL Server 2000宣称可以直接从数据库中取出XML数据,而不通过ADO2.5直接把数据以XML方式显示出来。这个功能极大的提高了构造分布式、数据集中的应用程序的性能,因为这个特性消除了不必要的中间代码层。

10.3  XML与SQL Server的数据交换

  在URL中执行的查询可以直接访问SQL Server 2000生成XML文档(也可以调用存储在Web服务器上的XML模版生成XML数据文件)。当然也可以中间程序来达到XML与SQL Server的数据交换,例如可以使用JAVA来解析XML文件并写入数据库,也可从数据库提取数据写入XML文件,再例如后面将要介绍的ADO,这些都能够实现XML与SQL Server的数据交换。

10.3.1  配置IIS服务器

  Windows 2000和Windows XP professional都可以安装IIS,不过首先必须有Windows2000或Windows XP prfessional的安装光盘。这里只给大家介绍一下在XP professional下面来配置IIS服务器,在2000下的操作类似。
zujianxiangdao

10.3.2  通过HTTP方式访问SQL Server

  在通过HTTP访问SQL Server 2000数据库之前,必须设置一个适当的虚拟目录。就是利用SQL Server工具集中的IIS虚拟目录管理器(在SQL Server Tools程序组中单击Configure SQL XML Support启动该工具),在运行IIS的机器上定义并注册一个新的虚拟目录。

10.4  使用HTTP访问数据库对象

  数据库对象就是数据库的组成部分,对于关系数据库来说表(table)、视图(View)、用户(User)等都是数据库对象,在使用中最常用的要数对表和视图的访问了。通过上一节可知,HTTP方式可以访问数据库,具体是指SQL Server 2000,在这一节里我们继续以SQL Server 2000为例来进一步介绍使用HTTP访问数据库对象。

10.5  使用ADO实现数据交换

  ADO(ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果希望编写的应用程序从SQL Server或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些就是由于使用了ADO代码的结果。

下载源码