版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于XML的三层C/S模型 基于XML的三层C/S模型华中科技大学电信系 邓东华 杨宗凯 乐春晖摘要可扩展标志语言(简称XML)在实现信息标准化、信息的交流与共享上有其独特的技术优势,因此它受到了广泛的重视。全文首先提出了基于XML的三层Client/Server模型;然后对其从数据获取、传输至显示以及外部处理的应用进行分析;接着以图书资料管理系统为例,说明了其具体的实现;最后对基于XML的三层C/S模型在信息标准化、
2、数据处理等方面的应用优势进行了总结。关键词XML,Client/Server模型 三层结构模型1问题的提出可扩展的标记语言 (Extensible Markup Language,缩写为XML)是SGML (Standard Generalized Markup Language,标准通用标记语言)的一个子集,是简化的SGML。它是互联网联合组织(W3C)创建一组规范,以便于软件开发人员和内容创作者在网页上组织信息,其目的不仅在于满足不断增长的网络应用需求,而且也在于确保在通过网络进行交互合作时,具有良好的可靠性与互操作性。随着Web技术、分布式对象技术两者的有机结合,传统的Client/Se
3、rver主从结构逐渐向灵活的多级分布式Web计算模型进行着演变。多级分布式Web体系结构可划分为三层:表示层(客户机层)、功能层(应用服务器层)、数据层(数据库服务器层)。而由于XML可以自定义文件类型,有利于信息的表达和结构化组织,而且可以以一致的方式格式化和传送数据,若将其运用到三层Client/Server模型中,必将产生很大的网络应用优势。于是也就引出了本文讨论的问题-基于XML的三层C/S模型。2基于XML的三层C/S模型从网络体系结构各层次上看,基于XML的三层C/S模型具体实现的功能概括如下:数据层-实现数据的集成,XML数据产生于多种数据源,但都以统一的XML格式表达传输。功能
4、层-实现数据的发送与处理,应用服务器通过HTTP交换数据,通过DOM处理XML数据。表示层-实现数据的显示,XML数据的可以有多种表现形式,而且可以为外部直接访问、编辑或转换,也可被其他系统所用。基于XML的三层Client/Server模型的应用结构如图一所示:在基于XML的三层C/S模型中把XML作为一种结构化信息交换的表示方法,负责所有与数据源的通信,根据最终用户的要求,聚集和组织从多个远程数据库服务器上获取数据,并用XML形式交互式的把数据源返回的消息传递给客户机。以下是对基于XML的三层C/S模型应用过程的分析:2.1从数据层获取数据生成XML文档由于XML能够使不同来源的结构化的数
5、据很容易的结合在一起,所以通过XML,可以在中间层服务器上对从后端数据库和其它应用处来的数据进行集成。然后,数据就能被发送到客户或其他服务器做进一步的集合、处理和分发。虽然每个数据库描述数据都是不同的,但XML可以自己定义文件标签,例如:通过XML,图书管理资料就可以很容易以标准的方式按照书名、作者、图书简介或其他的标准进行分类。2.2 XML数据的发送与刷新利用XML开放的、基于文本的格式,可以将它通过HTTP像HTML一样传送。同时,中间层应用服务器将支持XML更新功能,将数据服务器上数据的变化及时地传递给客户,反之亦然。因此,中间层能够从客户端得到更新的数据,并把数据传送到数据储存服务器
6、上。2.3 XML数据在表示层的显示XML描述的数据发到表示层后,能够用多种方式显示。XML定义的数据,其显示与内容是分开的,因此允许对同一数据指定不同的显示方式,使数据更合理地表现出来。CSS和XSL为数据的显示提供了公布的机制,本地的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来。如图二所示:HTML描述数据的外观,而XML描述数据本身。由于XML注重的是内容,其显示要通过XSL(eXtensible Stylesheet Language,可扩展样式语言)或CSS来实现。XSL是为XML文件定义的一种标识语言,它提供类似但却远远超过CSS的强大功能。XSL以包含了一套元
7、素集的XML语法规范而定义,该语法规范将被用来把XML文件转换成HTML文件或XML文档。一个XSL样式表集合了一系列设计规则以用于将信息从XML文件中汲取出,并将其转换成HTML等其它格式。XSL凭借其可扩展性能够控制无穷无尽的标签,而控制每个标签的方式也是无穷尽的。这就给Web提供了高级的布局特性。2.4 处理和编辑XML数据在基于XML的C/S模型中,不但能够通过XML集合多个数据源的数据,并把数据源数据及时传输给表示层,而且,只要能理解XML数据,就能从客户层处理和编辑中间层的数据,然后通过中间层与数据层之间的数据刷新机制,对数据层数据进行刷新。运用XML解析器能够读入一串XML数据,
8、经过处理,产生一棵结构树,并且使用DOM把所有数据元素作为对象。解析器或者用脚本把数据进行进一步的处理,或者把数据移交给另外的应用软件或对象进行进一步的处理。DOM实际上是一个应用编程接口(API),用来定义一种标准方法。通过这种方法,能够处理XML结构树的元素。对象模式控制着使用者如何同结构树交流,并且把所有树的元素作为对象暴露出来。DOM用扩展方式支持名域、数据类型、查询和XSL转化。3. 基于XML的三层C/S模型的应用实例下面具体介绍如何实现基于XML的三层C/S模型,以我们做所过的三层C/S 模式的图书资料管理为例,它是基于XML表达、传输与处理的,其详细实现如下: 3.1 获取数据
9、生成XML文档中间层通过XML获取数据源数据,生成XML文档,其中每一的书目信息包括:书名、作者、图书简介、出版日期。下面所列的就是获取数据源的一段典型例程。<% LANGUAGE=VBScript %><? XML VERSION="1.0" encoding="GB2312" ?> <图书资料管理><%Set Connection=Server.CreateObject("ADODB.Connection")Connection.Open Set Ite
10、mRecordset =Connection.Execute("select * from item ")Do while Not ItemRecordset.EOF%>'<书目><书名><%= ItemRecordset("书名") %></书名><作者><%= ItemRecordset("作者") %></作者><图书简介><%= ItemRecordset("图书简介") %></
11、图书简介><出版日期><%= ItemRecordset("出版日期") %></出版日期></书目><%ItemRecordset.MoveNextLoop%></图书资料管理>3.2 XML文档通过HTTP从应用服务器传送到客户机层,并且支持XML更新功能,使得中间层或数据服务器上数据的变化可以传递给客户。3.3 XML数据的在表示层(客户机层)的表达发送到客户端的数据(图书资料管理数据),可以根据用户对象及其不同的应用要求有不同的显示形式。如下所示的XSL样式表,就是一个显示示例,将生成一个
12、HTML文档,包括一个表格,其中的一行就为一个"书目"元素。<xsl:template match="/"><HTML><HEAD><TITLE>图书资料管理</TITLE></HEAD><BODY><TABLE><xsl:for-each select="图书资料管理"><TR><xsl:for-each select="书目"><TD><xsl:process-c
13、hildren/></TD></xsl:for-each></TR></xsl:for-each></TABLE></BODY></HTML></xsl:template>3.4 编辑、处理数据的实现只要理解了中间层XML文档的数据,就能从任何地方处理和编辑数据(图书资料管理数据)。如下例所示,LoadDocument程序打开XML文档,然后调用另一个程序DisplayNode,它用来显示文档的结构。LoadDocument传递给正在打开的XML文档的ChildNodes属性一个引用作为它的参
14、数,同时传递一个整数用来标示开始显示的层次级别。代码利用参数来格式化在Visual Basic文档结构显示窗口中的文本。DisplayNode属性的函数会遍历文档寻找需要的NODE_TEXT节点类型串,一旦代码找到一个NODE_TEXT的节点,它会利用NodeValue属性来获得相应的文本串。另外,当前节点的ParentNode属性指向一个元素类型的节点。元素节点实现了一个NodeName属性,Public Sub LoadDocument()Dim xDoc As MSXML.DOMDocumentSet xDoc = New MSXML.DOMDocumentxDoc.validateOn
15、Parse = FalseIf xDoc.Load("C:/My Documents/sample.xml") ThenDisplayNode xDoc.childNodes, 0Else' The document failed to load.End IfEnd SubPublic Sub DisplayNode(ByRef Nodes As MSXML.IXMLDOMNodeList, _ByVal Indent As Integer)Dim xNode As MSXML.IXMLDOMNodeIndent = Indent + 2For Each xNode
16、 In NodesIf xNode.nodeType = NODE_TEXT ThenDebug.Print Space$(Indent) & xNode.parentNode.nodeName & _":" & xNode.nodeValueEnd IfIf xNode.hasChildNodes ThenDisplayNode xNode.childNodes, IndentEnd If Next xNodeEnd Sub4.总结在基于XML的三层C/S模型中,中间层一次性从远程数据库中获取满足客户需求的信息,生成相应的XML文档,以后中间层就不
17、需要再与远程数据库进行交互了,即与远程数据库的连接也就终止了。一旦中间件软件把满足客户需要的信息组装起来以后,就可以以XML 形式发送给客户了,这样客户与中间层也就无需进一步交互。同时,丰富的XML数据发送给客户端后,客户应用和脚本语言就可以直接使用这些数据,这时客户端与中间层服务器之间连接就可以中止了。因此,在C/S模型中发送给中间层的信息是简洁的、个人化的和精确的。应用服务器负责在正确的时候组装并交付正确的信息,这将网络上的流量减小并提供了高度的交互能力和用户的满意程度。而且,由于中间层可以提供动态的、易访问的内容,这些内容可以被客户方操作。而且,无需刷新整个用户界面就可以更新页面的内容,这样就减少了从服务器方获取客户方已有的信息所需的交互时间。用户可以方便的远程管理数据,使得网络成为一种具有更大的交互性和互操作性的媒体。 其次,运用基于XML的三层C/S模型,XML结构化的数据可以从商业规范和表现形式中分离出来,而且可以更详细地定义某个数据对象的数据结构,解决了信息标准化的问题。通过在三层C/S模型使用XML,使得企业之间可以通过网络,与合作伙伴间,进行跨平台,跨操作系统的信息交换。参考文献 1 Hiroshi Maruyama ,Kent Tamura , Naohi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 节能减排法律宣传资助合同
- 车辆服务合同的修改
- 定制商品采购合同
- 电力分包合同的法律风险与防范
- 养老机构服务合同问答
- 个人购车贷款资金额度借款合同
- 农村养牛合作合同样本
- 坯布订购合同送货详情
- 中介服务合同中的合同修改与补充
- 公司担保保证金协议
- 国标《电化学储能电站检修试验规程》
- 车辆救援及维修服务方案
- 三体读书分享
- 2024年内蒙古巴彦淖尔市交通投资集团有限公司招聘笔试参考题库含答案解析
- 2024年南平实业集团有限公司招聘笔试参考题库附带答案详解
- 咖啡学概论智慧树知到期末考试答案2024年
- (高清版)DZT 0217-2020 石油天然气储量估算规范
- 借助力学原理设计简易杠杆装置
- 深圳港口介绍
- 2024年执业医师考试-中医执业助理医师笔试历年真题荟萃含答案
- 2024年工贸行业安全知识考试题库500题(含答案)
评论
0/150
提交评论