APP下载

分布式本科教学质量工程信息化管理系统的构建与实现

2011-10-20雷体南周春阳

中国教育信息化 2011年21期
关键词:服务器端客户端分布式

雷体南,周春阳

(湖北大学 教育学院,湖北 武汉 430062)

分布式本科教学质量工程信息化管理系统的构建与实现

雷体南,周春阳

(湖北大学 教育学院,湖北 武汉 430062)

本文探讨了分布式系统在教育领域的应用,分析了.NET Remoting框架的原理,详细说明了基于Remoting技术的分布式多层结构本科教学质量工程信息化管理系统的构建方式,并利用C#实现了该分布式系统。

.NET Remoting;分布式系统;系统架构;抽象工厂模式

一、引言

计算机的发展使得分布式系统的应用越来越广泛,教育领域中分布式应用将成为新热点。由于在有限的资源条件下,教学管理工作因各种事务和处理数据量的急剧增多,管理的难度不断增大,为此,建立起一套高效的分布式本科教学质量工程信息化管理系统,将技术手段充分融入管理工作体系,配合有效的绩效监督体系,进行高效率、高质量、高准确度的信息采集、存储、分析、处理、传播和反馈,可使得教学管理工作更加科学规范。

二、本科教学质量工程信息化管理系统需求与Remoting技术简介

1.系统需求

结合相关研究以及我校本科教学质量课程工程的建设经验,该系统主要需求有:第一,高可用性和可靠的安全性。由于本科教学质量工程信息化建设涉及诸如师生信息、各类评审信息等敏感信息,因此必须在教务处主导下,各院各单位加强教学管理信息交流,合力建设。第二,改变当前本科教学质量精品课程的先集中申报纸质材料,再集中各类专家到机房进行统一评审的手工评审方式,充分利用Internet优势打破地域限制,实现信息资料的统一申报、评审、记录,提高系统灵活性和工作效率。第三,打破目前的教学管理系统只能用于解决某类教务或教学问题的“专业病”,在提供通用管理平台的基础上实现灵活的可扩展性,保证能够方便地添加新功能、新子系统。

2.Remoting技术简介

本文结合以上需求,以.NET Remoting技术为基础,建立了B/S模式的分布式多层架构的本科教学质量工程信息化管理系统,将涉及敏感信息的服务器端及数据库服务器集中在教务处管理,客户端由多个Web服务器负责为用户提供服务,保证了系统的高可用性和数据安全性。利用TCP传输有效保证系统的响应速度,通过优化的Remoting接口,使得客户端IIS服务器可以根据不同功能取其所需灵活部署,并采用软件多层架构保障分布式系统模块的松散耦合,使编写的代码更容易维护,可扩展性也更强。

.NET Remoting是一种构建分布式处理的解决方案,提供了允许不同应用程序域对象之间进行交互的框架,它是 DCOM(Distributed Component Object Model)的改进和替代技术。[1]在.NET Remoting这种分布式处理方式中,所有继承于System.MarshalByRefObject的类的对象都被视为远程对象。设计者无需关心数据包结构,只需要在服务器上创建远程对象,定义通道的类型、端口号、身份验证等选项,客户端就可以通过调用代理方法创建请求远程对象的消息,并通过格式化程序类串行化这些消息发送到通道中,服务器将该对象的引用经序列化发送给客户端,客户端应用程序就可以在本地操作远程对象了。这既保证了客户端和服务器端有关对象的松散耦合,同时也优化了通信的性能。它的体系结构如图1所示。

三、基于.NET Remoting技术的本科教学质量工程信息化管理系统的构建

1.系统物理架构

分布式多层结构本科教学质量工程信息化管理系统选择TCP传输二进制数据、IIS部署的.NET Remoting分布式解决方案。微软根据测试得出结论:WS_TCP_Binary的对象被配置为使用 TCP通道和 Binary格式化程序,而主机是 Windows服务,其性能要优于其他的分布式技术,WS_TCP_Binary和最慢的方法之间存在约 60%的性能差距[2]。因此,本校教务处内部使用的Remoting主机和客户端IIS服务器在校园局域网内,运用原始 TCP套接字传输二进制数据的效率比 HTTP更高,且数据不需要编码/解码,可以大大降低系统开销,提高执行效率。本系统物理架构体系结构如图2所示:

2.系统软件架构

本系统软件架构设计采用了多层结构模型 (如图3所示),在客户端采用装有.NET Framework3.5的IIS服务器发布站点页面,用客户端业务逻辑门面(facade)实现服务器端对象的获取。在服务器端部署了所有的业务逻辑,负责实现与数据库服务器的连接与数据的CRUD操作并向客户端提供远程对象,运用抽象工厂模式结合.NET反射机制创建对象,为异构数据库操作提供了可能,实现了高内聚、低耦合的特点。

四、本科教学质量工程信息化管理系统实现的关键技术

1.抽象工厂实现远程对象创建和元数据分离

由于服务器端和客户端都要用到远程对象,通常的方式是生成两份完全相同的对象DLL,分别添加引用,但是这样就降低了代码的安全性,如果IIS主机被攻击导致元数据泄漏,那么很可能影响到Remoting主机的安全。我们利用抽象工厂模式[3]WellKnown激活方式模拟Remoting的客户端激活模式,实现了远程对象元数据的分离,即服务器端创建远程对象,而客户端IIS服务器通过业务逻辑门面请求获取该对象。下面的UML静态类结构图描述了抽象工厂的工作模式:这种虚拟工厂模式实现的实际上是客户端激活模式。[5]虽然我们使用SingleCall激活一个虚拟工厂实例对象,但客户端并没有得到远程对象A_Users,只有当客户端通过工厂对象调用objFactory.CreateA_Users()方法才能获取该远程对象。本例中客户端请求远程对象时,TCP9999号端口才处于激活状态,可以看到运行时本系统状态如图5所示。

五、结束语

本研究项目将信息管理系统设计理论、教育教学理论以及教学管理理论有机结合在一起,充分发挥了教育信息化的优势,采用分布式多层架构设计,具有完备的硬件体系支持和清晰的软件层次结构,为学校管理引入了企业级信息管理平台,性能稳定,利于系统整合和维护。该系统目前已经投入使用,为本科教学质量工程的教务教学管理提供了统一平台、建设成果展示平台和阳光评审管理平台;为我校师生提供了便捷的教务教学信息查看平台、精品课程学习平台;为各学院课程建、资源建设提供了统一展示平台、信息交流平台。有助于信息化背景下我校本科教育教学服务能力大幅提升和本科教学质量工程建设进一步推进。

[1]Scott M cLean,James Naftel,Kim Williams,张昆琪等译.Microsoft.NET Remoting权威指南[M].北京:机械工业出版社,2003.

[2]http://msdn.microsoft.com/en-us/library/ms978411.

[3]Gamma E,Helm R,Johnson R,Vissides J.Design Pattern:Elements of Resuable Object-Oriented software.Beijing:China Machine Press,2007:87-91.

[4]http://msdn.microsoft.com/en-us/library/aa720332.

[5]吴奕甫等.基于.NET Remoting框架的分布式系统构建[J].计算机时代,2010(8).

G434

B

1673-8454(2011)21-0030-04

(编辑:隗爽)

猜你喜欢

服务器端客户端分布式
Linux环境下基于Socket的数据传输软件设计
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
基于DDS的分布式三维协同仿真研究