基于WEB的考核系统的研究.docx
- 文档编号:12687936
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:16
- 大小:76.03KB
基于WEB的考核系统的研究.docx
《基于WEB的考核系统的研究.docx》由会员分享,可在线阅读,更多相关《基于WEB的考核系统的研究.docx(16页珍藏版)》请在冰豆网上搜索。
基于WEB的考核系统的研究
基于WEB的考核系统的研究
Theresearchtotheexamsystemconcernedwithweb
萧山电大陈懿炜
摘要Summary
基于WEB的考核系统通过DCOM组件对象使客户机与服务器进行通讯,在WINDOWS环境下,服务程序的代码以动态连接库(DLL)的形式实现.基于IIS平台,结合ASP技术编写WEB页,使用ADO对象连接远程数据库,考试更灵活,功能更完善。
TheexamsystemconcernedwithwebcanmaketheserverandclientscommunicatebyDCOMobjects.Inwindows,thecodesofservingprogramcanberealizedwiththeformofDLL.TheexamsystemcanbemoreconvenientandperfectbyusingtheADOcombinedwithASPtechnologytoeditwebpagesbasedonISS.
[关键词]DCOMIISADOASP
1.历史上的考核系统
计算机无纸化考试替代传统的书面答题,从最初在DOS环境下操作,到后来在WINDOWS界面中,一直到如今的基于WEB的考核,这都是与计算机技术的飞速发展密不可分的.如今人们只要上了INTERNET,就可以足不出户的参加任何一次在网上的考试,我们在研究基于WEB的考核系统时,通过DCOM对象来实现客户/服务器模型的中间层.并使用了ASP(ACTIVESERVERPAGE)技术,使基于WEB的考试更灵活,功能更完善。
在考核系统的历史中,DOS环境下的考试无疑是最原始的,但就当时传统的书面答卷来说,也无疑是历史性的突破。
DOS环境下使用了NOVELL的LAN解决方案,考生从无盘工作站登陆服务器,就被映射到服务器上先前已分配给考生的一对一的共享目录下,考核系统作为一组共享的文件存放在服务器上另一共享目录下,考生在自己的目录中运行考核系统。
在这种模式中,五六十个考生一起对考核系统进行操作,势必使服务器性能骤然下降,减慢考试速度。
这受到当时软硬件技术的限制,随着计算机技术的飞速发展,WINDOWS32位系统的产生和推广,WINDOWS环境下的考试成为了可能,基于客户/服务器模型,考核系统应用程序被分给了客户机和服务器运行,在客户机和服务器上的应用程序一起协调工作以完成特定的任务。
客户/服务器结构需要两个实体来完成一个进程。
当客户机向服务器发出请求,服务器为客户机提供完成这个请求的服务。
例如:
一个SQL的查询过程是这样进行的:
客户机的应用程序发出一个SQL查询请求,服务器处理这个查询,并把查询的结果返回给客户。
这使得数据传输更有效,减少了网络的通讯量,并极大的提高了操作的性能。
但由于是客户/服务器结构,在每一台客户机上都要安装部分的应用程序,这使考前初始化考试环境的工作量大大增加了,浪费了很多人力和时间。
2.基于WEB的考核系统
2.1三层及多层客户/服务器体系
我们在研究基于WEB的考核系统时,也是构架客户/服务器结构之上,使用三层客户/服务器体系,即数据层,中间对象层,客户层。
体系结构见下图:
多层开发要优于传统的客户/服务器编程。
这是因为多层应用系统能够将客户/服务器应用系统的活力和框架与主机系统的健壮性和可伸缩性结合起来。
传统客户/服务器系统设计上的局限性之一,就是软件一般不能有效地分层处理。
客户/服务器软件常常是一体化的。
在一体化的软件中,不同类型操作的程序代码是混在一起的,这种代码都被编译为传统的WindowsEXE和DLL。
实践已经证明,一体化软件不能满足许多客户/服务器应用系统对灵活性和可伸缩性方面的要求。
在许多传统的客户/服务器系统中,对服务器软件的一个很小的修改,都会导致对客户软件进行大规模的更新。
对客户软件进行大规模的更新往往是由于EXE和DLL之间固有依赖性引起的,因而,在多层应用系统中,必须避免各层之间固有的依赖性。
要做到在更新某一层上的软件时,不必更新相邻层的软件。
基于WEB的考核系统的客户应用程序是一个WEB浏览器,运行在客户机上并只含有用户界面代码。
这样每次更新应用程序时都不必更新所有客户机。
当需要时,所有的用户接口及业务逻辑都可以从WEB服务器上以动态的HTML内容,Javaapplets,ActiveX控件,VBScript,JaveScript等等的形式下载。
而业务逻辑一般被移到中间对象层中,在考核系统中,中间层软件运行在其自己的计算机上。
事实上,将WEB作为客户/服务器应用程序的基础结构使用完全解决了软件分布的问题。
考核系统的中间层主要通过DCOM组件来实现。
2.2关于DCOM技术
分布式组件对象模型,亦称作DCOM。
DCOM是COM的扩展,它可以支持不同计算机上组件对象与客户程序之间或者组件对象之间的相互通信,使基于COM的组件在位于不同机器上的两个进程间协作。
对于客户程序而言,组件程序所处的位置是透明的,这样我们可以不必编写网络代码去处理分布式组件跨网络交互所需要的通信。
利用DCOM,就可以在服务器上放上实际功能,客户像在本地一样访问这些功能。
组件改变时,可以在服务器上一次替换,而不必到每台客户机上替换。
放好服务器组件后,所有客户机都得到更新。
DCOM组件建成在进程内(表示组件与所在应用程序运行在同一进程空间。
组件与所在应用程序共享相同地址空间。
进程内组件用DLL建立)或进程外(表示组件与所在应用程序不运行在同一进程空间。
组件与所在应用程序不共享相同地址空间。
进程内组件用EXE建立)服务器,仍然需要注册,但位于不同机器上。
组件在客户机机器上注册时,其实际地址信息包含组件在哪个远程计算机上运行。
利用这个信息,客户机软件知道连接哪
台计算机以访问该组件。
调用组件时,从编程人员角度看,就是生成DCOM对象的实例,和任何其它组件一样。
运行系统弹到注册处查阅正要建立的注册表中的组件项目。
假设它找到所要内容,则系统知道组件位于哪台机器上。
请求组件时系统连接网络上的这台机器,作出请求。
任何所需的数据都经过网络返回客户机软件。
而用户不必考虑通信机制和定位组件,这些均由操作系统处理。
可以说DCOM是一个高层网络协议,DCOM协议也被称为对象RPC(ORPC,objectremoteprocedurecall),它建立在DCERPC协议的基础上,可以用于各种基于组件的分布式系统。
ORPC建立了一套面对对象的远程调用规范,指定了如何在网络上进行调用、对对象的引用如何表示和维护。
ORPC同时可使用于Internet和Intranet网络环境中组件之间的通信。
在Internet和Intranet网络环境下,ORPC仍使用标准的RPC数据包,附加上专用于DCOM的一些信息—接口指针标识符(IPID,interfacepointidentifier)、版本信息和扩展信息—作为调用和返回的附加参数进行传递,其中IPID表示调用被处理的远程机器上特定对象的特定接口。
编程人员使用DOCM时,用某些变元调用接口上的方法。
DCOM中将方法调用变为RPC调用。
这里,过程等价与组件中的方法。
同样,DCOM接口上用方法调用DCOM服务时,内部变成远程过程调用,调用DCOM服务组件中的方法。
这种转变很容易,因为组件调用的机制与RPC调用的机制非常相似。
编程人员使用组件是,实际上是在查找接口描述的方法组。
编程人员使用RPC时,只查找其中一个方法。
过程也是由接口定义,因此RPC与组件调用之间的相似性是显而易见的。
差别在于组件调用使用的接口将方法组合在类的概念上,而PRC接口则不发生组合,每个方法有一个接口。
但我们在开发DCOM组件时并不需要直接在ORPC层次上进行开发,因为组件程序和客户程序实际上只跟存根代码和代理对象进行通信。
存根(stub)和代理(proxy)是COM的两个特殊组件。
存根位于服务器进程中,处理与客户机的通信。
代理位于客户机进程中,处理与服务器的通信。
在VC++中我们可以使用MIDL工具来产生代理/存根代码,MIDL是MicrosoftInterfaceDefinitionLanguage,即接口定义语言。
在开发DCOM组件时,只要编写每个自定义接口的IDL描述,然后用MIDL工具产生C源码,再经过编译连接得到代理/存根组件。
如果使用VB来开发DCOM组件将比VC++简单的多,VisualBasic环境隐藏了许多关于DCOM的细节。
2.2.1使用VB建立DCOM服务器
1.启动VB,在NewProject对话框中选择ActiveXDLL。
2.设置项目属性,我们使用无用户界面的单元线程。
3.设置类的属性,对类的Instancing属性设置。
这个属性确定其他应用程序是否生成组件
的实例,如何生成。
我们设置为MultiUse,表示其它应用程序可以生成这个类的实例组
件的一个实例可以生成类的多个实例。
(1)编程类,DLL接口,
通过声明公有变量来设置DCOM组件接口的属性
例:
PublicFailNumberAsBoolean准考证号是否存在
PublicNewNumberAsBoolean是否是新用户
PublicstrWindowsTitleAsStr生成Windows试题的题目
通过编写Function设置DCOM接口的方法
例:
InitSQLServer()初始化SQL数据库
InitStudentNumber()取得准考证号
CheckUsers()初始化考生目录
(2)编译DCOM组件选择File–>Makexxx.dll.
(3)手工注册DCOM组件,在NT上将这个DLL复制到WINNT的SYSTEM32目录下,并用Regsvr32对DLL注册。
2.3WEB考核系统动态HTML的实现
1.基于IIS平台和ASP技术我们可以灵活的编写动态WEB
IIS服务平台结构图
IIS是Microsoft的WEB服务器,它通过支持ASP,使得动态、交互的WEB应用程序开发迅速流行。
IIS对使用VBScript、JavaScript以及CGI等开发应用程序都提供了支持。
2.3.1ASP概述与模型
MicrosoftActiveServerPages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。
使用ASP可以组合HTML页、脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序。
ASP应用程序很容易开发和修改。
包含在WindowsNTOptionpack中的MicrosoftTransactionServer(MTS)可以降低在服务器上构造程序的复杂性和费用。
MTS可以解决开发那些保密性强的、可分级的以及可靠的Web应用程序的复杂性问题。
浏览器从Web服务器上请求.asp文件时,ASP脚本开始运行。
然后Web服务器调用ASP,ASP全面读取请求的文件,执行所有脚本命令,并将Web页传送给浏览器。
由
于脚本在服务器上而不是在客户端运行,传送到浏览器上的Web页是在Web服务器上生成的。
所以不必担心浏览器能否处理脚本:
Web服务器已经完成了所有脚本的处理,并将标准的HTML传输到浏览器。
由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。
用户看不到创建他们正在浏览的页的脚本命令。
ASP提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息
(1)Application对象
可以使用Application对象使给定应用程序的所有用户共享信息。
(2)Request对象
可以使用Request对象访问任何用HTTP请求传递的信息,包括从HTML表单用
POST方法或GET方法传递的参数、cookie和用户认证。
Request对象使您能够访问发送给服务器的二进制数据,如上载的文件。
(3)Response对象
可以使用Response对象控制发送给用户的信息。
包括直接发送信息给浏览器、重定向
浏览器到另一个URL或设置cookie的值。
(4)Server对象
Server对象提供对服务器上的方法和属性进行的访问。
最常用的方法是创建ActiveX组件的实例(Server.CreateObject)。
其他方法用于将URL或HTML编码成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期限。
(5)Session对象
可以使用Session对象存储特定的用户会话所需的信息。
当用户在应用程序的页之间跳转时,存储在Session对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。
也可以使用Session方法显式地结束一个会话和设置空闲会话的超时期限。
(6)ObjectContext对象
可以使用ObjectContext对象提交或撤消由ASP脚本初始化的事务。
2.3.2使用form表单收集Web信息
使用HTML表单(form)是收集Web信息最常用的方法,是在Web页上提供用户界面控件的特殊的HTML标记的排列。
文本框、按钮和复选框都是典型的控件,这些控件使用户和Web页实现交互,并且将信息提交给Web服务器。
下面源代码产生一个表单,在表单中,我们通过ASP技术连接远程数据库,通过循环逐个读出数据库中的记录,并将其生成在HTML页中,这样用户可以进行12道选择题操作,用户只要在四个RADIO按钮中选其一,就完成了对一道选择题的操作,在这个表单中,包含了一个将这些信息提交给Web服务器的按钮。
<%
dimcode
code=1
whilecode<=12
whilenotrs.eof
%>
<%=code%>.<%=rs("Question_Title")%>
<%=rs("Answer_One")%>
<%=rs("Answer_two")%>
<%=rs("Answer_three")%>
<%=rs("Answer_four")%>
<%
code=code+1
rs.movenext
wend
wend
rs.close
myConnection.Close
%>
处理ASP输入的表单,在表格向Web服务器提交信息时,用户的Web浏览器请求用HTML
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WEB 考核 系统 研究