维普资讯 http://www.cqvip.com
第l9卷第3期 电脑开发与应用 文章编号:1003—5850(2006)03—0019—03 基于XML技术的网络辅助教学系统的设计与实现 Design and Implementation of Network Aided Teaching System based on XML 杨志和 (湖南理工学院计算机与信息工程系 岳阳414006) 【摘 要】基于校园网的教学辅助系统的建设是学院实施素质教育、提高教学质量的重要举措,为师生提供了一 个开放式的交流平台。介绍了网络辅助教学系统的体系结构、主要功能和设计方法,分析了XML、ASP和ADO 等关键技术,最后给出了客户端和服务端的部分代码实现。 【关键词】辅助教学系统,XML,ASP,AD0 中圈分类号:G434 文献标识码:A ABSTRACT In order to implement diathesis education and improve teaching quality,it is an important act for an institute that the aided teaching system is built based OI1 campus network,which provides an open platform for teachers and students.The paper introduces the frame,main function and design method of the network aided teaching system.Some key technologies which be used in this system are analyzed,such as XML,ASP and ADO.A part of code realization of client and server are presented at the end of this paper. KEYWORDS aided teaching system,XML,ASP,ADO 随着计算机网络技术的迅猛发展,网络教育已成 为实施素质教育的一种有效途径。为提高教学质量,促 1 系统设计 进教学改革,我院启动了数字校园建设项目。作为重点 1.1体系结构设计 建设子项目,基于校园网的辅助教学系统为教师教学 本系统基于Client(Browse)/Web/Database 辅导和学生自主学习提供了一个开放的平台,教师可 Server构建,即客户端、Web服务器和数据库服务器 以利用该平台上传课件和批改作业,学生也可以通过 三层结构。数据库存放各种教学资源,Web服务器是 该平台提交作业和自评自测。该系统的成功运行,激发 网络用户访问数据库服务器的接口,是Web应用程序 了学生学习的积极性和自主性,为促进我院教学改革、 执行的平台。数据处理流程如下:①客户端浏览器通过 提高教学质量提供了有力保证。 VBScript或JavaScript,将要上传到Web服务器上的 传统的辅助教学系统是基于TCP/IP协议和 数据制作成XML文件;②客户端浏览器通过 HTTP协议的,很好地解决了跨平台性、可维护性和 XMLHTTP对象将XML传送到Web服务器;③web 可移植性。但由于HTTP协议中固定格式HTML文 服务器的ASP通过DOM从XML中取出相关数据, 件形式,这种文件输出量大,一次不能传输太多数据, 更新或查询数据库服务器上的数据库;④数据库服务 因此数据传输效率低。相比较而言,XML是建立通用 器返回更新或查询结果给WEB服务器;⑤WEB服务 数据描述格式来存储、传输、处理数据的强有力技术, 器的ASP程序从数据库中取出数据,制作成XML文 可以在客户端通过JavaScript或VBScript将数据组 件,传送到客户端。系统的体系结构如图1所示。 织成XML文件,也可以在服务器端将数据库数据转 换成XML文件送至客户端。而新的XMLHTTP对象 ASL盟 l集 XMIMITP 应用服务 / 允许一次传送完整的XML数据包,从而可大幅度地 0 0 0 I‘)DBc 提高数据传输效率。鉴于以上原因,我院的网络辅助教 客户端浏览器 WebJ] ̄.务器 学系统采用XML技术实现数据的组织和传输。 图1体系结构 1.2系统功能设计 网络辅助教学系统主要功能包括资源管理、作业 * 2005—10—16收至0,2006一O1一O8改回 ** 基金项目:湖南省教育厅基金项目资助(05C597)。 ***杨志和,男,1975年生,在读硕士,研究方向:计算机网络,数据库技术。 维普资讯 http://www.cqvip.com
基于XML技术的网络辅助教学系统的设计与实现 收发、在线答疑和系统管理等功能。 ①资源管理。主要负责对资源进行统一管理。主 要功能包括资源分类上载(包括批量和个别上载)、资 源下载、资源信息发布等。 ②作业收发管理。主要包括课后作业的发布和收 集。 ③电子论坛,实现在线答疑和问题探讨等功能。 ④测试模块。主要功能包括自动组卷、手工组卷和 自动评卷等。学生可以选择不同的方式抽取试卷进行 测试。生成的试卷由服务器打包成XML文件传送到 客户端。提交试卷后,自动判卷就可得到考试成绩。 ⑤系统管理。主要包括用户权限管理和系统日志 等模块。 2系统开发环境 2.1 系统开发平台 在系统开发时,数据库服务器和Web服务器共用 一台服务器。 客户端:配置Windows98或Windows 2000 Prefessional和IE 5.0。 网络操作系统:采用Windows 2000 Advanced Server操作系统。该操作系统功能强大,具有良好的安 全性能和先进的容错能力,使用可靠性高,是多任务多 进程的32位操作系统平台。 Web服务器软件:选用IIS 4.0。 数据库管理系统:选用Oracle 9i,因为它是高性 能和多用户的关系型数据库。而且具有其他数据库管 理系统不可比拟的安全防护机制。 2.2系统开发工具 本系统采用JavaSeript+ASP等技术实现XML 应用的机制。利用JavaScript可以将数据组织成XML 包,ASP可以通过DOM从XML文件中取出数据,也 可以将数据库返回的结果组织成XML数据文件传递 给客户端。 3 系统实现 3.1实现关键技术 3.1.1 ASP技术 ASP是Microsoft公司开发的服务器端脚本编写 环境和服务器端执行指令的环境。ASP结合HTML、 脚本命令和Active部件来创建动态的、交互式的Web 服务器应用程序。 ASP包含多个内置对象和Active组件,利用这些 对象和组件可以设计出功能强大的ASP程序。ASP 通过包含在其中的ADO组件来访问数据库中的组 件。当客户端通过浏览器从Web服务器上请求ASP 文件时,ASP文件开始执行,W,eb服务器响应请求后 调用ASP,用ADO组件通过OLE DB向数据库服务 器发送数据请求,数据库服务器将处理结果返回给客 户端浏览器。 3.1.2 ADO技术 ADO对象包括Command、Connection、Error、 Field、Parameter、Property、Recordset七种;我们主要 使用它的记录集对象(Recordset),这是因为 Recordset采用了和数据表相似的行、列结构,可以方 便地保存数据库的查询结果。与在ODBC规程下开发 的RDO和DA0不同的是ADO是在OLE DB规程 下开发的,所以它具有面向对象的特性。 ASP数据库访问部件通过ADO来访问OI E DB 兼容的数据源。应用程序要访问数据库之前必须建立 一个连接。ADO连接数据库采用了OLE DB的 Connection方法,具体实现代码如下: set con=server.ereateobject(”ADODB.Connection”) con.open( PROVIDER=SQLOI EDB4.0 l Data Source— dbpath;Initial Catalog=Kydb; —Userid=kyiPassword=kyp ); —连接数据库成功后,可以调用RecordSet对象的 Open方法获取数据: Set rData server.CreateObject(ADODB.Reeordset)l rData.open(”SQL命令”,Con); 3.i.3 XML技术 对于本系统,采用XML语言定义通用层次型标 记集,利用该标记集将数据表示为XML文档,此时先 定义DTD文件,然后生成相应的XML文档以及对应 不同显示方式的XSL(即样式表)。 以课件资源为例,可用DTD来描述: <!Element Courseware(eourseware)*> <!Element Courseware(Author.Tilte,Subject,Function) > <!Element Author(#PCDATA)> <!Element Title(#PCDATA)> <!Element Subject(#PCDATA)> 在ASP中,可以通过下列代码创建XML文档: set xmlobj=server.ereateObject(… ){ set xmlfilename—xmlobj.createTextFile( XML文件 名”); 然后,利用一个简单循环遍历记录集,将字段中的 数据按XML格式写入到XMI 文件中。 3.2实现核心代码 客户端通过JavaScript将要发送到应用服务器端 的数据制作成XML数据包。XML数据包制作和传送 维普资讯 http://www.cqvip.com
第19卷第3期 电脑开发与应用 到服务器的过程和代码实现如下: ①声明一个XML D0M对象。 Set XmlDom——Fobject—CreateObjeet(”Microsoft. XMLDOM”); ②使用XmlDom——Fobject对象的LoadXML 函数指定要传送的数据。 Xml Dom Fobject.LoadXML(要传送的数据); ③通过XMLHTTP对象将XML数据传送到服 务器。 Set XM1一Send—CreateObject(”Microsoft. XMLHTTP );//声明XMI HTTP对象 XMl Send.open(); //设置传送细节 XML Send.Send(”XMI Data”); //传送XML 数据 服务器端通过ASP访问数据库,将取得的数据 (如从题库中抽取的试题)组织成XML文件,传送到 客户端。过程和代码实现如下: ①ASP通过ADO访问数据库资源。 //声明一个对象,该对象为与数据库连接的接口, //该Connection对象名为Conn db obj Set Conndb——obj—server.CreateObjeet(”ADODB. Connection ); //连接数据库 Connection.open(ConnectString,UserlD,Password, Options); ②与数据库建立连接后,就使用RecordSet对象 获取查询数据库的结果。 //声明Recordset对象,对象变量名为Rec Data Set Rec Data=server.CreateObject(ADODB. Recordset); //获取数据一可以通过Recordset对象的Open函数获取 Recdb—Data.open( SQL命令”,Conn——obj); //获取数据还可以通过Recordset对象的Execute函数获 取 Set Rec Data=Conn db obj.Execute(”SQL命令”); ⑧ASP将Recordset对象中的查询结果以XML 形式传送到客户端。ASP返回XML的格式如下: < Response.eontentType=”text/XML” > <?Xml version=”1.0”encoding=”GB2312”?> <根元素>//需编写Schema对这些标记进行定义 XML内容 </根元素> ④为在客户端显示服务器传递过来的XML数 据。需要附带XSL实现XML向HTML网页转换。 ⑤关闭Recordset和Connection对象 RecData.Close(); —Conn db obj.Close(); 我们还可以通过AD0与数据库连接并将XML 数据存人数据库中。实现过程如下: 建立XML DOM对象来接收XML数据包 < Set RecvXML——Document—CreateObject(” Microsoft.XMLDOM ) > 设置加载方式(异步或同步),并指定要加载的对象 < RecvXMLDocument.Saync—True RecvXML ————Document.Load Request > 4结束语 随着数字化校园建设的快速发展,网络辅助教学 系统将发挥越来越重要的作用。本系统采用XML技 术实现数据的组织和传输,从根本上保证了系统的性 能。当然,其中还存在一些不足,如数据传输的安全性 问题还没考虑,这些需求将在第2期工程中解决。 参考文献 [1]李志华,施明辉,孙荣胜.基于XML的汽车零部件网站数 据存储与查询的实现[J].无锡轻工大学学报(自科版), 2001,5(88):522—525. [2]谢用辉,张宝行,柳勇等.一种网上数据交换的新技术一 XML的分析与实现EJ].计算机工程与应用,2002,(5): 153—155. [3] 杨建武,陈晓鸥.XML相关标准综述I-j].计算机科学, 2002。29(2):25—28. (上接第18页) 生成最终的文件,送到浏览器端输出显示或交给后台 服务器处理。 基于XML的动态网页发布技术,浏览器可以直 接完成查询等功能而不需经过服务器。中间层服务器 将所有内容转化为特定的XML形式,这种技术有着 更为强大的数据处理功能,减小了服务器的负荷。同时 又克服了插件技术的下载部分太多的缺陷。并且可以 很容易地转化为包括HTML在内的多种形式,因此 相对来说具有在Web上更大的发展潜力L5]。 参考文献 [1]Michael Morrison.XML揭秘——入门应用精通[M].北 京:清华大学出版社,2001. [2]Paul Whitehead.Active Server Pages 3.O[M].北京:清华 大学出版社,2001. [3] 陈勤意,陈长念.XML8 SP网页程序设计[M].北京: 清华大学出版社,2001. [4]李军怀,张景,周明全等.基于XML的企业异构数据集 成方法研究I-J-I.计算机工程,2002,28(9):63—65. [5] 王 静,傅秀芬.应用XML技术在互联网上发布数据库 -IJ-I.广东工业大学学报,2001(12):35—37.