趙婉芳 徐江紅 陳莉莉
(北京電子科技職業學院,北京 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.