王 曄,劉 紅,劉 斐,雷長海
(第二軍醫大學 網絡信息中心,上海 200433)
基于WCF技術架構的移動教學信息查詢系統的設計與實現*
王 曄,劉 紅,劉 斐,雷長海
(第二軍醫大學 網絡信息中心,上海 200433)
移動學習是移動通信技術在教育中應用的一種嶄新學習形式。利用手持設備開展移動教學活動,提高信息資源的利用率是國內外教育界研究的前沿和探討的熱點,更是高校面向現代化教學改革研究的重點。文章以高效而準確地為教師和學生提供教學相關信息為著眼點,基于WCF技術架構設計與實現了移動教學信息查詢系統,為提高學校教育信息化水平進行了有益的嘗試。
WCF;移動教學;信息系統
在《國家中長期教育改革和發展規劃綱要(2010-2020年)》的第十九章第五十九條中寫道:“充分利用優質資源和先進技術,創新運行機制和管理模式,整合現有資源,構建先進、高效、實用的數字化教育基礎設施。”這對高校的“十二五”建設是相當有啟發的,有助于高校從一個更廣泛的層面去做知識管理,實施資源的開發和利用。[1]
移動通信技術與移動計算技術在教育中的應用使得教育中出現了一種嶄新的學習形式——移動學習(Mobile Learning)。隨著我國移動互聯技術的不斷發展,如何利用手持設備開展移動教學活動便成為本世紀國內外教育界研究的前沿和探討的熱點,更是高校面向現代化教學改革研究的重點。[2]
我們以高效而準確地為教師和學生提供教學相關信息為著眼點,基于WCF技術架構設計與實現了移動教學信息查詢系統,為提高我校教育信息化水平進行了有益的嘗試。Web服務器程序開發選用ASP.NET技術,數據庫選用了安全性和效率都比較高的MS SQL Server 2005數據庫。
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 *本研究得到第二軍醫大學教育研究課題資助。 (編輯:隗爽)四、應用與討論
