当前位置:首页 > 智能硬件 > 智能硬件
[导读]摘要可扩展标志语言(简称XML)在实现信息标准化、信息的交流与共享上有其独特的技术优势,因此它受到了广泛的重视。全文首先提出了基于XML的三层Client/Server模型;然后对其从数据获取、传输至显示以及外部处理的应

摘要可扩展标志语言(简称XML)在实现信息标准化、信息的交流与共享上有其独特的技术优势,因此它受到了广泛的重视。全文首先提出了基于XML的三层Client/Server模型;然后对其从数据获取、传输至显示以及外部处理的应用进行分析;接着以图书资料管理系统为例,说明了其具体的实现;最后对基于XML的三层C/S模型在信息标准化、数据处理等方面的应用优势进行了总结。

关键词XML,Client/Server模型 三层结构模型

1.问题的提出

可扩展的标记语言 (Extensible Markup Language,缩写为XML)是SGML (Standard Generalized Markup Language,标准通用标记语言)的一个子集,是简化的SGML。它是互联网联合组织(W3C)创建一组规范,以便于软件开发人员和内容创作者在网页上组织信息,其目的不仅在于满足不断增长的网络应用需求,而且也在于确保在通过网络进行交互合作时,具有良好的可靠性与互操作性。

随着Web技术、分布式对象技术两者的有机结合,传统的Client/Server主从结构逐渐向灵活的多级分布式Web计算模型进行着演变。多级分布式Web体系结构可划分为三层:表示层(客户机层)、功能层(应用服务器层)、数据层(数据库服务器层)。

而由于XML可以自定义文件类型,有利于信息的表达和结构化组织,而且可以以一致的方式格式化和传送数据,若将其运用到三层Client/Server模型中,必将产生很大的网络应用优势。于是也就引出了本文讨论的问题--基于XML的三层C/S模型。

2.基于XML的三层C/S模型

从网络体系结构各层次上看,基于XML的三层C/S模型具体实现的功能概括如下:

数据层--实现数据的集成,XML数据产生于多种数据源,但都以统一的XML格式表达传输。

功能层--实现数据的发送与处理,应用服务器通过HTTP交换数据,通过DOM处理XML数据。

表示层--实现数据的显示,XML数据的可以有多种表现形式,而且可以为外部直接访问、编辑或转换,也可被其他系统所用。

基于XML的三层Client/Server模型的应用结构如图一所示:

在基于XML的三层C/S模型中把XML作为一种结构化信息交换的表示方法,负责所有与数据源的通信,根据最终用户的要求,聚集和组织从多个远程数据库服务器上获取数据,并用XML形式交互式的把数据源返回的消息传递给客户机。

以下是对基于XML的三层C/S模型应用过程的分析:

2.1从数据层获取数据生成XML文档

由于XML能够使不同来源的结构化的数据很容易的结合在一起,所以通过XML,可以在中间层服务器上对从后端数据库和其它应用处来的数据进行集成。然后,数据就能被发送到客户或其他服务器做进一步的集合、处理和分发。

虽然每个数据库描述数据都是不同的,但XML可以自己定义文件标签,例如:通过XML,图书管理资料就可以很容易以标准的方式按照书名、作者、图书简介或其他的标准进行分类。

2.2 XML数据的发送与刷新

利用XML开放的、基于文本的格式,可以将它通过HTTP像HTML一样传送。同时,中间层应用服务器将支持XML更新功能,将数据服务器上数据的变化及时地传递给客户,反之亦然。因此,中间层能够从客户端得到更新的数据,并把数据传送到数据储存服务器上。

2.3 XML数据在表示层的显示

XML描述的数据发到表示层后,能够用多种方式显示。XML定义的数据,其显示与内容是分开的,因此允许对同一数据指定不同的显示方式,使数据更合理地表现出来。CSS和XSL为数据的显示提供了公布的机制,本地的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来。如图二所示:

HTML描述数据的外观,而XML描述数据本身。由于XML注重的是内容,其显示要通过XSL(eXtensible Stylesheet Language,可扩展样式语言)或CSS来实现。XSL是为XML文件定义的一种标识语言,它提供类似但却远远超过CSS的强大功能。

XSL以包含了一套元素集的XML语法规范而定义,该语法规范将被用来把XML文件转换成HTML文件或XML文档。一个XSL样式表集合了一系列设计规则以用于将信息从XML文件中汲取出,并将其转换成HTML等其它格式。XSL凭借其可扩展性能够控制无穷无尽的标签,而控制每个标签的方式也是无穷尽的。这就给Web提供了高级的布局特性。

2.4 处理和编辑XML数据

在基于XML的C/S模型中,不但能够通过XML集合多个数据源的数据,并把数据源数据及时传输给表示层,而且,只要能理解XML数据,就能从客户层处理和编辑中间层的数据,然后通过中间层与数据层之间的数据刷新机制,对数据层数据进行刷新。

运用XML解析器能够读入一串XML数据,经过处理,产生一棵结构树,并且使用DOM把所有数据元素作为对象。解析器或者用脚本把数据进行进一步的处理,或者把数据移交给另外的应用软件或对象进行进一步的处理。

DOM实际上是一个应用编程接口(API),用来定义一种标准方法。通过这种方法,能够处理XML结构树的元素。对象模式控制着使用者如何同结构树交流,并且把所有树的元素作为对象暴露出来。DOM用扩展方式支持名域、数据类型、查询和XSL转化。

3. 基于XML的三层C/S模型的应用实例

下面具体介绍如何实现基于XML的三层C/S模型,以我们做所过的三层C/S 模式的图书资料管理为例,它是基于XML表达、传输与处理的,其详细实现如下:

