陈万顺 许斗
(芜湖职业技术学院信息工程系,安徽 芜湖 241001)
远程教育(Remote Education)是随着现代教育的需要和现代通信技术的发展,特别是Internet的出现和Web技术的发展而迅速发展的一个领域。Web汇集了各种各样的网络资源和交互式多媒体信息,它的多平台交互和多媒体功能为远程教学提供了新的教学环境和教学手段。通过远程教学系统与Internet的连接,人们可以在全球范围内实现信息交流,资源共享,科技合作和远程学习,从而促进了科研和教育事业的迅速发展[1]。
传统的基于Web的远程教学系统依靠HTML来表示和交换信息,由于HTML的语法是面向网页显示样式的,文档本身不含数据的类型和结构信息,使得系统在实现时存在一些弊病:1.不利于教育资源描述的标准化。HTML中的标签是对显示样式的描述,不能反映任何有关数据的意义或类型的信息,因此无法提供一套标准化的资源描述方法。2.显示形式不灵活。HTML对显示形式的描述是单一的,无法根据需要做到对同一个文档呈现不同的显示效果或显示不同的内容。3.不便于进行数据处理。由于HTML文档仅仅是对显示形式的描述,自身不含数据信息,在客户端直接处理数据的难度较大,因此在传统的Browser/Server或Client/Server结构中大量的数据运算放在服务器端运行,客户端仅仅起浏览作用。这就使得在服务器和客户端之间的负载不均衡,形成所谓”胖服务器”和”瘦客户”。另外,大量客户端的数据送往服务器处理也大大增加数据传送流量,加重了网络的通信负担。
而XML面向数据描述的特点为解决以上问题提供了有效手段。作者所在的研究小组近日实现了一个使用XML及相关技术,基于Web的远程教学系统模型。在此模型中,我们用XML文档作为数据表示和传送的基本格式,利用相关技术针对以上问题进行了一些优化处理。
可扩展标识语言XML(Extensible Markup Language)[2]是标准通用标识语言SGML(Standard Generic Markup Language) 的一个子集。XML因其简单性、可扩展性、自描述性和互操作性等特点,成为Internet上继HTML之后一种新的数据表示和交换标准,并呈现出逐步取代HTML的趋势[3]。XML对HTML最大的改进之处在于,HTML面向显示地描述网页结构而XML是面向数据的。XML文档包含了数据的结构信息,语义信息以及内容信息,其良好的数据格式使其适应于各种类型的数据。
XML采用数据与显示分离的描述方法,XML文档的显示可以采用XSL(Extensible Style-sheet Language),CSS等形式编写的样式单描述,XML文档与样式单之间可以有多种对应关系,以满足多种显示需要。
除用于显示之外,XML文档还可以方便地用于其他应用目的。由于XML文档是对数据的结构、语义和内容的描述,使得工作站在得到XML文档的同时也就得到了数据本身,对数据的大量操作可以方便地在本地实现。XML的设计既考虑了实现的方便性,同时也顾及了与SGML和HTML的互操作性。利用XML语言来处理远程教学网上资源可以具有极高的适应性与灵活性,以应付复杂多变的资源数据形式和应用。
XML文档所关注的是对内容的描述,不直接在浏览器中显示。要在浏览器中显示XML文档,需要使用样式单(Style Sheet)。可扩展样式单语言 XSL(Extensible Style-sheet Language)[4]是专门针对XML提出的一种样式单标准,它采用的是一种转换的思想,将一种不含显示信息的XML文档转换为另一种可以用某种浏览器浏览的文档,转换后的输出码或者存为一个新的文档,或者暂存于内存中,但都不修改源代码。XSL根据XML的语法进行定义,实际上又是XML的一种应用,分为两个部分:第一部分XSLT负责将XML的源代码转换为另一种格式;第二部分XSL-FO提供大量的格式化命令,可用来配合印刷或屏幕显示,精确地设定外观样式格式,这是一种独立于设备的格式。
XML文档与样式单之间可以是一对一、一对多、多对一和多对多的关系,这使得XML的显示形式丰富,手段灵活[5]。在远程教学系统中合理使用样式单可以较好地满足各种显示需要。
文档对象模型DOM (Document Object Model)[6]提供了操作XML文档所含信息的标准方法。它将一个XML文档转换成一个对象集合,定义了一组与平台和语言无关的接口,以便程序和脚本能够动态访问和修改存储在内存中的XML文档内容、结构及样式。
DOM把XML文档看成是一个有结构的信息树,而不是简单的文本流。这样应用程序或者脚本即使不知道XML的语义细节也能够方便的操作该结构。DOM包含两个重要概念:一是树状的层次结构,二是用来表示文档内容和结构的节点集合。树状层次结构包括了所有节点。节点可以有很多具体的类型,比如元素、属性和文本等,节点本身也可以包含其他的节点。用户可以通过这个层次结构来查找并修改相应节点的信息。DOM把节点看成是一个通常的对象,这样就可以通过脚本来装载一个XML文档,然后遍历所有的节点,显示和操作感兴趣的节点信息。通过对DOM树的操作,客户端可以在本地方便地处理XML文档所包含的数据,以适应远程教学的具体需要。
远程教育资源在各自的信息结构、存储组织、发布方式、检索方法、查询约束条件等各方面多存在很大的差异。随着远程教育的不断发展和日益普及,对远程教育资源标准化的要求日益迫切。HTML面向显示格式的描述使其无法表达数据的意义,因而无法实现对教育资源的标准化描述。下面的清单是一个远程测试系统中使用HTML表示的Web页面的一部分,描述了一道单项选择题的显示方式,但其标记并不能反映有关数据的结构和意义。
而XML提供了描述数据的结构信息,语义信息以及内容信息的标准化的手段,利用它们可以定义需要的标记,或者使用其他组织定义的最适合需要的标记组。由于XML定义的只是一套标记,所以标准的改变不会涉及到资源的具体的结构,使用它来完成资源的描叙可以做到很灵活的转变和更改。下面的清单是在一个XML文档对于同一数据的描述部分,XML文档本身并没有描述数据的显示方式,而是通过其语法提供的标记、属性等手段描述了数据的结构信息,语义信息以及内容信息,可以更广泛地适合包括显示在内的多种应用。因此,使用XML提供一套标准的资源描叙方法的同时也解决了信息查询、提取、发布等应用的标准化问题。
HTML是面向显示的,一个HTML文件决定了其惟一的显示样式,因而无法适应对同一信息的不同显示要求。例如在远程教学中要求将同一份讲义在教师的计算机上显示出详细内容,而在学生的计算机中仅显示大纲,则服务器需要分别形成两个HTML文件。图1显示的是服务器分别向教师和学生的工作站传送不同的HTML文件以适应对同一信息内容的不同显示要求。
图1 用不同的HTML文件满足不同的显示要求
由于XML采用数据与显示分开描述的方法,使用样式单来描述数据的显示方式。因此对于同一个XML文件,通过识别用户身份,结合不同的样式单,在浏览器中便会呈现不同的显示效果。如图2所示,针对上述要求,服务器仅需形成一个XML文件,在客户端结合现成的不同样式单便可呈现出不同的显示样式,从而减轻服务器的工作量。
图2 用相同的XML文件满足不同的显示要求
当包含数据信息的XML文档传到客户端后,在客户端可以将其形成一棵DOM树存放在内存中。通过DOM提供的操作XML数据的一组通用接口,用户可以方便地在本地实现对XML文档中节点的显示、查询、添加、删除、修改、统计等操作。因此可以将传统远程教学系统中一些需在服务器端运行的程序分布到客户端运行,从而达到均衡网络负载,提高服务器效率的目的。例如,在远程测试系统中,服务器从试题库中将题目和正确答案组织成一个XML文档传送到客户端。该XML文档在客户端以DOM树的形式存放在内存中,通过与相应样式单的结合使得考生只能看到试题部分而无法看到答案。考生完成答题后,因为正确答案已经存放在内存的DOM树中,客户端可以通过对DOM树的操作自行完成评分和纠错工作,而无须再将答案提交服务器处理。其工作模型如图3所示。
图3 利用XML均衡网络负载
如前所述,HTML文档本身不含数据信息,因此在很多场合下,数据需从客户端传送至服务器处理,处理的结果再由服务器传送给客户端。而XML面向数据的特点使得数据无论在服务器端还是在客户端均可以被方便地处理。在远程教学系统中通过对任务的合理安排使得大量数据无须在处理过程中被频繁传送,从而减少网络数据流量,提高系统效率。仍以图3为例,在一个传统的使用HTML技术的远程测试系统中,一次测试过程通常至少需要四次数据传送过程:客户端向服务器发出测试请求,服务器组题后向客户端发送测试题目,考生答题完毕后客户端向服务器提交答案,服务器经阅卷处理后向客户端发送成绩和纠错结果。而在图3所示的模型中,使用XML技术可以将传送过程减少到两次。需要说明的是,正因为HTML面向显示描述的特点,使得服务器在传送试题时不可以将答案同时传送,否则考生能够通过相应的手段如”View Source File”等查看到答案。而XML文档在客户端可以以DOM树的形式隐藏在内存中,仅通过样式单将需要显示的内容显示出来。因此考生无法通过一些通常的手段看到答案部分。
XML因其良好的数据组织结构和可扩展的特性,在各个领域中得以日益普及并成为研究的焦点。在上述基于Web的远程教学模型中,我们通过运用XML的技术对教育资源描述的标准化,优化显示方式,均衡网络负载和减少网络数据流量等方面的应用进行了探讨。结果证明,XML技术在上述领域均有良好表现。如何结合XML面向数据的特点,更加广泛和全面地发掘XML的优势以改进和优化各项基于Web的应用是我们进一步的研究任务。
[1]Geoffrey C Fox,Portals for Web Based Education and Computational Science[C].http://citeseer.nj.nec.com/399397.html.
[2]Extensible Markup Language(XML)1.0(Fifth Edition)[S].W3C Recommendation 26 November 2008,http://www.w3.org/TR/REC-xml.
[3]J.Widom.Data Management for XML:Research Directions[C].IEEE Data Engineering Bulletin,Special Issue on XML,22(3):44-52,Sept.1999.
[4]Extensible Stylesheet Language(XSL)Version 1.1[S].W3C Recommendation 05 December 2006,http://www.w3.org/TR/xsl/.
[5]许斗,陈恩红.用XML表示和发布图文混合信息[J].计算机应用研究,2001,18(11):29-31.
[6]Document Object Model(DOM)Level 3 Core Specification[S].W3C Recommendation 07 April 2004.http://www.w3.org/DOM/DOMTR.html.