基于WCF技术架构的移动教学信息查询系统的设计与实现*
2011-11-07雷长海
王 晔,刘 红,刘 斐,雷长海
(第二军医大学 网络信息中心,上海 200433)
基于WCF技术架构的移动教学信息查询系统的设计与实现*
王 晔,刘 红,刘 斐,雷长海
(第二军医大学 网络信息中心,上海 200433)
移动学习是移动通信技术在教育中应用的一种崭新学习形式。利用手持设备开展移动教学活动,提高信息资源的利用率是国内外教育界研究的前沿和探讨的热点,更是高校面向现代化教学改革研究的重点。文章以高效而准确地为教师和学生提供教学相关信息为着眼点,基于WCF技术架构设计与实现了移动教学信息查询系统,为提高学校教育信息化水平进行了有益的尝试。
WCF;移动教学;信息系统
在《国家中长期教育改革和发展规划纲要(2010-2020年)》的第十九章第五十九条中写道:“充分利用优质资源和先进技术,创新运行机制和管理模式,整合现有资源,构建先进、高效、实用的数字化教育基础设施。”这对高校的“十二五”建设是相当有启发的,有助于高校从一个更广泛的层面去做知识管理,实施资源的开发和利用。[1]
移动通信技术与移动计算技术在教育中的应用使得教育中出现了一种崭新的学习形式——移动学习(Mobile Learning)。随着我国移动互联技术的不断发展,如何利用手持设备开展移动教学活动便成为本世纪国内外教育界研究的前沿和探讨的热点,更是高校面向现代化教学改革研究的重点。[2]
我们以高效而准确地为教师和学生提供教学相关信息为着眼点,基于WCF技术架构设计与实现了移动教学信息查询系统,为提高我校教育信息化水平进行了有益的尝试。Web服务器程序开发选用ASP.NET技术,数据库选用了安全性和效率都比较高的MS SQL Server 2005数据库。
一、WCF简介
WCF(Windows Communication Foundation)是一个面向服务编程的综合分层架构。该架构的顶层称为服务模型层(Service Model Layer),使用户用最少的时间和精力建立自己的软件产品和外界通信的模型。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。
一个WCF Service由三部分构成,如图1所示。
(1)Service Class:一个标记了[ServiceContract]属性的类,在其中可能包含多个方法。
(2)Host(宿主):可以是应用程序、进程如 Windows Service等,组成了WCF Service运行环境。
(3)Endpoints(端点):可以是一个,也可以是一组。 它是WCF实现通信的核心要素。
其中,每个端点都有一个绑定,一个地址和一个契约:绑定指定该端点如何与外界通信,也就是为端点指定通信协议,包括传输协议、编码协议和安全协议。端点和客户端通过传输协议通信。比较常用的是HTTP和TCP;在进入通信链路之前,端点和客户通过编码协议对通信进行编码。比较常见的是XML文件二进制码;端点和用户通过安全协议保证通信的安全。比如一些敏感的信息,要求通过加密的传输信道。比较常见的是HTTPS和WS-Security。 端点地址指定端点的位置,如果通过端点与WCF通信,必须把通信指定到网络地址。端点上的契约指定通过该端点的用户能访问到WCF服务的什么操作。
在我们的系统中,移动教学平台利用短信Modem构架一个校园网范围内的短信网关,提供给各种异构的应用程序(比如教务管理平台、学员网上学习平台、校园网论坛、设备预约平台等等)调用接口,这些外部程序都是由不同程序设计语言开发的,运行在不同平台上,因此,我们选择使用WebService作为中间业务层,而以WCF为基础构建的WebServie可以不使用IIS作为宿主程序,以用户自开发的Windows服务程序作为宿主,可以添加定时器等有交互状态的功能。
二、系统结构设计
移动教学目的是利用移动设备和移动通信网方便地访问校园网上的教育资源。移动教学信息查询系统并不是脱离现有校园网教学平台的独立系统,相反,它需要依赖现有校园网内丰富的教育资源来实现自身的教育功能,其系统结构如图2所示。
其中硬件方面主要有两部分构成:第一,移动学习设备,指教师或学生持有的移动设备,目前一般指手机或PDA。其主要功能是接收来自移动通信网络的有关教育信息。第二,移动短信模块,其主要功能是接收、记录来自使用者的需求信息,并发送对应的教学信息查询结果。
软件方面除依托现有的教务管理数据库外,还包括基于WCF技术架构的通讯平台。其主要功能是:(1)实现对短信模块自动化控制,可通过短消息与用户实现有限字符的通信;(2)实现对教学资源服务器的访问,并完成一定的教学活动,如进度查询、安排通知等;(3)完成教学资源信息与移动通信信息的格式转换。
三、系统技术实现
(1)核心类设计
(2)关键代码
//短信模块控制
public static string sendSMS(string sPhoneNum,string sContent)
{
if (Sms_Connection (CopyRightStr,3,9600,out TypeStr,out CopyRightToCOM)==1)///5为串口号,0为红外接口,1,2,3,...为串口
{
string[]sPhoneArr=sPhoneNum.Split(',');
for(int i=0;i { if(Sms_Send(sPhoneArr[i],sContent)!=1) ret+=sPhoneArr[i]+":发送失败!SIM卡问题"; else ret+=sPhoneArr[i]+":发送成功!"; } Sms_Disconnection(); return ret; } //短信发送代码 public static string sendSMS_dict(Dictionary { if (Sms_Connection (CopyRightStr,3,9600,out TypeStr,out CopyRightToCOM)==1) { int i=0; foreach(string item in dict.Keys) { i++; if(Sms_Send(item,dict[item])==1) ret+=item+"短信发送成功!
"; else ret+=item+"短信发送失败!
"; } Sms_Disconnection(); return ret; } //获取短信模块信息代码 public static string getAllSMS() { if (Sms_Connection (CopyRightStr,3,9600,out TypeStr,out CopyRightToCOM)==1)///5为串口号,0为红外接口,1,2,3,...为串口 { String ReceiveSmsStr="没有短消息"; if(Sms_Receive("4",out ReceiveSmsStr)!=1) { ReceiveSmsStr="接收失败!"; } Sms_Disconnection(); return ReceiveSmsStr; } 信息化的本质是服务师生,支撑发展,以资源为核心推动高校信息化已经成为未来发展的重要方向。如何在现有教学资源建设的基础上,注重资源平台服务水平的提高成为高校信息化建设的重点和难点之一。 我们所设计与实现的移动教学信息查询系统不仅能够实现教师授课任务的自动化定时提醒(如图4所示),而且能够智能化地响应用户通过手机发送的指令,实现相关教务管理系统登录口令重置、进度查询和成绩查询等常用的教学活动(如图5所示)。 为了有效地支持移动教育的行为,需要建立一个教学平台,使得教师和学生都可以方便地进行教学。该平台应该具有以下特点:兼顾教学过程中的所有环节,使得教师和学生在任何情况下参与教学活动都使用统一的平台,同时在技术实现上应该继承固定网络教学平台的成果。[3]基于WCF技术架构使得我们能够建立统一的信息交互平台,灵活响应现有的各项教学、管理应用系统,做到标准、格式和内容的规范化,为实现智慧校园奠定基础。 可以看到,移动学习是一种使用移动技术支持学习的实践活动,是信息化学习的一个新的阶段。基于手机的移动学习是一种新生事物,有着广阔的前景与独特的魅力,它是未来的一种重要学习模式,也是现在教育技术研究的新热点。[4]利用手机进行学习和培训是未来高校教育技术应用的必然趋势。随着高速移动通信网络技术的普及,教师和学生无论在校园的任何地点、任何时间都可以通过合适的终端设备与网络进行连接,获取个性化教育资讯,进而提升院校教育信息化的水平,提高教学资源的利用效率。 [1]“十二五”从何突破[J].中国教育网络,2010(9). [2]程超,李玉香,韩庆山.基于校园网的高校移动教学系统研究[J].教育与职业,2010(2). [3]崔光佐,陈飞等.移动教育的理念与关键技术研究[J].数字校园,2005(9). [4]杨丽萍,王薇.基于手机平台的教学信息系统的研发[J].长春大学学报,2009(8). TP315 B 1673-8454(2011)03-0049-03 *本研究得到第二军医大学教育研究课题资助。 (编辑:隗爽)四、应用与讨论