基于XML技术的排课系统应用与实现
2014-11-25黄云鹤
黄云鹤
【摘 要】结合XML技术特点, 进行了XML技术在排课系统中的实际应用开发, 论述了具体实现方法,探讨了其它方面的应用性。
【关键词】XML技术;排课系统;应用开发
一、前言
可扩展标记语言XML(eXtensible Markup Language)是一种简单灵活的文本格式的标记语言,具有自我描述、容易扩展、数据可验证等诸多优点, 非常适合于网络上多种数据源间进行数据的交换。XML目前已经成为全球的标准网络语言, 在数据发布、数据交换和整合、信息本地化处理等领域内得到了广泛深入的应用。本人在实际的基于Web的排课系统的研究和开发过程中, 大量地使用了XML技术来实现数据处理, 如数据的本地化处理、数据发布等。下面本文将结合XML 技术的特点,探讨XML技术在实际的排课系统中的应用, 并论述具体应用的实现方法。
二、XML的特点
(一)内容的描述和处理分开
XML文档的主要功能就是定义内容本身,它保持用户接口和结构化信息的独立。在XML中,标记只是用来描述数据本身, 如课程名、教师等。在XML中, 对数据的处理是通过样式( XSL 或 CSS) 实现的。将数据和对数据的处理隔离开来, 使得多方面来源的数据可以完全整合, 让所有数据在中间层次转换成 XML( 或者已经是XML格式) , 然后在线交换并对数据进行各种处理, 最后根据用户的需求和能力以特定格式将数据提交给用户。
(二)自我描述能力
在XML文档中, 标记本身就是对被标记信息最好的说明。加上通过XML文档可以获得的DTD和XML Schema中定义的各种约束, 在只有XML文档的情况下, 计算机也能理解文档中的数据。
(三)良好的开放性和可扩展性
在XML中, 可以定义无限量的标记。它提供了一个标记结构化信息的架构, 用户依据需求,可以随时定义新的标记, 大大拓展了可用标记的范围,也方便用户的使用和理解。
(四)XML文档具有可验证的特性
利用XML文档对应的模式(如XML Schema和DTD) , 可以验证XML文档中数据在结构上的正确性和标记使用的规范性。在制定模式时,XML文档的一切都已经定义好了, 这样, 我们在数据形成阶段就能对数据的有效性和正确性进行部分检验, 提高了数据的可靠性和可用性,而不用等到数据使用阶段。
三、XML在排课系统中的应用
在学分制教学模式下, 排课活动是一切教学活动安排的前提, 是实行学分制的最核心的内容。在基于浏览器/服务器结构的排课系统中, 利用XML技术, 可以均衡系统负载、提高系统性能和增强系统的可靠性。
(一)XML在排课冲突判断方面的应用
在排课过程中, 会经常出现课程冲突的问题, 因此, 排课过程中的冲突判断是排课系统要解决的重要问题。
如果在服务器端解决排课冲突, 必然会给系统造成极大的负担, 因为在排课时, 存在大量的并发操作, 服务器端的工作已经相当繁重, 因此将排课冲突的判断迁移到客户端是减轻服务器端负载的最好方法。在实际的排课系统的开发中, 本人利用XML技术, 成功地解决了上课时间冲突和教室冲突的判断问题, 而且冲突的判断准确, 效果明顯。下面部分简单代码为例, 说明XML在这方面的应用及实现方法。
(二)XML在数据加载和验证方面的应用
利用XML技术, 可以在客户端完成数据的整理工作, 然后成批加载到数据库中, 减少了网络来回的次数, 减轻了服务器端的压力, 而且利用 DOM技术和XML Schema 还可以在服务器端进行更为细致的验证, 保证数据的可靠性。在实际排课系统的开发中,本人就是利用XML技术实现了课程数据的批量添加和验证工作。
实现数据批量加载的思想就是: 在客户端利用XML, 向XML文档输入数据; 检查无误后使用 XMLHTTP 对象将准备好的数据包传送到服务器; 在服务器端利用XMLDOM技术对数据包进行剖析验证, 如验证无误, 则将提取节点数据, 将其添加到数据库中, 否则向客户端反馈错误信息。
(三)XML技术在数据发布中的应用
在每学期学生入学之前, 教学管理人员可以发布课程安排表等。这些发布的XML文件的名字与专业、年级等信息建立一个对应关系, 如课程安排表的名字由专业、年级、学制和学生类型组成, 这样的话, 无论是学生还是管理用户, 输入相关信息后, 系统就可以找到该文件显示给用户( 当然, 如果将XML文件名称可以存入数据库中, 在管理上将更方便) 。每隔一段日期, 管理人员可以进行必要的整理工作, 如学期结束之后, 删除更新(文件在删除之后, 教务处管理人员可以直接从数据库中提取数据实现查询的操作) 。下面以课程安排表的发布为例, 说明数据发布的应用方法。
数据发布的过程就是从数据库中提取数据转入相应XML文件的过程, 首先发布程序会遍历新年级的所有专业及相关学制和学生类型信息, 然后提取所有相关信息, 将获得的数据写入到XML文件中。因为XML文件本身是一个文本文件, 所以数据写入的方法与向文本文件中写入数据的方法相同。发布数据的查询比较简单, 对于教学管理用户, 根据用户输入的信息进行组合, 就可以形成对应的XML 文件的名称, 实现查询功能(如果不存在对应的文件时, 系统会直接从数据库中提取数据实现查询; 对于学生用户, 在学生登录时, 系统会提取学生的专业、学制和学生类型信息放入Session变量中,用户在查询的时候, 系统会自动组合文件名, 实现查询。
利用XML进行排课系统的数据发布, 可以使系统的数据发布更加简单, 随时可以进行更新, 系统设计者只需要设计好一些通用的、固定的样式文件, 就可以使发布的数据以丰富的网页形式显示给用户。
四、结论
传统的客户端/服务器结构的排课系统普遍存在着信息本地处理能力差、负载不均衡、数据验证烦琐和数据发布不灵活等缺点。通过利用XML技术,能够有效地解决这些问题, 较好地地弥补了不足。以上应用及其实现方法也同样适用于其他的WEB应用程序, 对于WEB 应用程序的开发都有一定的借鉴意义。
参考文献:
[1]孔令波,唐世渭,杨冬青,等.XML数据索引技术[J].软件学报,2005,16(12):2063-2079.
[2]陆伟.元素级XML检索模型构建的关键问题与解决方案研究[J].中国图书馆学报,2007,33(6):58-61.