夏春梅
摘 要:随着软件开发技术的不断发展,各种软件系统的设计方法不断涌现。为了构建高效可靠的教务系统,在设计时采用基于DCOM模型的多层体系结构和面向构件的方法,设计了一个基于构件化思想开发的系统。此教务系统集成平台为一个三层C/S结构的系统,实现中间件的功能。在此论述了该教务管理系统的设计思想、系统功能和系统架构。该系统的开发为软件开发人员和管理人员提供了一种新的思路和技术手段,并将软件复用的思想更好地应用到开发领域中。
关键词:构件; 中间件; 教务系统; C/S结构; B/S结构
中图分类号:TN964?34 文献标识码:A 文章编号:1004?373X(2013)02?0042?03
0 引 言
教务管理系统的发展大体经过了2个主要阶段:第一阶段是从20世纪的80年代到90年代初期,这一阶段主要是以单机版的独立业务系统为主体。这一阶段的教务管理系统功能上相互独立,教务数据主要以独享的方式存在;第二阶段从90年代的中后期开始,这一阶段是网络版教务管理系统发展阶段,它以数据库和局域网为基础开发。这时的教务管理系统将计算机技术与网络技术、现代教育技术和信息技术相结合,设计上开始注重数据共享,分散处理、集中优化,信息安全可靠。这大大提高了学校教务管理的效率,避免了重复工作。
我国的教务管理系统目前主要有3种形式[1]:基于局域网方式、客户机/服务器方式、浏览器/服务器方式。但是前两种方式相对于浏览器/服务器方式有明显的缺陷,浏览器/服务器方式仍然居于主流地位。
现代宽带技术和校园网的发展为构建教务管理系统奠定了相关的硬件基础。同时基于三层B/S结构的Web数据库[2]技术和多种开发平台的发展成熟也为其提供了可靠的软件支撑。从经济性和实用性上考虑,构建基于网络的教务管理系统是当前网络教学资源建设的重要任务及发展方向。文中将重点讨论构件化思想在教务管理系统开发中的应用。
1 构件化技术研究
1.1 构件的定义
软件构件在70~80年代主要指可以复用的程序段,也称为代码件。到了90年代,广泛认为软件构件应当包括分析件、设计件、代码件和测试件。框架、软件提醒结构等很多新的概念也随之产生。1995年,Will Tracz又提出软件构件应该具备以下的属性:可用性、有用性、适应性、质量、可移植性。
最近几年,随着基于构件的软件开发技术的不断发展和Java、分布式对象、Client/Server等技术的涌现,对构件又出现了许多新的定义。共同要素是[3]:软件构件是单独开发并具有特定功能的软件单位,用于与其他构件及支撑环境组装成应用系统。软件构件的定义从开始提出到形成共识,经历了几十年的演化。
目前,在软件构件的基础上又提出了Web构件的概念:Web构件是Internet环境下面向服务的智能软件实体,它包含明确目标指向的描述内容和清晰契约性质的接口。它既可以被单独发布和调用,又可以同其他Web构件进行组装,构成粒度更大的Web构件[4]。
1.2 软件构件的特征
从上面对构件的讨论可以看出,构件应具备下面的基本特征:复用(reusability)、组装(compositability)、封装(encapsulizability)、定制(customizability)、粗粒度(coarse granularity)、自治性(autonomy)、集成特征(integration character)、接口连接机制。
简单地地说,软件构件是一种特殊的软件单元,它能够实现一定的功能,解决某一领域的问题,并且实现方法是透明的。
2 教务管理系统
2.1 教务管理系统的设计思想
针对传统的教务管理工作繁杂、手工劳动多的缺点,将构建一个高效可靠的教务系统。在设计时采用基于DCOM模型的多层体系结构和面向构件的方法,设计一个基于构件化思想开发的系统。
此教务系统集成平台为一个三层C/S结构的系统,将实现中间件的功能。它将涵盖教务管理中的各种业务,实现学生信息管理、教学计划管理、选课、排课、评教等多种功能,形成以网络为载体的一体化管理模式。管理人员、教师、学生都可以通过网络登陆来访问该教务系统。
在设计时,采用基于DCOM模型[5]的多层体系结构和面向构件的方法[6]。服务器上安装Win NT操作系统,数据库采用国际上比较成熟的Oracle 10i,Web应用服务器采用Oracle Application Server,客户机采用B/S结构和C/S结构的子系统。客户端应用程序用ASP.NET开发,WEB应用程序用Oracle Application Server开发工具开发。
从图3可以看到,该系统架构实现了界面和逻辑的分离。它将最常用的对象和业务逻辑都封装在了应用服务器中,利用中间层的应用服务器对客户端提供服务。学生、教师和其他管理人员可以通过浏览器登陆教务处网站,通过服务器访问Web应用程序服务器从而访问数据库,这是多层的B/S结构;而教务处的各科室人员和学校各个院系都是通过客户端程序连接到Web应用程序服务器来访问数据库,这是多层C/S结构。以上连接均采用了容错机制和负载平衡机制[9],使得系统更加稳定和高效。
在实现时,将本系统分为了四个层次:表示层[10] 、业务层、数据访问层和数据层。最下面是数据层,也就是数据库,即存储数据的地方;数据访问层可以通过本机或局域网来访问下面的数据层;而业务层可以调用数据层的服务,从而间接访问数据层,完成对数据库的各种操作;数据访问层和业务层一起构成了整个应用系统的中间层。表示层是用户输入输出的场所,它可以将数据展示给用户,如图4所示。
图4 教务管理系统的四个层次
在上面的层次结构中,数据层一般采用集中式管理,实现数据的持久存储,其功能由数据库服务器提供。应用服务器则由业务层和数据访问层两部分组成。数据访问层可以直接访问数据库,从而减少了客户到数据库的连接,也隐藏了数据库的实现细节。当数据库发生改变时,只需修改数据访问层的方法,接口可以保持不变,从而业务层无需做任何改变。表示层可以通过客户端程序实现对业务层的访问,也可以通过浏览器实现对业务层的访问。
综上所述,本教务管理系统采用了多层混合体系结构。它结合使用了C/S结构和B/S的结构。利用DCOM在数据访问层和业务层提供了强大的基础设施服务,结合B/S和C/S的多层分布式体系结构形成了基于DCOM的软件开发方法。从而使得在开发中只需专注于业务逻辑规则的开发,而事务的同步处理、资源的池管理、对共享资源的序列化访问等基础设施的服务由DCOM来为我们提供。这样系统的开发周期大大缩短,系统的健壮性和稳定性也得到了可靠的保障。
3 结 语
本文对构件化的思想做了研究和探讨,并针对教务系统做了理论上的分析。由此得到如下结论:此教务系统集成平台为一个三层C/S结构的系统,实现中间件的功能。整个教务系统的设计采用构件化的思想,应用套接字编程的方式来构造系统。构建高效可靠的教务系统是本文的主旨,虽然做了大量的工作,但还存在一些问题,这些问题是下一步工作的重点。
参考文献
[1] 祝艳.教务信息管理系统在高校发展中的应用[J].网络与信息,2012(3):18?20.
[2] 徐洁磐.现代数据库系统教程[M].北京:希望电子出版社,2002.
[3] 王志坚,费玉奎,娄渊清.软件构件技术及其应用[M].北京:科学出版社,2006.
[4] FEI Yu?kui, WANG Zhi?Jian. A concept model of Web components [C]// Proceedings of 2004 IEEE International Conference on Services Computing. [S.l.]: IEEE, 2004: 464?475.
[5] 刘念,张恒国,张楠.基于UML的GIS模型研究与COM/DCOM实现[J].计算机工程与设计,2007,28(9):2177?2180.
[6] 黄柳青,王满红.构件中国[M].北京:清华大学出版社,2006.
[7] LILIUS J, PALTOR I. A tool for verifying UML models [C]// Proc. of the 14th Int. Conference on Automated Sotfware Engineering. [S.l.]: IEEE Computer Society Press, 1999: 255?258.
[8] KOZACZYNSKI W, BOOEH G. Component?based embedded software Engineering [J]. IEEE Software, 1998, 9: 34?36.
[9] 姚全珠,孔伟.基于模糊逻辑技术的中间件负载平衡机制[J]. 计算机工程,2010,36(20):83?85.
[10] 张亚飞,张娜.至理:精通ASP.NET3.5网络开发技术[M].北京:电子工业出版社,2009.