Silverlight技术在教师招聘管理系统中的应用
2011-12-07李伯伟
李伯伟
齐鲁师范学院计算机系 山东 济南 250013
0 引言
随着网络的发展,对管理信息系统的要求也在提升。而以传统HTML开发的管理软件由于控件和处理机制的原因存在诸多不足,客户端使用界面单调,不够美观;在多媒体、文字等方面整合性不足;页面跳转、刷新时数据交换量大,响应缓慢。AJAX虽然采用异步数据传输,让用户浏览页面时不用刷新整个页面,但是AJAX开发难度高,而且对不同的浏览器支持效果也有差别,无形中增加了开发的复杂性和测试的难度[1]。Silverlight是设计、开发和发布有多媒体体验与富互联网应用程序(Rich Internet Application,RIA)的网络交互程序,是提升互联网用户体验的一项Web技术。Silverlight技术的出现将桌面丰富的用户界面体验带到了互联网。Silverlight整合了一系列工具、技术和服务,使创建富互联网应用程序的工作更加轻松,不再受限于浏览器所能实现的功能,而是可以实现新的RIA平台所支持的各种交互行为,是一种跨浏览器、跨平台的.NET Framework实现,用于为Web生成和提供下一代媒体体验和丰富的交互式应用程序。Silverlight统一了服务器、Web和桌面的功能,统一了托管代码和动态语言、声明性编程和传统编程以及Windows Presentation Foundation(WPF)的功能。通过 Silverlight和 ASP.Net无障碍集成及其提供的强大工具使得该系统在浏览器上呈现出全新的效果。
1 系统设计
教师招聘管理系统主要实现了招聘信息管理、考场信息管理,系统信息管理等功能,不同的用户有不同的权限,进行不同的管理工作,如图1所示。
图1 系统功能示意图
1.1 开发环境
(1)开发工具:Visual Studio 2010
(2)数据库:Microsoft SQL Server 2005
(3)Microsoft Silverlight 4 Tools for Visual Studio 2010
1.2 系统结构
系统数据库主要包括:招聘学科表(含学科名称、学科所考试卷类型、初试所占比例、笔试所占比例、综合考察所占比例、个人综合水平考核所占比例)考点信息表(含考点代码、名称、地址、联系电话、所设考场数目),用户设定表(用户名、密码、角色),考生报名信息表(含考生自身信息、报考信息、考场信息等)
2 系统实现
图2是系统的主画面,用户可根据不同的需要选择不同的功能,例如招聘学科设定功能,可以双击进行编辑,也可以点右键进行追加和删除,见图3。
图2 系统主画面
图3 招聘学科设定子画面
2.1 系统体系结构
系统包括客户端Silverlight应用程序、服务器端应用程序。表现层利用异步调用通过WCF与服务器进行通信。它使用WCF服务引用,并依照服务的操作约定和数据约定,实现Silverlight应用程序与服务的通信。数据约定公开了服务器应用程序中的实体类结构[2]。图4显示的是此体系结构模型。
图4 系统体系结构
2.2 服务器端程序
利用微软提供的ADO.NET实体数据模型[3],创建实体模型见图5,在该实体模型创建的同时,也自动创建了数据访问层,减少了编程的代码量。对于业务逻辑层,可以新建一个Domain Service Class,如图6所示。Domain Services是Silverlight 4新增的技术,是向客户端公开数据访问层的WCF Services。当我们创建一个domain services实例时,就指定了想要公开的实体类,以及这个domain Services所允许的数据操作。通过该服务可以极少量代码实现对数据库的查询、更新、删除操作。
图5 实体数据模型建立示意图
2.3 客户端程序
在图6创建jszpDomainService后,Silverlight项目会自动生成名为jszpDomainContext的类,通过使用该类,客户端以异步调用方式与上述服务器端进行数据的交互,返回的实例则可直接绑定到待显示的DataGrid控件的ItemsSource属性上,结果会自动显示在画面上。相关代码如下:
图6 Domain Service Class建立示意图
3 结束语
本文通过WCF与Silverlight的结合,以C#为开发语言,开发了教师招聘管理系统,实现了对报名前招聘学科的设定、报名结束后对报名人员信息的修正、考试前考场的预测及设定、考场内考生的随机编排、编排后考场标牌、桌贴、考生照片的打印等。该系统实现界面无刷新,通过使用C#程序显著提高了程序开发效率和用户体验性,因而在当前的互联网应用中具有很好的实用价值和研究意义。
[1]谭淇.基于WCF服务框架与Silverlight的Web应用研究[J].计算机与现代化,2011,(01):79-81.
[2]程国.Silverlight和WCF的媒体管理系统 [J].电脑编程技巧与维护,2009,(04):48-50.
[3]丁士峰.精通Silverlight RIA 开发技术详解[M].北京:人民邮电出版社,2008.