




已阅读5页,还剩63页未读, 继续免费阅读
(通信与信息系统专业论文)基于xml的远程网络考试系统的理论与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着i n t e m e t 的普及和飞速发展,一些新兴的教育手段如远程教学、网上培训、网 上学校也越来越普及,许许多多的大、中专院校也建设了校园网。这就为网上测试、网 上作业、网上考试系统的建立提供了必要的硬件环境。要好好利用这些硬件环境,高效 的网上考试系统的研究和实现就势在必行。 本文就对j a v a 和x m l 技术相结合的网上考试系统的设计和实现进行了研究。 首先,简要介绍了该系统的研究背景、目的和意义;其次,介绍了开发本系统所用 的语言j s p 和x m l 以及系统的开发环境和工作模式;接着,就介绍了考试系统的具体 实现。本系统采用三层体系结构,论文详细叙述了三层体系结构的表示层、逻辑层和数 据层的实现过程。表示层界面采用j s p 和j a v a s c r i p t 技术来实现,逻辑层使用j s p 、 j a v a b e a n 和x m l 技术,数据层用x m l 文档来实现,系统的功能在业务逻辑层实现。 同时,系统还简要的介绍了传统的组卷算法和本系统所用的组卷算法。 最后,对本论文的研究成果做了一下总结并讨论了一下系统存在的问题和进一步的 研究工作。 关键词:网上考试系统j s px m l a b s t r a c t w i t ht h ef a s td e v e l o p m e n ta n dw i d eu s eo ft h ei n t e m e t ,s o m en e wt e a c h i n gm e t h o d s , s u c ha so n l i n e t e a c h i n g a n do n l i n ee x a m i n a t i o n ,b e c o m em o r ea n dm o r ec o m m o n n o w a d a y s m a n yc o l l e g e s h a v et h e i ro w ni n t r a n e tw h i c hp r o v i d e sv e r yg o o dh a r d w a r e e n v i r o 衄e n tf o ro n l i n ee x a m s i no r d e rt om a k eg o o du s eo ft h eh a r d w a r e ,s t u d t y i n ga n d a c h i e v i n go nh i g he f f e c t i v eo n l i n ee x a m s o f i w a r e sb e c o m em o r ea n d m o r en e c e s s a r y t h i sp a p e rd e s c r i b e sar e s e a r c ho nt h ed e s i g no fe x a m i n a t i o ns y s t e mb a s e do nt h e t e c h n i q u e so fj a v aa n dx m l f i r s t ,t h i sp a p e ri n t r o d u c e st h er e s e a r c hb a c k g r o u n d ,p u r p o s e ,a n ds i g n i f i c a n c eo ft h e t h e s i s t h e n 。i td e s c r i b e st h es t r u c t u r e ,t h er u n n i n ge n v i r o n m e n to ft h es y s t e m ,a n d t h e l a n g u a g e su s e di nt h i ss y s t e m - - j s pa n dx m l s e c o n d l y , t h i sp a p e rd i s c u s s e sh o w t od e s i g nt h i se x a m n a t i o ns y s t e m t h i se x a m i n a t i o n s y s t e ma d o p t sat h r e e t i e rs t r u c t u r e t h i sp a p e rd e s c r i b e si n d e t a i lt h ea c h i e v i n go ft h e t h r e e - t i e rs t r u c t u r ei n c l u d i n gd e s i g nc l i e n tl a y e r , l o g i cl a y e ra n dd a t al a y e r t h ec l i e n tl a y e ri s d e s i g n e dw i t hj s pa n dj a v a s c r i p t ,l o g i cl a y e rw i t hj s p , j a v a b e a n ,a n dx m l t e c h n o l o g y ,a n d d a t al a y e rw i t hx m lf i l e s t h es y s t e mf u n c t i o n sa r ea c c o m p l i s h e di nt h el o g i cl a y e r a l s o , t h i sp a p e rd i s c u s s e st h et r a d i t i o n a la l g o r i t h mo fa u t o m a t i cp a p e r - m a k i n ga n dt h ea l g o r i t h mo f a u t o m a t i cp a p e r - m a k i n gi nt h i ss y s t e m i nt h ee n d t h i sp a p e rd i s c u s s e st h ep r o b l e m sw h i c he m e r g ei nt h ep r o c e s so fd o i n gt h i s t h e s i sa n dt h ew a y st od e a lw i t ht h e m k e y w o r d s :j s p , x m l ,e x a m i n a t i o ns y s t e m 海南大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究l 作所取 得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写 过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律结果由本人承担。 论文作者签名:纠互 日期:如伽月墨日 学位论文版权使用授权说明 本人完全了解海南大学关于收集、保存、使用学位论文的规定,即:学校有权保留并向 国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权海南大 学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。本人在导师指导下完成的论文成果,知识产权归属海 南大学。 保密论文在解密后遵守此规定。 导师签名: 日期:知。 本人已经认真阅读“c a l i s 高校学位论文全文数据库发布章程”,同意将本人的学位论 文提交“c a l i s 高校学位论文全文数据库”中全文发布,并可按“章程”中规定享受相关 权益。回童诠塞握銮丘进丘;旦羔生j 旦= 生i 旦兰生蕉查。 论文作者签名:g 叫兰 日期:k 体6 月毫日 导师签名: 日期:如g q16一日 魈 龟,k 猁“凇k 1 - 绪论 1 1 论文的背景和意义 考试在考察学生的学习情况的同时也为教师提供教学分析的依据。但是,传 统意义上的考试,从试卷出题,印制,准备考场,考生身份审核,监考,到阅卷, 评分,试卷分析等工作,往往持续很长时间,花费许多人力、物力,无疑是一项 庞大的工作。而且,由于手工操作,难免出现错误和其它人为因素,给考试的公 正性和严肃性带来影响。 网络考试系统是一种标准化考试,是传统考场的延伸。网络考试系统是一个 基于网络数据库和i n t e r n e t 处理的实时处理系统,可以产生随机的和公平的试卷, 为考生提供实时的通信,以保证考生的成绩准确无误,能够对考试的结果进行处 理和分析,为教师提供参考意见。综上,网络考试系统具有降低考试成本,解决 繁重的考务工作的优点。它可以免去教师大量的临考工作,试卷可以根据题库中 的内容即时生成,教师也无须去做考后的统计分析工作,计算机可对标准化考试 的试卷自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。实现无盘、 无纸化考试,大大提高了工作效率。 事实上,计算机标准化考试的历史已相当悠久,从最开始的标准化考试、计 算机阅卷,到如今的基于网络的各种i t 认证考试。计算机应用到考试中是从标准 化考试开始的。标准化考试是一些西方国家经常采用的考试方式,这种方式结合 了统计分析原理,对考试的全过程的统一命题、考试、阅卷、统计分析和成绩报 告提供支持和指导。计算机的作用不仅体现在命题阶段,还充分体现在考后的阅 卷和统计过程中。我国从1 9 8 1 年开始引进标准化考试一托福考试,从那时起,标 准化考试逐步得到了应用,从高考、英语四六级考试、计算机等级考试以及各种 各样的职称考试和职业资格考试。标准化考试比起主观命题、人工判卷的传统考 试,具有诸多优点:阅卷迅速、客观,成绩统计迅速及时、考试费用大为降低。 然而标准化考试仍需要纸和笔,试卷以纸介质发放,用铅笔在答题卡上涂黑,然 后使用光标阅读器( o m r ) 输人到计算机进行阅卷和统计处理。 近年来出现的各种i t 认证考试以及英语g m a t 和g r e 考试就是我们本文所 要讨论的基于计算机网络的标准化考试系统,它完全摆脱了纸和笔。考生使用计 算机答卷,通过网络提交答卷,计算机根据答案自动阅卷。网络考试的优点是显 然的:阅卷更加迅速,考试结束考生即可知道考试结果,还免了纸介质的试卷和 答卷的传输,从而降低了保密成本。通过抽取不同的试题,或者是随机变换试题 顺序或答案顺序,可以做到一人一卷,极大地降低了作弊的几率。另外,网络考 试为自适应考试提供了可能。【l 】 本文的最终目标是实现基于j s p 和x m l 的b w d 结构的远程网络考试系统, 希望可以免去教师大量的临考工作如组卷判卷等,减轻考务工作人员的劳动强度, 降低考试成本等。 1 2 国内外相关技术和解决方案 由于网络教学系统和网络考试对教育远程化、现代化、国际化有巨大的推动 作用,目前实现网络教学平台和网络考试系统的软件或产品相当多。根据应用的 技术和系统架构方式,这些产品主要可以分为如下几类:1 ) 单机版的考试系统; 2 ) 基于如微软a s p ,a d o ,o d b c 技术与数据库技术相结合的b s 架构的考试 系统;3 ) 采用微软v b ,v c ,d e l p h i 的开发环境,基于a c t i v e x ,a s p ,a d o , d b c 技术的c s 架构的考试系统。下面看看这几类考试系统各自的优缺点。1 2 j l 、单机结构 在每台计算机中安装完整的考试系统,即不依靠网络,在单独的计算机中完 成整个考试过程。其优点是实现简单,开发难度小,不需要网络支持,系统成本 低。但这种考试系统存在着维护和升级的困难,需要大量人力以实现考题的一致 性和考试信息的收集,自动化程度和效率较低,不适应大规模的考试,用于早期 的计算机考试系统结构。 2 、c s ( c l i e n t s e r v e r ) 结构 基于c l i e n t s e r v e r ( 客户端朋艮务器) 结构的考试系统,利用计算机局域网络, 每台计算机( 客户端) 通过安装必要的软件才能与服务器端相互通信。由于利用了 计算机网络,不再需要大量人力以实现考题的一致性和考试信息的收集,自动化 程度和效率较高。但由于其结构特点,只适用于一定范围的网络内部( 局域网) , 范围难以扩展,可以通过改进通信协议,对该结构进行改造,使其适用于更广的 网络范围( 广域网) ,但由于需要安装客户端程序,维护和升级同样存在困难。 3 、b s 结构 基于b s 架构的网络考试系统其界面主要采用a s p 、j s p 等动态语言技术, 再结合一些数据库访问接口技术来访问后台关系数据库。这类系统的优点在于采 用b s 结构和瘦客户端,实现简单。 b s 结构中的客户端通过浏览器访问w e b 服务器及其所连接的数据库服务 器。传统的c s 模式是一种企业内部的局域网络结构,而b s 模式与传统的c s 模式相比有以下的优点:首先,b s 模式通过b r o w s e r 可访问多个应用程序服务 器;其次,应用系统从客户机中分离出来,将c s 模式下的“胖”客户转变为“瘦” 客户,使系统维护方便;最后,b s 模式下的系统客户端采用浏览器作为用户界 面,使系统的操作变得更为简单、方便。由于以上特点,b s 结构不再需要分发 客户端程序,易于维护和升级,由于通过i n t e r n e t i n t r a n e t 应用广泛。 本文设计的考试系统采用的是基于b s 模式的系统结构,而底层数据存储采 用的是x m l 文件系统的方式,异同于传统的以数据库为底层数据存储的方式, 充分利用x m l 的优点,从而构建了一种更利于数据交互和共享的网上考试系统 2 的实现方式。 1 3 本章小结 本章介绍了论文的研究背景、研究现状以及研究意义,从而提出本文需要研 究的主要问题。 2 l 与数据库 本考试系统采用x m l 文件作为底层数据存储方式,但为了充分利用已有的 传统数据库中的大量宝贵资源,本章也将介绍一下如何将数据从传统数据库中导 出为x m l 文档。 2 1 两种x m l 数据库 x m l 提供了许多数据库所具备的东西:存储( x m l 文档) ,模式( d t d ,x m l s c h e m a ,r e l a xn g 等等) ,查询语言( x q u e r y ,x p a t h ,x q l ,x m l q l ,q u i l t 等 等) ,编程接口( s a x ,d o m ,j d o m ) 等等。1 5j 除此之外,x m l 数据库还有许多其 它的优点。如:1 、便于不同系统不同数据库之间信息的传输。当今的计算机世 界中,不同企业、不同部门中存在着许多不同的系统,操作系统有n t 、u n i x ,数 据库系统有s q ls e r v e r 、o r a c l e ,要想在这些不同的平台、不同的数据库软 件之间传输信息,不得不使用一些特殊的软件,非常之不便,而不同的显示界面, 从工作站、个人微机、到手机,使这些信息的个性化显示也变得很困难,现在有 了x m l ,各种不同的系统之间可以采用x m l 作为交流媒介。x m l 不但简单易 读,而且可以标注各种文字、图像甚至二进制文件,只要有x m l 处理工具,就 可以轻松地读取并利用这些数据。2 、更有意义的搜索。x m l 具有标记不同字段 的能力,数据可被x m l 唯一的标识,这就使得搜索变得更简单和动态化,没有 x m l ,搜索软件必须了解每个数据库是如何构建的,这实际上是不可能的,因为 每个数据库描述数据都是不同的,有了x m l ,书就可以很容易以标准的方式按照 作者、标题、i s b n 序号或其他的标准分类,搜索书就变得十分方便。3 、 然而,尽管在数据量小、用户少和性能要求不太高的环境下,可以将x m l 文档用作数据库。但是当用户量很大、数据集成度高以及性能要求很高时,x m l 缺少一些作为实用的数据库所应具备的特性,如高效的存储,索引,安全,事务 和数据一致性,多用户访问,触发器,查询多个文件等等。 当目标系统存在大量数据需要处理时,可以将x m l 和数据库结合起来,为 x m l 文档增加后台数据库支持。即在传统的数据库上添加上对x m l 文档的处 理功能。一般地,按照内置模式的不同,它可以分为支持x m l 的数据库系统 x e d b ( x m l e n a b l e dd a t a b a s e ) 和纯x m l 数据库n x d ( n a t i v ex m ld a t a b a s e ) 两大 类。【5 】 这两种数据库中选择哪种数据库所考虑的最主要的因素就是想在数据库存 储的究竟是数据还是文档。在现实当中,以数据为中心和以文档为中一i i , 的文档之 间的差别不一定很明显。例如,一种以数据为中心的文档比如发票,可能含有大 粒度的、结构不规则的数据比如零件说明;另一种以文档文中心的文件如用户手 册,可能包含细粒度的结构规则的数据( 通常为元数据) 比如作者和修订日期。 其它例子包括法律和医学文书,虽然以松散的形式写成但是却包含离散的数据块 4 例如日期、名称和操作程序,出于法规的原因通常要以完整的文件形式存储。 n x d 不仅可以管理以文档为中心的文档,也可以管理以数据为中心的文档, 而x e d b 只可以对以数据为中心的文档进行管理。如果要对以文档为中心的文档 进行管理,应当选择n x d 。 2 1 1x m l 数据库的系统组成 下面来看一下这两种数据库的共同的系统组成。 x m l 数据库的数据区以及存储机制 x m l 文档是x m l 数据库的数据区,一个x m l 文档就是一个基本的存储 单元,相当于关系数据库中的一个表格。x m l 数据直接以x m l 文档格式存储。 x m l 数据库数据模型 d t d ( 文档类型定义) 或者s c h e m a s 是x m l 数据库数据模型。对x m l 数据 库内容的存取访问都依据该模型。模型中规定了元素、属性、p c d a t a 以及文档 内容的顺序。x m l 数据模型可以支持任意层次的数据嵌套,对半结构化数据提 供了良好的支持。在d t d 中可以说明x m l 文档中的数据类型,通过数据类型 可以进行基于数据类型的查询操作。因此,d t d 还是对x m l 数据建立索引的一 种主要手段。s c h e m a s 是w 3 c 推荐的x m l 数据模型标准,它比d t d 更加严 格规范。目前大量使用的是d t d ,未来x m ls c h e m a 有可能取而代之。 x m l 数据库查询和操作语言 x q u e r y 、x p a t h 、x q l 、x m l - q l 都是数据库查询语言。x q u e r y 是w 3 c 提出的对x m l 文档进行信息查找的查询语言规范。其具体标准由x m lq u e r y 工 作组制订,其当前版本为x q u e r y1 0 。x p a t h 是w 3 c 提出的在x m l 文档内 描述数据元素在文档中的位置的规范。w 3 c 在2 0 0 2 年4 月3 0 日推出的x p a t h 2 0 标准中,容纳了x q u e r y1 0 的基本要求。因此x p a t h 不仅用于确定数据在 文档中的位置,还支持数据查询。目前的大多数x m l 数据库都采用它实现数据 查询。x s l t 是对x m l 数据进行操作的语言。x s l t 与x m l 的关系,就好象 s q l 语言与关系数据库的关系一样。在对x m l 文档操作时,通常x p a t h 与x s l t 是协同工作的。 x m l 数据库处理工具 d o m 、s a x 、j d o m 是x m l 数据库处理工具。提供对x m l 文档的编辑、 管理功能,以及与其它语言的编程接口。d o m 是w 3 c 推荐的对x m l 数据进行 组织管理的标准和编程接口规范。j d o m 是采用j a v a 语言实现的d o m 。s a x 是目前大多数x m l 数据库实际使用的开发标准,几乎所有的x m l 解析器都支 持它。与d o m 比较而言,s a x 是一种轻量型的方法。 2 1 2 纯x m l 数据库n x d x e d b 只是在传统数据库基础上增加了对x m l 数据的映射机制,下面着重 介绍一下纯数据库系统n x d 。 1 、纯x m l 数据库的含义 它定义了一个逻辑模型,根据该模型存储文档和检索文档,该模型必须包 括元素、属性、p c d a t a 和文档序号等。目前主要关注的是数据库使用的模型。 它的基本逻辑存储单元是一个x m l 文档;它说明一个x m l 文档作为基本 的逻辑存储单元,就像一个关系数据库中有一行在表中作为它的基本的逻辑存储 单元一样。 没有指定的底层逻辑存储模型。这表明并不需要有任何的特定的物理存储 模型。例如,它可以建造在关系、层次,或者面向对象的数据库之上,或者有一 个独有的存储格式就像索引和压缩文件。 2 、纯x m l 数据库的主要特性 文档集。纯x m l 数据库支持集合的概念,集合与关系数据库的表或者文 件系统的目录作用相似。 查询语言。几乎所有的纯x m l 数据库都支持一种或更多的查询语言,最 流行的是x p a t h 和x q l 。 更新和删除。更新是当日i 纯x m l 数据库的一个弱项。大部分的产品需要 您去检索一个文档,用您的x m l a p i 修改它,然后将它返回给数据库。到目前为 止,d o m 操作将可能是最普通的更新方法。 事务,锁。虚拟的所有的纯x m l 数据库都支持事务;但锁位于整个文档 的层次上,而不是位于文档片段的层次上,所以,多用户的并发性可能较低,例 如,当一个用户指南被分成若干章节且每一个章节只使用一个文档存储时,就不 允许两个作者去更新同一章节,因此其并发性是很低的。 应用程序编程接口。通常采用类o d b c 接口,提供一些方法连接数据库, 查找元数据,执行查询并返回以x m l 字符串、d o m 树或其它形式表示的结果。 它还可以在返回文档中,将应用程序的变量绑定到特定元素和属性上。许多纯 x m l 数据库还提供基于h t t p 之上执行查询和返回结果。 索引。几乎所有的纯x m l 数据库都支持元素和属性值索引。与传统的数 据库一样,索引的作用用来加快检索速度。【5 】 3 、使用纯x m l 数据库的优点 纯x m l 数据库适用于存储x m l 格式的文档。例如,当x m l 文档是用于 电子商务系统中的消息发送时,尽管这种文档可能是以数据为中心的,但消息的 自然格式却是x m l 的。所以,使用纯x m l 的数据库就显得更为合适。 当数据是半结构化的时候。在把该结构映射到关系数据库中的时候,会导 致产生大量空值的列或大量的表而影响时空效果。在这种情况下,就可以选择使 用效果较好的纯x m l 数据库。 6 将数据存储在纯x m l 数据库中,可以提高检索速度。纯x m l 数据库的存 储策略是将整个文档物理地存储在一起,使用物理的( 非逻辑的) 指针在文档各 个部分之间实现,所以它比关系数据库所用的逻辑连接要快。 2 1 3 两种数据库产品概述及其与传统数据库的关系 2 1 3 1n x d 产品概述及其与传统数据库的关系 截止2 0 0 3 年8 月,共有3 4 种n x d 产品,这些n x d 产品基本上是在2 0 0 1 年下半年以后面世的。比较有代表性的n x d 产品有t a m i n o 、d b x m l 、e x c e l o n 和x h i v e d b ,分别由德国的s o f t w a r ea g 公司、d b x m l g r o u pl l c 公司、 e x c e l o n 公司和荷兰的t h ec o n n e c t i o nf a c t o r y 公司研制。 与传统数据库相比,n x d 具有以下特点: 对半结构化数据进行有效的存取和管理,而传统的关系数据库对于半结构 化数据无法进行有效的管理。 提供对标签和路径的操作。传统数据库语言不能对元素名称操作,半结构化 数据库提供了对标签名称的操作,还包括了对路径的操作。 当数据本身具有层次结构时,由于x m l 数据格式能够清晰表达数据的层 次特征,因此x m l 数据库便于对层次化的数据进行操作。 顺序性:在传统的数据表中,表项之间的顺序是可以互换的。以文档为中心 的x m l 文档与传统的数据表不同,其内容是有顺序的,不允许随便调整元素、 属性、p c d a t a 的顺序。当然,顺序性使得对x m l 文档的查询、修改比传统数 据库的相应操作复杂。 与各种数据的交换能力:由于x m l 本身是一种标准的数据交换格式,因此 n x d 能够存储和查询各种不同结构类型的文档,对异构环境的信息存取提供了 良好的支持,为异构环境下的数据集成提供了一种新的方法,这一特性对于w 曲 数据管理来说是十分重要的。 总之,n x d 适合管理复杂数据结构的数据集,如果已经以x m l 格式存储 信息,则采用n x d 利于文档的存取和检索,能够提供高质量的全文搜索引擎, 特别适合对半结构化数据的管理。当然如果要对结构化的数据进行管理,传统的 关系数据库还是首选。 2 1 3 2x e d b 产品概述及其与传统数据库的关系 目前已经知道的x e d b 产品有a c c e s s2 0 0 2 、s q l s e r v e r2 0 0 0 、i b m 的d b 2 x m le x t e n d e r 、f i l e m a k e r 、f o x2 p r o 、i n f o r m i x 、o b j e c t i v i t y d b 、o r a c l e8 i , 9 i 等。它们都是使用d t d 实现与关系表格的转换,对x m l 文档的查询符合 w 3 c 推荐的x p a t h 规范,微软、i b m 和o r a c l e 的x e d b 核心都采用x q u e r y 标 准执行查询。 由于传统的关系数据库中的数据表很类似于以数据为中心的文档,因此由 7 x e d b 管理的以数据为中心的x m l 文档可以方便的存储到关系数据库中,关系 数据库中的数据表也可以转换成x m l 文档由x e d b 管理。 实际上,x e d b 只是在传统数据库基础上增加了对x m l 数据的映射机制, 只能对以数据为中心的、结构化程度较高的x m l 文档进行管理,能够实现这类 x m l 文档与传统数据库之问的映射。对于x e d b 来说,数据库内部仍然采用关 系表单格式存储数据,当用户进行基于x m l 的查询或处理时,x e d b 可以根据 需要重新组合这些数据。 从本质上看,x e d b 就是一个具有对以数据为中心的、结构化程度比较好的 x m l 文档进行存取管理功能的关系数据库或是面向对象数据库。 2 1 4x m l 数据库的若干问题 x m l 数据库作为一种新型的数掘库技术,目前还存在许多需要改进的方面。 聚合问题 聚合能力是数据库的重要功能之一,是进行联机分析处理的关键。由于x m l 数据是以层次化模型进行管理的,对不同处于层次的相关信息汇集起来进行集中 处理时( o n 进行求和、平均数算术等运算) ,就显得比较烦琐,必须在中间环节增 加附加代码。n x d 在执行聚合任务时表现不佳。 数据查询与更新能力有待提高 由于x m l 数据的自身特点,目前还无法建立与关系数据库功能性能相当的 索引机制。首先,x p a t h ( x q u e r y ) 查询语法不支持组、排列和摘要数据等功能,即 使最新的x q u e r y 规范仍然不支持数据更新、插入和删除等功能。 其次,需要对x m l 数据库进行查询或内容更新时,一般的办法是对整个数 据区从头到尾进行查找。如果对一个信息量巨大的x m l 文档进行查询或内容更 新时,这显然就不够高效。常规解决方法是选择指定的元素或者属性建立索引, 如同在关系数据库里选择f i e l d 用于索引一样。这样,在新数据被添加到数据库 时,就需要x m l 数据库内的所有信息重新进行一次索引,由于x m l 数据库主 要是针对关系复杂的半结构化数据进行管理的,其索引机制比关系数据库复杂得 多,另外,索引文件占用的存储空间也比较大,如果要对多个元素或属性建立索 引,将占用大量的存储空间。 并发机制 目前n x d 在并发性方面还缺乏有效的管理机制,缺乏多重管理能力,协同 工作能力、规划能力不强。在多用户处理机制、多事务处理、数据完整性、触发 器等方面,n x d 的性能还有待改进。 标准化问题 尽管w 3 c 在x m l 数据标准化方面做了大量工作;同时x m l :d b 作为一 个致力于x m l 数据库标准化和推广x m l 数据库产品的国际组织,也在努力工 作,不断推出基于x m l 数据库的开发规范,但其规范常常比x m l 数据库产品 出现的时间还晚,再加上由于其规范过于烦琐,在实际的x m l 数据应用中只能 起到一定的指导作用。根据r o n a l db o u r r e2 0 0 2 年5 月的最新统计,x e d b 产品 有8 种,n x d 产品有3 0 种,由于在产品开发之前还没有具体的统一规范,不同 厂家的数据库产品之间存在差别,它们之间的互操作能力值得怀疑。再加上由于 x m l 数据库作为一种新兴的数据库技术,研究者众多,不断有研究者和x m l 数 据库厂商对x m l 数据库的功能进行扩展,提出新的技术方案,估计在近两三年 内很难制订出一个比较全面的得到统一支持的数据库开发标准。1 5 j 2 2 从传统数据库中导出x m l 文档 将数据库中信息导出为x m l 文档有两种常用的方式:基于模板的数据转换 方式和基于模型的数据转换方式。 l 基于模板的数据转换方式 基于模板的数据转换在转换之前并不事先定义好x m l 文档结构与数据库结构 之间的映射关系,而是将s q l 命令语句嵌入模板,通过命令的执行,将其它格式的 数据插入到x m l 模板中,从而生成x m l 文档。例如下面的模板:【4 j 图2 1 其中嵌入了一个s e l e c t 语句,进行转换处理时,这个语句被结果替代,得 到如下的x m l 文档: 9 图2 2 这种基于模板的转换方式相当灵活,允许你把结果集放到x m l 文档的任何 位置,同时可以对s e l e c t 语句设置参数,并且可以使用f o r 循环语句和i f 条件 语句等。这种转换方式只适应于关系数据库到x m l 文档的单向转换。 2 基于模型的数据转换方式 基于模型的数据转换在转换前先建立一个数据模型,关系数据库依据关系模 型,面向对象的数据库依据对象模型,而x m l 文档依据s c h e m a 或d t d 。基于 模型的转换关键是在数据库模式和x m ls c h e m a d t d 之间建立双向的映射。这种 方式的优点是简单易用,但是不够灵活。例如,在将数据库的数据转换成x m l 文档时,因为依据的是单一的模型,通常要搭配x s l 来提供灵活性。在这种方式 中有两种常用的模型:表格模型和数据专用对象模型。【4 】 1 ) 表格模型:基于表格模型的转换在x m l 文档和表之问有明显的映射。 c c c t a b l ea d d d e e e cde :b 一 f f k c c c cd d de e e g g g f f f g g gh h h 1 0 h h h x m l 文档结构表示为表格的集合,如下所示: 依据表格模型,把数据库转换成x m l 文档时,只要把个表或者一个查询 结果的数据插入到相应的位置即可;把x m l 文档转换成数据库数据时,只要把 内容插入到相应的表中即可。这种转换方式的明显优点是简单。因为它匹配关系 数据库中的表和结果集的结构,所以写代码很容易、快速、缩放自如,并对特定 应用非常有用,比如在数据库之间一次一个表的传输数据。当然也有缺点,在把 x m l 文档转换到数据库时,不保存物理结构( 比如字符和实体引用,c d a t a 段, 字符编码,和孤立的声明) 或文档信息( 比如文档类型或d t d ) ,注释或处理指令。 2 ) 数据专用的对象模型 依据此模型进行转换的具体的思路是把一个x m l 文档表示为由数据对象构 成的树,每一个元素类型和对象模式中的对象相对应,此种对象模型并不是文档 对象模型d o m ,对象模型中的对象是特定于每个d t d 的,而d o m 建立了 x m l 文档的结构。如图4 1 所示是一销售订单及其对象模型树。 j a c k f 2 匕 l0 9 5 图2 3 销售订单及其对象模型树 因为x m l 文档和面向对象的数据库的结构都是树形结构,所以数据专用的 对象模型主要适用于面向对象的数据库与x m l 文档之间的转换。 x m l 文档映射到面向对象数据库的步骤如下: ( 1 ) 按照深度优先原则从x m l 文档树的树叶往树根进行遍历; ( 2 ) 每当碰到除叶结点和根结点以外的内部结点,就查看数据库中是否存在对 应的抽象数据类型,若不存在,则创建,并保证该结点所有子结点是该抽象数据 类型的域; ( 3 ) 循环遍历x m l 文档树,也就是重复( 2 ) ,直至根结点的直接子结点( 次根 结点) ; ( 4 ) 创建基于次根结点所对应抽象数据类型的对象,该对象是根结点所对应的 对象; ( 5 ) 将x m l 文档中各元素的属性值填入对象的相应域。 在映射过程中,如果元素只包含简单的p c d a t a ,则只需将其看成简单数据 域;如果元素本身结构较为复杂,则需将其对应为元素。 面向对象数据库信息转换为x m l 文档的步骤如下: ( 1 ) 将数据库中的每个对象对应生成x m l 文档中的元素; 1 2 ( 2 ) 用元素的属性来表示对象中包含的每个简单数据域; ( 3 ) 对于对象中复杂的子对象域,则递归调用( 1 ) ( 2 ) 生成新元素,并将生 成元素作为当前元素的子元素,直到所有的域都完成为止。 2 3 本章小结 由于本论文课题来源于海南省自然科学基金项目“基于j s p x m l 的信息处理 系统及应用”,所以为了课题对x m l 技术的研究,本章主要介绍了x m l 与数 据库的关系,详细阐述了与x m l 相关的两种数据库n x d 和x e d b 的特点,同 时,为了充分利用已有的传统数据库中的宝贵资源,本章最后还介绍了一下如何 将信息从传统数据库中导出为x m l 文档。 3 语言,开发环境和工作模式 3 1 语言 3 1 1j s p 1 、w e b 编程的发展 在w w w 短暂的历史中,已经从一个大部分显示静态信息的网络演化到一个 能进行大多数信息交互的基础没施,由于基于客户端浏览器的应用程序比传统的 基于客户机服务器的应用程序具有很多好处,因此,软件工业正迅速地向建造基 于客户端浏览器的多层次应用程序迈进。这些快速增长的基于w e b 的应用程序要 求开发技术不断改进。静态h t m l 对于显示相对静态的内容是不错的选择;但新 的挑战是创建交互的基于w e b 的应用程序,在这些程序中,页面的内容是基于用 户的请求或者系统的状态,而不是预先定义的文字。 对于这个问题的一个早期解决方案是使用c g i b 烈接口,开发人员编写与 接口相关的单独的程序,以及基于w e b 的应用程序,后者通过w e b 服务器来调 用前者。这个方案有着严重的扩展性问题:每个新的c g i 要求在服务器上新增一 个进程,如果多个用户并发地访问该程序,这些进程将消耗该w e b 服务器所有的 可用资源,并且系统性能降低到极其低下的地步。显然这种技术并不适用于考试 系统。 某些w e b 服务器供应商已经意识到通过为服务器提供“插件和a p i 来简化 w e b 应用程序的开发。这些解决方案与特定的w e b 服务器相关,不能解决跨多个 供应商的解决方案。例如,微软的a s p 技术使得在w e b 页面上创建动态内容更 加容易,但是也只能工作在微软的i i s 或p e r s o n a lw e bs e r v e r 上。很显然,目前 所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当 前方案所受到的限制,即: 能够在任何w e b 或用程序服务器上运行; 将应用程序逻辑和页面显示分离: 简化开发基于w e b 的交互式应用程序的过程。 2 、什么是j s p j s p 是j a v as e r v e r p a g e s 的缩写,由s u n 公司倡导,于1 9 9 9 年推出,正日益 成为开发w e b 动态网站的重要而快速有效的开发技术。j s p 充分利用了j a v a 技 术的优势,具有极强的扩展能力和良好的收缩性,与开发平台无关,这源于j a v a 的“一次编写,到处运行”的特点,同时也是一项安全的技术。它具有良好的动态 页面与静态页面分离的能力,编译后运行,因而正逐渐成为i n t e m e t 开发的主流 技术。【3 】 j s p 的结构与a s p 非常相似,实际上j s p 参考借鉴了a s p 的许多重要思想和 有价值的东西。不过a s p 一般只应用于w i n d o w s 平台,而j s p 得利于j a v a 的跨 1 4 平台性,并受到各方人力支持,因此可以在大多数w e bs e r v e r 上运行,其中包括 w i n d o w sn t 。 j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ) 贝, f j 是s u n 为企业级应用建立的高水准 的框架结构,获得了各大开发平台提供商的积极支持,并已成为企业应用对开发 的主流产品。j s p 技术是一个在j 2 e e 平台上的关键件组件。 3 、j s p 技术特点 在开发j s p 规范的过程中,s u n 公司与许许多多主要的w e b 服务器、应用服 务器和开发工具供应商,以及各种各样富有经验的开发团体进行合作,其结果是 找到了一种为应用和页面开发人员平衡了可移植性和易用性的开发方法。j s p 技 术在多个方向加速了动态w r e b 页面的开发。i l j 将内容的生成和显示进行分离 使用j s p 技术,w e b 页面开发人员可以使用h t m l 或者x m l 标识来设计和 格式化最终页面。使用j s p 标识或者小脚本来生成页面上的动态内容( 内容是根据 请求来变化的) 。生成内容的逻辑被封装在标识和j a v a b e a n s 组件中,并且捆绑在 小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和j a v a b e a n s 中,那么其他人,如w e b 管理人员和页面设计者,能够编辑和使用j s p 页面,而 不影响内容的生成。在服务器端,j s p 引擎解释j s p 标识和小脚本,生成所请求 的内容( 例如,通过访问j a v a b e a n s 组件,使用j d b c 技术访问数据库,或者包含 文件) ,并且将结果以h t m l ( 或者x m l ) 页面的形式发送回浏览器。这有助于作 者保护自己的代码,而又保证任何基于h t m l 的w e b 浏览器的完全可用性。 强调可重用的组件 绝大多数j s p 页面依赖于可重用的,跨平台的j a v a b e a n s 组件或者e n t e r p r i s e j a v a b e a n s t m 组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享、 交换、执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所 使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技 能和优化结果的开发努力中得到平衡。j a v as e r v e rp a g e s 技术封装了许多功能,这 些功能是在易用的、与j s p 相关的h t m l 或x m l 标识中进行动态内容生成所需 要的。标准的j s p 标识能够访问和实例化j a v a b e a n s 组件,设置或者检索组件属 性,下载a p p l e t ,以及执行用其他方法更难于编码的功能。j s p 页面看上去象标 准的h t m l 和x m l 页面,并附带有j s p 引擎能够处理和抽取的额外元件。通常, j s p 元件创建插入最终页面的文本。 j s p 技术也是可以扩展的。今后,第三方开发人员和其他人员可以为常用功 能创建自己的标识库。这使得w e b 页面开发人员能够使用熟悉的工具和执行特定 功能的构件来工作。j s p 技术很容易整合到各种应用体系结构中,利用现存的工 具和技巧扩展到能够支持企业级的分布式应用。作为采用j a v a 技术家族的一部 分,以及j a v a 2 ( 企业版体系结构) 的一个组成部分,j s p 技术能够支持高度复杂的 基于w e b 的应用。 由于j s p 页面的内置脚本语言是基于j a v a 编程语言的,而且所有的j s p 页面 都被编译成为j a v as e r v l e t ,j s p 页面就具有j a v a 技术的所有好处,包括健壮的存 储管理和安全性。作为j a v a 平台的一部分,j s p 拥有j a v a 编程语言“一次编写, 各处运行”的特点。 随着越来越多的供应商将j s p 支持添加到他们的产品中,还可以使用自己所 选择的服务器和工具,更改服务器或工具并不影响当前的应用。当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美食广场整体承包经营合同范本
- 中医护理三因制宜
- 餐饮业股权投资合作与风险控制合同
- 商务代驾服务委托合同
- 铁路快运代理服务合作协议书
- 肠胀气病人的护理
- 垃圾处理设施安全责任承包管理合同
- 肿瘤患者出院健康指导
- 餐饮品牌商标使用权及加盟管理合同
- 餐饮企业加盟店经营数据保密协议
- 信息用户管理制度
- 2025年新高考1卷(新课标Ⅰ)数学试卷
- 河南信息产业投资有限公司招聘考试真题2024
- 离婚协议书正规打印电子版(2025年版)
- 石家庄市国企招聘考试真题题库2024版
- 《社会主义核心价值观》优秀课件
- 初中生物会考模拟试题
- (完整版)标书密封条格式word
- 轻金属冶金学教学课件汇总完整版电子教案全书整套课件幻灯片(最新)
- 加强社区两委换届监督工作的实施方案
- 白云区地图广州市白云区乡镇街道地图高清矢量可填充编辑地图PPT模板
评论
0/150
提交评论