基于.NET的远程研修平台的设计与实现 戴桂钦 摘要:随着现代信息技术和网络技术的发展,远程研修已成为现代教育的一种新型的学习模式,更是我院教师培训的重大举措。本文结合我院开展2010年福建省高中教师远程研修活动的实际情况,对采用B/S模式、.NET技术的远程研修平台的设计与实现过程进行了具体介绍,并对平台设计采用的一些主要技术进行了讨论。 关键词: B/S模式;.NET技术;远程;研修 引言 随着现代信息技术和网络技术的发展,网络己经成为一种强大的、全球化的、交互性的、动态的、经济的、民主的远程学习和教学媒体。互联网络为按需学习(learning-on-demand)和以学习者为中心的教学和培训提供了可能性,为现代远程教育提供了新的机遇和新的发展空间。根据省政府《关于进一步加强中小学教师队伍建设的意见》(闽政文[2008]344号)和《福建省教育厅关于统一组织普通高中高级职称教师继续教育工作的通知》(闽教人[2009]73号)文件精神,福建教育学院大力拓展中小学教师、校长继续教育,积极服务于我省基础教育,做好高中高级职称教师、高(完)中校长,以及省级骨干教师和校长的继续教育任务,为有效解决教师进修难、成本高、工学矛盾突出等问题,依托福建基础教育网设计了基于.NET的远程研修平台,实现了教师培训面授与网授“两翼齐飞”,使高质量、低成本、广覆盖开展中小学教师培训成为现实。 二、平台设计与实现 .NET是Microsoft XML Web services平台,允许应用程序通过Internet进行通讯和共享数据,而不必考虑是哪种操作平台、设备或编程语言。Microsoft .NET平台提供创建XML Web services并将这些服务集成在一起之所需。作为新一代的站点开发技术,具有跨平台的互操作性、可扩展性和可用性、安全性强,本平台选择采用B/S(浏览器/服务器)模式、运用ASP.NET技术,对以Oracle 9i为数据库的远程研修平台进行分析和设计。主要是在对该平台的业务需求、功能需求等分析的基础上,对平台的架构、主要功能模块、界面设计等进行研究和设计。 1.平台的体系结构 本平台遵循MVC技术架构,支持开放的标准,支持Cluster,完全采用B/S模式。采用ASP.Net(WCF+ADO.NET+XML)架构进行设计,采用国际标准语言C#开发,能支持多层式架构(N-tier)服务模式,使平台具有很好的扩展性和灵活性。如图1所以,采用的分层设计模式,其好处在于:表示层与业务处理层和数据通讯层分隔,在增加一个新的访问渠道时,仅增加渠道驱动,改变内容展示格式,而交易处理和与后台的数据通讯及处理不作任何修改。业务层与数据通讯层的分隔,可以在业务处理不作大量的改动的情况下,连接到不同的后台。因此,分层设计可以使得平台更加灵活、易于维护。 平台的数据库采用Oracle 9i,做到每天定时统计、备份,增强数据的安全性。数据连接通过ADO.NET来实现。ADO.NET主要有数据源、Connection对象、DataAdapte对象和DatAset数据集对象,实现对数据库的连接和操作的功能。 图1 平台结构 2.平台的功能模块设计 平台总体上分为系统管理模块、教师管理模块和学员研修模块。 系统管理模块 系统管理模块主要对整个平台进行维护,具有添加、删除、修改管理员;对教师和学员用户的批量添加、删除和查询等;发布系统的公告、新闻、动态等;对教师的工作量和学员的研修情况综合统计、查询等功能。 教师管理模块 教师管理模块主要功能是提交和上传项目简介、培训方案、考核要求、进度安排;班级用户的开设;指导教师团队和专家团队的报送;编辑培训班级简报、问卷调查、设置研讨话题、催促学员按时完成研修任务、回答学员问答以及审定结业鉴定等。 学员研修模块 学员研修模块主要是通过浏览资料、观看视频,按照网络课程学习的要求和提示,完成作业,参加研讨、论坛,共享学习资源,参与调查问卷,提问、发表文章等。 3. 平台实现的主要技术 (1)MVC技术,是将一个应用的实现分成三个组件角色的框架技术:模型、视图和控制器。它将促进清晰的关注分离,可测试性强,高度的可扩展性,强大的URL映射组件等,保证应用系统的灵活性、安全性、实用性并且提高开发的效率。 (2)Web Service技术,在现有的各种异构平台技术上构筑一个通用的、与平台及语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。这种互操作方式打破了平台、计算模型、编程语言的约束。 (3)采用数据库群集服务,通过多台数据库服务器并发操做,从物理架构和实体数据库设计两个方面解决数据的异步存取和数据库访问的效率问题。 (4)流媒体技术,采用微软的MediService媒体服务实现流媒体播放,重点解决了网视宝拍摄的的双视频模式的课件,缓解视频播放占用了大量带宽,导致网络堵塞问题; (5)采用学院师训处统一拟定的学员的编号模式和数据库用户访问机制,真正做到平台用户统一认证。 (6)开发中应用ADO.NET实体框架(ADO.NET Entity Framework),使开发效率上大大提高,系统后期维护更加简单容易,运行效率高,安全性好,系统后期功能扩展更加简便。 4.系统实现的部分代码 远程研修平台的核心就在于对后台数据库的操作,学员在任务驱动之下完成研修的过程,指导教师批改学员的作业、回复学生一系列动作,并及时将情况反映在用户的浏览器端,实现动态的管理。 下面对平台实现的部分核心代码解释如下: (1)数据库的连接 /// <summary> /// 执行SQL语句 /// </summary> /// <param name="sql">SQL语句或存储过程名</param> /// <param name="iParms">输入参数数组</param> /// <param name="commandType">写入类别</param> /// <returns>影响的记录行数</returns> protected override int ExecuteNonQuery(string sql, DbParameter[] iParms, CommandType commandType) { OracleCommand myComm = (OracleCommand) base.Comm; myComm.CommandText = sql; myComm.CommandType = commandType; if (base.IsTrans) { myComm.Transaction=(OracleTransaction) base.DbTrans; } if (iParms != null) { foreach (DbParameter parm in iParms) { myComm.Parameters.Add((OracleParameter) arm); } } int val = myComm.ExecuteNonQuery(); myComm.Parameters.Clear(); return val; } (2) 账号激活程序 为了掌握培训学员的信息,学员在使用学院统一分配的账号、密码登陆后,需先输入个人基本信息(包括身份证号、性别、联系电话、职称、参加工作时间)激活个人的账号,部分代码片段如下: //判断身份证是否为 1 ,是则需要提示用户激活(更新身份证) if (aryLogin[7] == '-1') { //先注销用户 CheckLoginOut(); //弹出提示框让用户激活 var diag = new Dialog(); diag.Title = "激活账号"; diag.Width = 360; diag.Height = 440; diag.URL=sysPath+ "/Usr/page/usr_certificate_edit.aspx?usr_id=" + aryLogin[8]; diag.MessageTitle = "激活账号"; diag.Message = "您的身份证尚未填写,填写之后才能登录。"; diag.show(); return; } <form id="form1" runat="server"> <div style="width:350px;"> <ajax:AjaxPanel ID="AjaxPanel1" runat="server" Width="100%"> <table width="350" align="center" style="font-size:13px;" > <tr> <td height="30" align="right">用户名:</td> <td align="left"> <asp:Literal ID="lt_usr_name" runat="server"></asp:Literal> </td> </tr> <tr> <td height="30" align="right">身份证号码:</td> <td align="left"> <asp:TextBox ID="usr_certificate" runat="server" MaxLength="18" Width="170"></asp:TextBox> </td> </tr> <tr> <td height="30" align="right">性别:</td> <td align="left"> <asp:DropDownList ID="uit_sex" Width="170px" runat="server"> <asp:ListItem Text="男" Value="True"></asp:ListItem> <asp:ListItem Text="女" Value="False"></asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td height="30" align="right">联系电话:</td> <td align="left"> <asp:TextBox ID="uit_tel" runat="server" Width="170px" CssClass="textbox" MaxLength="12"></asp:TextBox><br /><font color="red">(如059188888888)</font> </td> </tr> <tr> <td height="30" align="right">职称:</td> <td align="left"><asp:DropDownList ID="uit_rank" runat="server" Width="170"> <asp:ListItem Text="" Value="">无</asp:ListItem> <asp:ListItem Text="一级" Value="一级">一级</asp:ListItem> <asp:ListItem Text="二级" Value="二级">二级</asp:ListItem> <asp:ListItem Text="高级" Value="高级">高级</asp:ListItem> <asp:ListItem Text="特级" Value="特级">特级</asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td height="30" align="right">参加工作时间:</td> <td align="left"> <asp:TextBox ID="uit_work_begin" runat="server" onclick="SelectDate(this.name)" ReadOnly="true"></asp:TextBox> </td> </tr> <tr><td> </td></tr> <tr> <td style="color:#ff0000" colspan="2" align="left"> 登录后请在个人信息中完善个人资料,以便于结业鉴定的审核。 </td> </tr> <tr> <td></td> <td height="30" align="left"> <input type="button" value="激 活" onclick="UpdateData();" /> <input type="button" value="取 消" onclick="parentDialog.close();" /> </td> </tr> </table> </ajax:AjaxPanel> </div> </form> 5.部分操作界面显示
图2 学员账号激活界面 图3 学员研修界面 结束语 依托福建基础教育网建立的福建省中小学教师、校长远程研修平台,截止9月25日,在今年暑期举办的高中教师远程研修活动中共有11400多名教师报名参加了首批培训工作。在研修任务的驱动下,平台共发布了1900多个资源信息,360多篇培训简报,35000多条研讨话题(帖子),6800多篇学员博文,批改了52550多篇学员作业。许多一线教师对此次远程研修活动给予了很高评价,认为平台建设来得很及时,研修的方式和内容具有新颖性、科学性、针对性和实效性,收获很大。由此可见,该平台具有较好的应用前景,适合我院的网络培训模式,能够降低培训成本,有效开发和合理利用网络资源,是现代教育技术手段与传统培训的完美结合,是大力推进“网上教育学院”的进程重大举措。 参考文献: [1][美〕波伊尔.基础学校:一个学习化的社区大家庭[M].北京:人民教育出版社,1998. [2][美〕Ballrul Khan著,孙建伟等译.电子学习的设计与评价[M].北京:XX师范大学出版社,2005. [3]胡博.基于.NET的师资培训管理系统研发[J].电脑知识与技术,2009(5):9255-9256. [4]王海.基于.NET技术的广电培训管理系统的分析与设计[J].软件导刊,2008(9):117-118. [5]李乐.ASP.NET MVC框架在干部教育培训系统中的应用[J].科技信息,2009(7):48-49. [6]胡俊敏,王俊玲.基于Web Services的企业培训管理系统多层架构设计[J]. 重庆科技学院学报:自然科学版,2009(12):174-176.