赵婉芳 徐江红 陈莉莉
(北京电子科技职业学院,北京 100016)
基于Silverlight的网络教学平台系统设计开发
赵婉芳 徐江红 陈莉莉
(北京电子科技职业学院,北京 100016)
Silverlight作为RIA技术代表在提高网络教学平台系统用户体验方面有具有响应速度非常快、交互性能好、多维展示内容比较丰富等优势,本文重点介绍了Silverlight 技术架构并详细的分析了Silverlight 技术在网络虚拟教学系统中的设计和实现。
网络教学系统RIA Silverlight
随着互联网的发展,网络虚拟教学已经成为新一代的教育形式,各种网络教学平台系统的开发需求也越来越多。在网络教学系统中现有的WEB开发技术框架下,仅仅靠HTML、JavaScript、CSS从布局、色彩、图形等方面来提高软件的易用度,已经很难从本质上提升网站的用户体验,因此如何通过响应速度快、交互好、多维展示来提高用户体验,一直以来都是教学平台系统开发中的研究重点,而丰富互联网应用程序(Rich Internet Applications,缩写为RIA)的出现很好的解决了这个问题。
Sliverlight技术是微软公司跨浏览器、跨平台的RIA解决方案,它以XAML作为其呈现技术的基础,是WPF(Windows Presentation Foundation)的一个子集。该技术使得WEB 应用程序拥有了灵活多样的界面控制元素,它将声音、视频、动画结合在一起,支持创建丰富的、具有绚丽视觉效果的交互式体验,并且可以随处实现,配合脚本语言JavaScript,可跨各种平台,具有响应速度快、交互好、多维展示等特点,使用该技术能实现多媒体演示、电子白板、在线考试、虚拟课堂等。
由于SilverLight基于.Net平台,使得服务器和客户端的开发模型和语言得以统一,使网络应用编程模式演进到一种新的阶段。SilverLight技术采用异步通信方式与服务器端进行交互,与传统应用开发相比更加复杂。因此在开发应用前,需要创建稳定高效的架构来支持对象的异步调用和传递、构建模块化的视图和视图控制以及安全认证机制。
图1 Web 应用架构图
网络教学平台系统属于WEB应用,为了增强了平台系统高效稳定和可移植性,分层设计已经成为系统框架设计的一个重要原则。WCF是微软提出的一个面向服务的分布式分层架构,它整合了.NET平台下所有和分布式系统有关的技术,其自始至终贯穿的SOA思想,更加适合系统业务的多样性和多变性。而Silverlight技术改变了传统Web应用程序界面设计方式,能够开发出具有专业图形、音频和视频的Web应用程序,增强了用户体验。因此将Silverlight技术放在WCF架构下使用,为高效开发网络教学平台系统提供了一种新的途径。 其中的WEB应用架构图如下图1所示。
在该Web应用框架中数据访问层主要实现对数据库数据增删改查等操作来获取最终数据。业务逻辑层主要实现流入数据的有效性和正确性验证,以达到业务逻辑目标。表示层实现用户与系统的交互即用户操作界面。Silverlight控件层直接支撑表示层,在Silverlight客户端环境下,封装整个控件基础架构,经过一定的扩展和改进,为表示层的开发提供了丰富的Silverlight控件支持。在Web应用客户端开发中,只需对一些控件进行组合扩展,便可开发出各种满足表示层页面展示需求用户界面;通过服务代理层,以实现对各种业务逻辑对象的访问。通过Silverlight控件层可大大提高用户界面的开发效率。
基于Silverlight的网络教学系统平台在设计实现过程中利用富界面技术实现课堂教学内容的呈现,Silverlight客户端使用MVVM设计模式实现,使系统的内容表示和业务逻辑、数据逻辑分离,保证系统的通用性。系统框架设计如图2所示,表示层通过在Web浏览器上外挂Silverlight浏览器插件实现网络教室、答疑交流及虚拟实验室等交互界面,保证用户与整个系统的交互;业务逻辑层主要负责调用数据层中的课程信息、教学戏院及虚拟元件库,生成网络教室场景及业务功能的处理。数据层则提供平台所需要的数据信息,如课程信息、用户信息及教学资源信息等。
系统中客户端和服务器端主要采用XAML数据进行数据交换。服务器负责监听客户端的连接请求和响应连接,管理和维护虚拟教学场景的一致性,同时还对服务器上的共享空间进行维护管理任,防止网络教学系统运行异常损失重要资料。客户端基于浏览器,用户登录系统后客户端创建与服务器之间的Socket连接,自动下载安装Silverlight浏览器插件,发送客户端的请求下载教学课件,服务器会根据客户端的不同性质进行教与学的任务分配,并建立角色模型,模拟真实学习情景。
Silverlight应用不能够独立运行,安装完Silverlight 2 Beta1之后,可以利用VS2008中Silverlight Application的项目模板中的ASP.NET Web Site或者Web Application Project来托管Silverlight应用程序,创建一个基于Silverlight的应用系统。当编译Silverlight应用程序后会在ClientBin文件夹中产生一个xap文件,xap文件是一个标准的.NET程序集,在编译的时候所有的XAML标识和资源文件如图片等都会包含在里面,xap文件采用了标准的Zip压缩算法,以减少客户端下载的文件体积。在系统生成的.aspx文件中可以看到在页面的顶部引入了System.Web.Silverlight程序集,支持<asp:Silverlight/>控件:
<%@Register Assembly=quot;System.Web.Silverlightquot;Namespace=quot;System.Web.UI.Silverlight Controlsquot;TagPrefix=quot;aspquot; %>
而在<asp:Silverlight/>控件的声明中属性Source属性则指定了编译生成的.xap文件的路径:
<asp:Silverlight ID=quot;Xaml1quot; runat=quot;serverquot; Source=quot;~/ClientBin/ Silverlightteach.xapquot;
Version=quot;2.0quot; Width=quot;100%quot; Height=quot;100%quot; />这样开发的平台系统就可以引入丰富的Silverlight交互界面实现技术。
丰富互联网应用程序的出现使基于WEB的网络应用程序发生了革命性的变化。基于Silverlight技术开发的教学平台系统不再需要单独安装和维护视频、动画、公式编辑器、虚拟现实等插件,具有响应速度快、交互好、多维展示等特点,带来前所未有的用户体验,大大提高了学习者的学习兴趣在网络教育领域必将具有广阔的应用前景。
[1]吕高旭.Silverlight:ASP.NET与AJAX 开发实战[M].北京:清华大学出版社,2008.
[2]Juaval Lowy著,张逸,徐宁译.WCF编程[M].机械工业出版社,2009.10.
[3]银光中国Silverlight资源.社区论坛[EB/OL].www.silverlightchina.net.