3.1 获取数据生成XML文档

中间层通过XML获取数据源数据,生成XML文档,其中每一的书目信息包括:书名、作者、图书简介、出版日期。下面所列的就是获取数据源的一段典型例程。

<%@ LANGUAGE=VBScript %>

<? XML VERSION="1.0" encoding="GB2312" ?>

<图书资料管理>

<%Set Connection=Server.CreateObject("ADODB.Connection")

Connection.Open

Set ItemRecordset =Connection.Execute("select * from item ")

Do while Not ItemRecordset.EOF%>`

<书目>

<书名><%= ItemRecordset("书名") %></书名>

<作者><%= ItemRecordset("作者") %></作者>

<图书简介><%= ItemRecordset("图书简介") %></图书简介>

<出版日期><%= ItemRecordset("出版日期") %></出版日期>

</书目>

<%ItemRecordset.MoveNext

Loop%>

</图书资料管理>

3.2 XML文档通过HTTP从应用服务器传送到客户机层,并且支持XML更新功能,使得中间层或数据服务器上数据的变化可以传递给客户。

3.3 XML数据的在表示层(客户机层)的表达

发送到客户端的数据(图书资料管理数据),可以根据用户对象及其不同的应用要求有不同的显示形式。如下所示的XSL样式表,就是一个显示示例,将生成一个HTML文档,包括一个表格,其中的一行就为一个"书目"元素。

<xsl:template match="/">

<HTML>

<HEAD>

<TITLE>图书资料管理</TITLE>

</HEAD>

<BODY>

<TABLE>

<xsl:for-each select="图书资料管理">

<TR>

<xsl:for-each select="书目">

<TD>

<xsl:process-children/>

</TD>

</xsl:for-each>

</TR>

</xsl:for-each>

</TABLE>

</BODY>

</HTML>

</xsl:template>

3.4 编辑、处理数据的实现

只要理解了中间层XML文档的数据,就能从任何地方处理和编辑数据(图书资料管理数据)。

如下例所示,LoadDocument程序打开XML文档,然后调用另一个程序DisplayNode,它用来显示文档的结构。LoadDocument传递给正在打开的XML文档的ChildNodes属性一个引用作为它的参数,同时传递一个整数用来标示开始显示的层次级别。代码利用参数来格式化在Visual Basic文档结构显示窗口中的文本。

DisplayNode属性的函数会遍历文档寻找需要的NODE_TEXT节点类型串,一旦代码找到一个NODE_TEXT的节点,它会利用NodeValue属性来获得相应的文本串。另外,当前节点的ParentNode属性指向一个元素类型的节点。元素节点实现了一个NodeName属性,

Public Sub LoadDocument()

Dim xDoc As MSXML.DOMDocument

Set xDoc = New MSXML.DOMDocument

xDoc.validateOnParse = False

If xDoc.Load("C:My Documentssample.xml") Then

DisplayNode xDoc.childNodes, 0

Else

' The document failed to load.

End If

End Sub

Public Sub DisplayNode(ByRef Nodes As MSXML.IXMLDOMNodeList, _

ByVal Indent As Integer)

Dim xNode As MSXML.IXMLDOMNode

Indent = Indent + 2

For Each xNode In Nodes

If xNode.nodeType = NODE_TEXT Then

Debug.Print Space$(Indent) & xNode.parentNode.nodeName & _

":" & xNode.nodeValue

End If

If xNode.hasChildNodes Then

DisplayNode xNode.childNodes, Indent

End If

Next xNode

End Sub

4.总结

在基于XML的三层C/S模型中,中间层一次性从远程数据库中获取满足客户需求的信息,生成相应的XML文档,以后中间层就不需要再与远程数据库进行交互了,即与远程数据库的连接也就终止了。一旦中间件软件把满足客户需要的信息组装起来以后,就可以以XML 形式发送给客户了,这样客户与中间层也就无需进一步交互。

同时,丰富的XML数据发送给客户端后,客户应用和脚本语言就可以直接使用这些数据,这时客户端与中间层服务器之间连接就可以中止了。

因此,在C/S模型中发送给中间层的信息是简洁的、个人化的和精确的。应用服务器负责在正确的时候组装并交付正确的信息,这将网络上的流量减小并提供了高度的交互能力和用户的满意程度。而且,由于中间层可以提供动态的、易访问的内容,这些内容可以被客户方操作。而且,无需刷新整个用户界面就可以更新页面的内容,这样就减少了从服务器方获取客户方已有的信息所需的交互时间。用户可以方便的远程管理数据,使得网络成为一种具有更大的交互性和互操作性的媒体。

其次,运用基于XML的三层C/S模型,XML结构化的数据可以从商业规范和表现形式中分离出来,而且可以更详细地定义某个数据对象的数据结构,解决了信息标准化的问题。

通过在三层C/S模型使用XML,使得企业之间可以通过网络,与合作伙伴间,进行跨平台,跨操作系统的信息交换。

参考文献

[1] Hiroshi Maruyama ,Kent Tamura , Naohiko Uramoto .XML and Java Developing Web Applications[M]. Addison-Wesley, August 1999.

[2] Ed Tittel, Norbert Mikula , Ramesh Chandak . XML For DUMMIES [M]. IDG BOOKS Worldwide ,

Inc ,1999.

[3] 宋晓梁,刘东生,许满武. 中间件及其在三层客户机/服务器模型中的应用[N] . 计算机应用990713

ce="宋体">更多计算机与外设信息请关注21ic计算机与外设频道

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