(机械设计及理论专业论文)xml技术在网络作业考试系统中的应用及研究.pdf_第1页
(机械设计及理论专业论文)xml技术在网络作业考试系统中的应用及研究.pdf_第2页
(机械设计及理论专业论文)xml技术在网络作业考试系统中的应用及研究.pdf_第3页
(机械设计及理论专业论文)xml技术在网络作业考试系统中的应用及研究.pdf_第4页
(机械设计及理论专业论文)xml技术在网络作业考试系统中的应用及研究.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

x m l 技术在网络作业考试系统中的应用及研究 摘要 1 9 9 8 年应用在互联网领域的x m l 技术推出。随着计算机网络的 目益应用普及,x m l 技术也越来越被频繁地应用。x m l 具有简单性、 可扩展性和标准化性等特点,在本文研究的网络作业和考试系统中广 泛采用了x m l 技术,x m l 的相关技术一d o m 接口技术,以及基于x m l 技术的s o a p 协议技术。 网络作业和考试系统是国家“十五”国家科技攻关计划网 络教育关键技术及示范工程项目组下作业和考试管理工具课题中的 一个子系统。这个系统在整个课题组中处于一个非常重要和关键的地 位。该系统的研发成功对于整个网络教育关键技术及示范工程项目组 有重大的意义。 论文对目前使用的网络考试系统进行了调研,分析了现有网络考 试系统的系统构架。论文结合x m l 技术的发展,对网络考试系统应用 到的) ( 】i l l 技术的各个方面做了深入的研究和应用。同时在网络考试系 统中运用现代软件工程的思想对网络考试系统进行设计编码,服务器 端的设计符合s u n 公司的j 2 e e 规范,利用d a o 层对数据库信息进行 处理生成x m l 文件以及返回业务层所需数据。此外网络作业和考试系 统服务器端和客户端的数据通信采用基于x m l 技术的s o a p 协议技术。 论文描述了作者在网络作业考试系统d a o 层的设计和实现编码 中所做的工作。同时,对网络考试系统中应用到的) ( m l 技术的各个方 面做了深入的研究和应用。 关键词:网络考试远程教育x m l s o a pd o m a p pl i c a t i o na n dr e s e a r c ho fx m l i no n l l n ee x a ms y s t e m a b s t f 认c t x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) w h i c h i su s e di nt h ei n t e m e ti sp r o d u c e di n 19 9 8 w i t l lt h ep o p u l a r i z a t i o no fn e t w o r k , x m lt e c h n o l o g yi su s e df r e q u e n t l y x m l h a st h ec h a r a c t e r so fb r i e f n e s s ,e x t e n s i b l e ,s t a n d a r d i z a t i o n i nn l es y s t e mo fo n l i n e h o m e w o r ka n de x a mx m li su s e da b r o a d t h ee r e a t i o no fp a p e ru s et h ed o m i n t e r f a c et e c h n o l o g yr e l a t e dt ot h ex m l t e c h n o l o g y t h es e r v e ra n d c l i e n to fn e t w o r k e x b l l ls y s t e mu s et h es o a p p r o t o c o lb a s e d x m l t e c h n o l o g yt ot r a n s m i t i n f o r m a t l o u o n l i n ee x a m s y s t e m i sas u b s y s t e mo f t h eh o m e w o r ka n de x a m s y s t e m w l g c h i so n eo f t h es u b p m j e c t so f k e yt e c ha n dm o d e lp r o j e c to f i n t e r a c t - b a s e de d u c a t i o n a f t e rw i d e s u r v e y o f o n l i n ee x r n ls y s t e m sa n da n a l y z i n ga r c h i t e c t u r e so f o n l i n e e x a ms y s t e m sn o we x i s t s w ec o m b i n ex m l t e c h n o l o g yt or e s e a r c ha n da n a l y z e t h en e t w o r ke x 砒i 1s y s t e m t h ep a p e rd i s c u s sa n dr e s e a r c hx m l t e c h n o l o g yu s e di n t h en e t w o r ke x a ms y s t e md e e p l y ,a tt h es a m et i m eo n l i n ee x a ms y s t e m sd e s i g n b e n d st om o d e ms o f t w a r ee n g i n e e r i n g t h ed e s i g no fs e r v e rs i d ea c c o r d sw i t hj 2 e e c r i t e r i o n o n l i n ee x a ms y s t e m sd e s i g nb e n d st om o d e ms o f t w a r ee n g i n e e r i n g t h e d e s i g no f s e r v e rs i d ea c c o r d sw i t hj 2 e e c r i t e r i o n h o w e v e r ,t h ec l i e n ts i d ei sa n a l y z e d w i t hm e t h o do f o b j e c to r i e n ta n di m p l e m e n t e dt h r o u g ho b j e c to r i e n tl a n g u a g e m o r e o v e r m e s s a g e sb e t w e e n s e r v e ra n dc l i e n ta r es e n tb y s i m p l eo b j e c ta c c e s s p r o t o c o l ( s o a p ) w h i c h i sb a s e dx m l t e c h n o l o g y t h e p a p e r d e s c r i b ea u t h o r sw o r ki nt h ed e s i g na n di m p l e m e n to fd a o l a y e ri n t h es y s t e m a tt h es a m et i m ea u t h o ra l s or e s e a r c ha n da p p l yt h ex m lt e c h n o l o g y u s e di nt h en e t w o r ke x a m s y s t e m k e y w o r d s :o n l i n ee x a m ,d i s t a n c ee d u c a t i o n ,e x t e n s i b l em a r k u pl a n g u a g e ,s i m p l e o b j e c ta c c e s sp r o t o c o l ,d o c u m e n to b j e c t m o d e l 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位 或证书而使用过的材料。与我同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处, 本人签名:盆垒啷鸥 本人承担一切相关责任。 日期:兰:! 兰! ! :童! 关于论文使用授权的说明 可学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向 国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可 以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、 汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文注 释:本学位论文不属于保密范围,适用本授权书。 、 本人签名:缢:垃照 日期: 导师签名:。趔弪 日期: 盘! 竺丝3 :婴 z 2 骝3 。k 2 j i :京邮电大尊颤士论文x m l 技术在网络作业与考试系统中的应用反研究 第1 章绪论 1 1 论文背景 当今的社会是信息日益膨胀的社会,谁掌握了信息谁就掌握了主动权。而把 信息技术推向如此高的地位的是飞速发展的计算机技术,信息通信技术。而互联 网技术无疑是信息技术里非常重要的环节,新近推出的删l 技术以其简单性、可 扩展性和标准化性等特点已经日益成为互联网技术方面不可缺少的一部分。x m l 技术已经大量地应用在互联网的数据存储,数据交换领域。因为x m l 技术是新近 推出的技术,所以有很多领域有待我们去研究和探索。 在网络技术逐渐渗入到社会生活各个层面的今天,传统的教育方式和考试方 式也面临着变革,网络考试是一个很重要的方向。网络教育是推动我国教育规模 的主要动力,网络教育也是网络技术最重要的应用领域之一。 现代远程教育利用的是现代教育手段,通过网络将内容以数据的形式传送到 学生的设备上网络在教育资源和学生之间架起沟通的桥梁,这样学生就可以实 时或非实时地接受教育。与传统的广播教学、电视教学等远距离教学不同,现代 远程教育以素质教育和灵活多样的个性化发展为教育目标,用网络形式进行教学 活动。学生能够登陆网络,就可以不受时间、地点的限制接受教育。 网络考试系统是“十五”国家科技攻关计划一一网络教育关键技术及示范工 程项目组下作业和考试管理工具课题中的一个子系统,该课题是开发一个与课件 联系紧密和基于w e b 的多媒体作业管理工具和考试管理工具,将支持大规模的在 线学习和考试,而网络考试系统则提供一个在线多媒体考试系统,同时保证考试 的公正、安全实施。该课题的研究大量地用到了) ( m l 技术,如试卷文件就是以 x m l 文件的形式存储的,系统左侧页面的动态导航树也是以x m l 文件的形式存储 的。试卷的生成应用到了x m l 应用程序接口d o m 技术,网络考试系统服务器端和 客户端的数据通信采用基于x m l 技术的s o a p 协议,由此可以看出x m l 技术在作 业和考试系统中的重要性。 1 _ 2 现代远程教育现状及网络考试系统的意义 发展网络教育在当前历史时期具有非常重要的意义,网络教育在2 1 世纪将 成为教育的重要模式。网络教育是计算机、互联网和多媒体技术相结合为代表的 信息技术在现代教育学思想的指导下对传统教育模式的革新。它是一种全新的教 育模式,是教育的革命。它的最终目标是构建我国的终身教育体系。这是一个涉 j i :京邮电大尊颤士论文x m l 技术在网络作业与考试系统中的应用反研究 及整个民族素质,同时是一项跨学科的,富有挑战性的研究课题,它的发展成功 与否取决于信息技术的发展。信息技术发展的深度和广度决定了网络教育的深度 和广度。因此发展网络教育迫切需要对相关的新技术和关键技术进行攻关。 网络教育技术攻关的主要目的,是为了攻克目前制约我国网络教育发展的关 键性技术难点,探索符合我国国情的网络教育的模式、规范和标准,研究开发一 批具有自主知识产权的网络教育软硬件支持系统,并建设不同层次的网络教育示 范工程和网络教育资源,为构建国家现代化教育框架提供坚实的基础。 与传统教育方式一样,作业、考试、练习、测试是教育的重要环节。随着远 程教育的日益成熟和不断扩大规模,如何处理大量学员的作业、测试与考试,与 渐感匮乏的师资力量和管理人员之间的矛盾逐渐扩大。远程教育急需解决作业、 考试、测试的整套解决方案,包括作业、考试、测试的发布、提交、批改和统计 分析等功能。 作业的布莺、提交与批改,是学习过程中非常重要的一环,老师可以通过它 得到教学效果的反馈,既可以了解不同学生的学习情况,以便因材施教,又可以 发现教学过程或课件中存在的问题,并采取措施加以修改、完善。总之,“作业” 是沟通教师的“教”与学生的“学”的重要手段。 考试在教育中所起到的作用,包括测试学生的智力水平、检验知识的掌握程 度,是其他教育形式无法替代的。在远程教育中,远程考试系统也占有同样重要 的作用。由于借助了计算机和国际互联网,使得远程考试在许多方面优于传统考 试。 此外,学生在日常学习过程中所需的练习习题库、作业库,也是网上考试系 统所急需解决的问题之一。各门课程经过积累都具有了容量庞大的试题库后,学 生就可以直接进行网上自测,对提高学习效果起到积极作用。 从教师方面来看,对于此系统的需求应该比学生更加急迫。首先,每次作业、 测试、考试的出题对于很多老师都是一项比较麻烦的工作,需翻阅大量的参考资 料,从茫茫题海中寻找出几十道题,要考虑考查的知识点范围要广泛,难易适中, 考查学生的多种能力和综合能力等等诸多相互关联的因素,因此出一份教师自己 满意的试卷,往往要耗费大量的时间和精力,并且要反复查找很多次。因此教师 需要一个十分方便、快捷地组卷工具,来代替人工完成组卷工作。 目前,我国教育现状是师生比例远远超出了教师的工作负荷,在远程教育中 此现状将会更加明显。大量的学生作业和考卷的批改工作占用了教师的很大一部 分工作时间,而且这其中又有很大一部分是简单重复性的工作,例如对客观题目 的批改、计算分值、分数统计等,这些工作都用计算机完成,不紧准确而且快速。 因此使用网上考试系统代替教师完成一部分重复性很强的工作,将会是所有教师 2 北京邮电大掌硕士论文 删l 技术在网络作业与考试系统中的应用及研究 对系统的另一重要需求。 此外,作业考试系统将满足众多教师对于大量试题、试卷的管理工作,使教 学资源得到迸一步地充分共享利用。 目前、国内已经有四十多所大学开展了现代远程教育。在远程教育发展速度 越来越快的情况下,对学生进行考试,成了困扰远程教育的一大难题。例如t 北 邮、清华、北大等学校每年在考试的时候都需要派出大量的老师进行监考,给远 程教育带了极大的不便,严重制约了远程教育的发展。 总之,作业与考试系统将主要面对使用者不同的需求,力争在提高远程教育 系统,提高学生的积极性,加快教学信息的反馈,推动教育质量的提高等方面发 挥重要的作用。 1 3 论文研究关键技术和内容 在线考试问题是现代远程教育中的关键问题之一,对于现代远程教育的发 展有着非常重要的影响,对于保证教育质量和提高工作效率也有非常重要的作 用。 论文对目前使用的网络考试系统进行了调研,分析了现有网络考试系统的 系统构架,服务器端的设计符合s u n 公司的j 2 e e 规范,客户端的设计采用o o 理论进行分析,提出了在系统中广泛的应用x m l 技术,在服务器端应用x m l 技术,x m l 应用程序接口d o m 技术,在客户端应甩了基于x m l 和h t t p 协议 的s o a p 协议技术,并深入地对x m l 技术进行了研究和分析。并给出应用的例 子。 网络考试系统基于j 2 e e 平台并全面支持和实施x m l ,这种强大的组合可 使x m l 具备跨平台的兼容性,j 2 e e 技术和x m l 技术分别是企业开发的阴阳 两极,因为x m l 可实施独立于平台的数据,而j 2 e e 平台则可实施独立于平台 的解决方案。在网络考试系统中j 2 e e 和m l 技术的关键结合部分是在d a o 层, 在d a o 层中实现了x m l 文件的动态生成和解析。d a o 层同时是整个网络考试 系统中非常关键的部分,系统所有具体功能的实现都在d a o 层中实现。文章对 于d a o 层的作用和在系统中的位置以及具体实现给出了应用实例。 北京邮电大学硕士论文x m l 技术在网络作业与考试系统中的应用反研究 2 1x m l 技术 2 11 什么是x m l 技术 第2 章支撑技术的分析研究 正如h t m l 一样,可扩展置标语言x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 也 是一种置标语言。x m l 也和h t m l 一样属于置标语言,而且功能上比h t m l 强大很 多。 x m l 的强大功能来自于“x ”。也就是说,x m l 不但是置标语言,而且是可扩 展的( e x t e n s i b l e ) 置标语言。x m l 并非像h t m l 那样,提供一组事先已经定义 好了的标签,而是提供了一个标准,利用这个标准,你可以根据实际需要定义自 己的新的置标语言,并为你的这个置标语言规定它特有的一套标签。准确的说, x m l 是一种源置标语言,它允许你根据它所提供的规则,制定各种各样的置标语 言。这也正是x m l 语言制定之初的目标所在。 x m l 的制定目标为: 1 x m l 应该可以在互联网上直接使用( 就像h t m l 那样好用) 。 2 x m l 应该支持各种不同的应用方式( 不但包括浏览,还包括对内容的分 析) 。 3 x m l 应该与s g m l 兼容( s g m l 是x m l 的直接先驱) 。 4 处理x m l 文件的应用程序应该容易编写( 计算机系的研究生花上两周的工 夫就该差不多了) 。 5 x m l 中的可选特性的数量应该减到最小,最好减至没有( 可选特性经常造 成混淆) 。 6 x m l 文件应该具有良好的可读性,并且比较清晰( 别像h t m l 那样,如果 不借助浏览器,要想读它简直就是对你意志力和耐心的考验) 。 7 用x m l 设计新的置标语言应该方便快捷( 你不必再去经历标准制定的繁琐 程序了) 。 8 x m l 设计的置标语言应该正式、简洁( 不然怎么易写易读? ) 。 9 x m l 文件应该容易编制( 想想要用“记事本”写个h t m l 是一件多么可怕 的工作) 。 1 0 x m l 标记的简洁性并不重要( 你不必再去费尽心机减少标记) 。 4 北京邮电大掌硕士论文删l 技术在网络作业与考试墨簦! 塑璺里垒! 墨 212 为什么要用x m l 技术? 在x m l 出现以前已经有了h t m l 技术,为什么还要应用x m l 技术呢? x m l 技术与h t m l 技术相比有下面一些优势 1 在x m l 中,显示样式从数据信息中抽取出来,放在样式单文件中。这样, 如果需要改动信息的表现方式,无须改动信息本身,只要改动样式单文件 就够了。 2 在x m l 中数据搜索可以简单高效地进行。搜索引擎没必要再去遍访整个 x m l 文件,它只须去找一找相关标记下的内容就够了。 3 x m l 是自我描述语言。x m l 文件具有严格的层次结构。 除此以外,x i v l l 至少还有下面几个优点。 1 x m l 遵循严格的语法要求 x m l 不但要求标记配对、嵌套,而且还要求严格遵守d t d 的规定。 2 x m l 便于不同系统之间信息的传输 当今的计算机世界中,不同企业、不同部门中存在着许多不同的系统。现 在有了x m l ,各种不同的系统之间可以采用x m l 作为交流媒介。 3 x m l 具有较好的保值性 x m l 的保值性来自它的先驱之一s g m l 语言。s g m l 是套有着十几年 历史的国际标准,它最初设计的一大目标就是要为文件提供5 0 年以上的 寿命。 到现在为止,我们已经详细阐述了x 札的优点。不过,任何事物都不是完美 无缺的,x m l 也有一些固有的缺陷,至今都没有什么能够充分支持它的应用处理 程序。迄今为止,市场上没有一个可以完全支持x m l 的浏览器,虽然i e 最近的 版本i e 5 已经能够用x s l 样式单将x m l 文件转化为一个h t m l 文件并显示出来, 但这距离x i q i l 完全的显示输出还有很大距离。不过,对于x m l 所面临的这难题, 业界人士还是比较乐观的。随着越来越多的用户看到将他们的数据用x m l 组织的 好处后,x m l 的分析算法和相应的工具也会逐渐完善起来,x y l 的后端支持将变 e乩| 耋托 一 一 沁璐怕 北京邮电大学硕士论文删l 技术在网络作业与考试系统中的应用反研究 得越来越简单。 我们知道了x m l 技术的优越性,在我们的网络作业和考试系统中也进行了 大量地应用,我们应用到了相关的各种技术如d t d 定义,x s l 样式单,应用程 序接口d o m 技术,以及基于x m l 的s o a p 协议技术。我们将随后结合系统的 分析和应用对x m l 技术做分析和研究。 2 1 3 d t d 技术与s c h e m a 技术 形式良好是对x m l 文件的基本要求,它使得x m l 文件结构清晰、完整,便于 处理程序对其进行解析,进一步可以简化处理程序的编写工作,并加快浏览的速 度、减少浏览所需占用的内存空间。这就需要用到d t d 技术。 d t d 实际上是“元标记”这个概念的产物,它描述了一个置标语言的语法 和词汇表,也就是定义了文件的整体结构以及文件的语法。简而言之,d t d 规 定了一个语法分析器为了解释一个“有效的”x m l 文件所需要知道的所有规则 的细节。 在x m l 所描述的置标语言中,d t d 便提供了语法规定,以便给各个语言 要素赋予一定的顺序。为了说明特定的语法规则,d t d 采用了一系列正则式, 语法分析器将这些正则式与x m l 文件内部的数据模式相匹配,从而判别一个文 件是否是有效的。匹配被严格执行,因此,如果x m l 文件中有任何信息不符合 d t d 的规定,都不会通过。 s c h e m a 也是x m l 的种应用,它是将d t d 重新使用x m l 语言规范来定 义。这从某种意义上讲,体现了x m l 自描述性的优点,是d t d 的进化,在某 些方面比d t d 还有优势。这些优势体现在以下方面: 1 扩展性 没有数据类型,无形之中大大增加了程序员的开发难度和工作量。虽然d t d 中也定义了一些数据类型,但那都是针对属性类型而定义的,而且类型非常有限。 何况现在电子商务应用日趋火爆,交易过程中不可避免地会出现大量的数据转 换,整型、实型、布尔型、日期型的数据层出不穷,d t d 显然招架不住。好在s c h e m a 对d t d 进行了扩充,引入了数据类型,很好地解决了这一问题。 2 易用性 x m ls c h e m a 取代d t d 的另一个原因要归结于d o m 和s a x 。作为种x m la p i , d o m 和s a x 只是对x m l 实例文档有效,对于d t d 则无能为力。一旦有了s c h e m a , 这个问题便不复存在,因为此时对于埘l 文档结构的描述已变成为s c h e m a 一一 种“形式良好的”x m l 文档,用d o m 和s a x 去访问当然不在话下啦。 3 规范性 6 北京邮电大学硕士论文x m l 技术在网络作业与考试系统中的应用反研究 同d t d 一样,s c h e m a 也提供了一套完整的机制以约束x m l 文档中置标的使 用,但相比之下,后者基于x m l ,更具有规范性。s c h e m a 利用元素的内容和属性 来定义x m l 文档的整体结构,如哪些元素可以出现在文档中、元素问的关系是什 么、每个元素有哪些内容和属性、以及元素出现的顺序和次数等等,一目了然。 4 互换性 正如每个人都可定义自己的d t d 一样,我们可根据需要设计适合自己应用的 s c h e m a ,并且可以同其他人交换彼此的s c h e m a 。利用s c h e m a ,我们能够书写x m l 文档,验证文档的合法性。另外,通过映射机制,还可以将不同的s c h e m a 进行 转换,以实现更高层次的数据交换。例如微软的b i z t a l ks e r v e r ,对此就有很 好的支持。 2 1 4x m l 应用程序接口d o m 技术 在生成x m l 的过程中我们应用了x m l 应用程序接口d o m 动态地生成 x m l 文件。下面我们介绍一下d o m 接口技术。 x m l 有时是动态生成的,我们可以作为一个。局外人”间接地去创建、访问 和操作一个x m l 文件。还有些时候,我们所开发的应用程序需要能够读懂别人 写的x m l 文件,从中提取我们所需要的信息。在以上这些情况下,我们都需要 一个x m l 接口,将我们的应用程序与x m l 文档结合在一起。w 3 c 和x m ld e v 邮件列表成员分别提出了两个标准应用程序接口:d o m 和鄂。 d o m 树所提供的随机访问方式给应用程序的开发带来了很大的灵活性,它 可以任意地控制整个x m l 文档中的内容。然而,由于d o m 分析器把整个x m l 文档转化成d o m 树放在了内存中,因此,当文档比较大或者结构比较复杂时, 对内存的需求就比较高。而且,对于结构复杂的树的遍历也是一项耗时的操作。 所以,d o m 分析器对机器性能的要求比较高,实现效率不十分理想。不过,由 于d o m 分析器所采用的树结构的思想与x m l 文档的结构相吻合,同时鉴于随 机访问所带来的方便,因此,d o m 分析器还是有很广泛的使用价值的。 s a x 分析器在对x m l 文档进行分析时,触发了一系列的事件,由于事件触 发本身是有时序性的,因此。s a x 提供的是一种顺序访问机制,对于已经分析 过的部分,不能再倒回去重新处理。s a x 之所以被叫做”简单”应用程序接口,是 因为s a x 分析器只做了一些简单的工作,大部分工作还要由应用程序自己去做。 由于s a x 分析器实现简单,对内存要求比较低,因此实现效率比较高,对于那 些只需要访问x m l 文档中的数据而不对文档进行更改的应用程序来说,s a x 分 析器更为合适。 在我们的系统中,如果数据库中数据发生更改,系统会实时地触发应用程 序接口重新生成x m l 文件。而且在服务器端,内存要求能够完全满足,所以不 北京邮电大学硕士论文x m l 技术在网络作业与考试系统中的应用反研究 必考虑内存容量的问题。同时为了使得应用程序变的简单灵活,在我们的系统中 最终选择了d o m 技术作为动态生成x m l 文件的应用程序接1 :3 。 d o m 为我们提供访问x m l 文档信息的媒介是一种分层对象模型,而这个 层次的结构,则是一棵根据x m l 文档生成的节点树。 x m l 文档通过d o m 解析利用j a x p 包,j a x p 支持w 3 c 所推荐的d o m 2 , d o m 。通过下面的方法,我们可以得到d o m 树的d o c u m e n t 对象。 在系统的应用程序接口中首先我们需要建立一个解析器产生器 d o c u m e n t b u i l d e r f a c t o r y ,以利用这个产生器来获得个具体的解析器对象。为 了创建与具体解析器无关的程序,当d o c u m e n t b u i l d e r f a c t o r y 类的静态方法 n e w l n s t a n c e ( ) 被调用时,它根据一个系统变量来决定具体使用哪一个解析器。 又因为所有的解析器都服从于j a x p 所定义的接口,所以无论具体使用哪一个解 析器,代码都是一样的。所以当在不同的解析器之间进行切换时,只需要更改系 统变量的值,而不用更改任何代码。当获得一个产生器对象后,使用它的静态方 法n e w d o c u m e n t b u i l d e r 0 方法可以获得一个d o c u m e n t b u i l d e r 对象,这个对象 代表了具体的d o m 解析器。d o c u m e n t b u i l d e r 的p a r s e ( ) 方法接受一个x m l 文 档名作为输入参数,返回一个d o c u m e n t 对象,这个d o c u m e n t 对象就代表了 个x m l 文档的树模型。以后所有的对x m l 文档的操作,都与解析器无关, 直接在这个d o c u m e n t 对象上进行操作就可以了。 d o c u m e n t b u i i d e r f a c t o r yd b f = d o c u m e n t b u i i d e r f a c t o r y n e w l n s t a n c e 0 ; d o c u m e n t b u i l d e rd b ; d b = d b f n e w d o c u m e n t b u i l d e r 0 ; d o c u m e n t = d b p a r s e ( n e wf i l e ( f i l e n a m e ) ) ; 得到d o u c m e n t 接口对象后,根据图2 1 各节点的关系,我们可以方便地 访问到各个节点的数据。也可以动态地把数据库中的数据添加到该节点树中。 北京邮电大掌硕士论文删l 技术在网络作业与考试楚簦! 塑璺里垒! 墨 图2 1d o c u m e n t 节点树图 2 i ,5 基于m l 的s o a p 协议技术 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 简单对象访问协议是在分散或 分布式的环境中交换信息的简单协议,是一个基于x m l 的协议。它包括四个部 分: s o a p 封装( e n v e l o p ) ,封装定义了一个描述消息中的内容是什么,是谁发 送的,谁应当接受并处理它以及如何处理它们的框架; s o a p 编码规则( e n c o d i n gr u l e s ) ,用于表示应用程序需要使用的数据类 型的实例; s o a p r p c 表示( r p cr e p r e s e n t a t i o n 】,表示远程过程调用和应答的协定: s o a p 绑定( b i n d i n g ) ,使用底层协议交换信息。 虽然这四个部分都作为s o a p 的一部分,作为一个整体定义。但他们在功 能上是相交的、彼此独立的。特别的,封装和编码规则是被定义在不同的x m l 命名空间( n a m e s p a c e ) 中,这样使得定义更加简单。s o a p 的两个主要设计目标 是简单性和可扩展性。 从某种意义上,s o a p 可以简单地理解为:r p c + h i t p + ) ( m l ,采用h t t p 作为底层通讯协议,r p c 作为一致性的调用途径,x m l 作为数据传送的格式, 允许服务提供者和服务客户经过防火墙在i n t e r n e t 进行通讯交互。当然这里 的r p c 可以理解地广泛一些,应该说是每一个通过网络的远程调用都可以通过 s o a p 封装起来。然而s o a p 没有定义任何底层的传输协议,尽管在大部分情 况下,s o a p 默认绑定到h t t p 协议,但也可以使用f t p 、s m t p 甚至是j m s , 或者是自己定义的某种p 2 p 协议,来传输s o a p 消息。 s o a p 的具体工作机制是这样的:在客户端发送请求时,不管客户端是什 么平台的,首先把请求转换成x m l 格式,s o a p 网关可自动执行这个转换。为 了保证传送时参数,方法名,返回值的唯一性,s o a p 协议使用了一个私有标记 表,从而服务端的s o a p 网关可以正确的解析。转化成x m l 格式后,s o a p 的 远程调用方法名及其他的一些协议标识信息被封装成h t t p 请求,然后发送给 服务器。如果应用程序要求,服务器返回一个h t t p 应答信息给客户端。与通 常对h t m l 页面的h 丌pg e t 请求不同的是,此请求设置了一些h 丌p h e a d e r ,标识着一个s o a p 服务激发,和h t t p 包一起传送。s o a p 使用 h t t p 作为网络通讯协议,接收和传送数据参数时采用x m l 作为数据格式,提 供了更高层次上的抽象,与平台和环境无关。 由上可知,s o a p 使用h t t p 传送x m l ,尽管h t t p 不是有效率的通讯 协议,而且x m i 还需要额外的文件解析,两者使得交易的速度大大低于其它方 案。但是x m l 是一个开放、健全、有语义的讯息机制,而h t t p 是一个广泛 9 北京邮电大学硕士论文删l 技术在网络作业与考试系统中的应用反研究 又能避免许多关于防火墙的问题,从而使s o a p 可以得到了广泛地应用。但是 如果对效率要求很高时,那么可能应该多考虑其它的方式,而不是s o a p 。 网络考试系统采用s o a p 协议来实现客户端和服务器端的信息交流,而不 是采用流行的客户端与服务器端交流的方式,是考虑到s o a p 协议采用的底层 h t t p 协议可以通过防火墙,能够使网络考试系统能够有广泛的应用;s o a p 协 议是基于x m l 的技术,而整个网络考试系统充分利用了x m l 技术带来的好处。 由于s o a p 协议的采用,使得c s 结构不是传统的c l i e n t s e r v e r 计算,更像是 c l i e n t s e r v i c e 计算了。 2 。2j 2 e e 技术 随着i n t e r n e t 和企业计算在9 0 年代的腾飞,h t t p 、h t m l 、x m l 和j a v a 平台逐渐演变成为针对客户机计算的标准,这带动了服务器上集中商业逻辑的发 展以及电子商务的普及。 2 2 1j 2 e e 框架及其在网络考试系统的扩展 j 2 e e 是一种利用j a v a2 平台来简化诸多与多级企业解决方案的开发、部署 和管理相关的复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或 j a v a 2 平台的标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如”编写一次、 到处运行”的特性、方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在 i n t e m e t 应用中保护数据的安全模式等等,同时还提供了对e j b ( e n t e r p r i s e j a v a b e a n s ) 、j a v as e r v l e t sa p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面 支持。 s u n 公司在企业版中增加了一整套核心企业应用程序编程界面,而所有这 些界面均为标准的模块化组件。j 2 e e 技术还为这些组件提供一整套企业服务, 通过自动化的方式完成应用程序开发中的诸多耗时且费力的艰难工作,为用户提 供一种可创建广泛兼容的企业解决方案而无需进行复杂编程的平台。利用这一优 势可以方便地开发出高质量的、适合企业使用的应用程序,还可极大地减少产品 研发上市时间、成本和风险。 j 2 e e 使用了e j bs e r v e r 作为商业组件的部署环境,在e j bs e r v e r 中提供 了分布式计算环境中组件需要的所有服务,例如组件生命周期的管理、数据库连 接的管理、分布式事务的支持、组件的命名服务等等。有些企业级的e j bs e r v e r , 例如s y b a s e 公司的e a s3 6 ( e n t e r p r i s ea p p l i c a t i o ns e r v e r3 6 ) 还提供了支持高 可用性和高性能的群集技术、失败的自动转移和恢复、应用负载的自动均衡能力 等。实现商业逻辑的e j b 组件可以更加高效地运行在应用服务器中,支持多种 客户端的访问,h t t p 的客户端可以先向运行在w e bs e r v e r 上的i a v as e r v l e t l o j i :京邮电大尊颤士论文x m l 技术在网络作业与考试系统中的应用反研究 或者j s p 发出请求,在j s p 中嵌入j a v a 的代码调用运行在e j bs e r v e r 中的 e j b 以实现商业逻辑,而其他的客户端,可以通过1 1 0 p 直接访问运行在e j b s e r v e r 中的组件。 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用 组件根据他们所在的层分布在不同的机器上。事实上,s u n 设计j 2 e e 的初衷正 是为了解决两层模式( c l i e n t s e r v e r ) 的弊端,在传统模式中,客户端担当了过多的 角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改 进,可伸展性也不理想,而且经常基于某种专有的协议通常是某种数据库协 议。它使得重用业务逻辑和界面逻辑非常困难。现在j 2 e e 的多层企业级应用模 型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种 服务提供一个独立的层,以下是j 2 e e 典型的四层结构: 运行在客户端机器上的客户层组件 运行在j 2 e e 服务器上的w e b 层组件 运行在j 2 e e 服务器上的业务逻辑层组件 运行在e i s 服务器上的企业信息系统( e m e r p f i s ei n f o r m a t i o ns y s t e m ) 层软件 在这四层的基础上我们的网络考试系统又增加了一个d a o 层,那么为什么 耍加这一层呢? 在网络考试系统中因为业务逻辑异常复杂,包括系统管理,课程 管理,生成试卷,批改试卷,发布试卷等一系列功能,而且大量地用到了x m l 技术,对于x m l 的处理很繁琐。如果把这些功能的逻辑和实现放到一起,那么 将会对未来系统的开发以及升级维护都带来很大的困难。而如能把业务逻辑单独 独立一层,具体实现逻辑单独独立一层那么将会使系统更容易开发维护,同时系 统也会更加强壮a d a o 层处在业务层和数据库层之间,主要功能是针对数据库 进行操作,利用j d b c 取出所需的数据做相应的处理返回给业务层,例如从数据 库里动态地取出数据,根据相应的格式调用应用程序接口d o m 生成试卷x m l 文件,x m l 导航树文件等。下表2 一l 就是我们系统的分层结构: 序号层名功能 实现 代表访问系统( 或者应用程序) 如:j a v a a p p l e t 、j a v as c r i p t 、j a v a 客户端 的所有终端设备及其上运行的程应用程序、a c t i v e x 插件等。 1 序。 l 解释客户端请求,实施过滤操作, 1 2 表示层 控制业务访问和显示流程,构造 主要通过s e r v l e t 和j s p 实现 北京邮电大学硕士论文 删l 技术在网络作业与考试系统中的应用反研究 5 答复并把答复传递给客户端。 向前端提供业务服务,要求建立 业务代表作为接口把表示层和业主要通过有状态或无状态会话 13 业务层务层分开。b e a n 和实体b e a n 实现 l 负责与外部资源和系统通信,要 求建立数据访问对象( d a o ) 和 服务激发器( s a ) 向业务层提供可以使用j d b c 、j m s 、j a v am a i l 。4集成层 服务。等j 2 e e 技术。 包含o r i c l e9 i 数据库、文件系统、 5 资源层协作系统和外部系统。 注:整个系统从逻辑上分为5 层,这5 个层之间在逻辑上是分离的,每层与相 邻层松散耦合。 表2 1网络考试系统分层结构 从上表我们可以看出在网络考试和作业系统中与典型的j 2 e e 结构相比多了 一个d a o 层,加上这一层对我们的网络考试系统大有帮助,至于有什么具体的 帮助和作用将在以后的章节中介绍。 22 2j 2 e e 的优势 j 2 e e 提供了一个企业级的计算模型和运行环境用于开发和部署多层体系 结构的应用。它通过提供企业计算环境所必需的各种服务,使得部署在j 2 e e 平 台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性。它的优越性在 于: 计算平台支持j a v a 语言,使得基于j 2 e e 标准开发的应用可以跨平台地移 植;j a v a 语言非常安全、严格,这使开发者可以编写出非常可靠的代码;j 2 e e 提供了企业计算中需要的所有服务,且更加易用:j 2 e e 中多数标准定义了接 口,例如j n d l ( j a v an a m i n g a n dd i r e c t o r yi n t e r f a c e ) 、j d b c 、j a v am a i l 等,因 此可以和许多厂商的产品配合,容易得到广泛的支持;j 2 e e 树立了一个广泛而 通用的标准,大大简化了应用开发和移植过程。 概括起来,j 2 e e 体系结构的优点是: j a v es e r v l e t 和j s p 都要编译为j a v ac l a s s 才作为s e r v l e t 运行,因此执行 性能会明显提高。 北京邮电大学硕士论文x m l 技术在网络作业与考试系统中的应用反研究 i a v as

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论