厲毅,鄭煒
(浙江廣播電視大學遠程開放實驗室,浙江 杭州 310030)
基于SOA的遠程實驗教學系統(tǒng)的設計與實現*
厲毅,鄭煒
(浙江廣播電視大學遠程開放實驗室,浙江 杭州 310030)
由于缺乏統(tǒng)一的標準和規(guī)范,現有的實驗教學系統(tǒng)之間往往無法協(xié)作和互操作,造成實驗資源的重復建設和浪費。本文闡述了整合遠程實驗資源的基本思路和相關軟件技術,提出了基于SOA的遠程實驗教學系統(tǒng)的三層技術架構、系統(tǒng)功能架構和網絡拓撲結構,突破了遠程開放實驗教學環(huán)境建設中的共性關鍵技術,建設完成了浙江廣播電視大學遠程開放實驗平臺,初步實現了25項實驗軟件的整合。
SOA;遠程實驗;實驗整合;實驗教學系統(tǒng);面向服務架構
由于缺乏統(tǒng)一的標準和規(guī)范,現有的實驗教學系統(tǒng)往往成為了一個個“孤島”,無法實現資源共享和實驗數據交互,造成實驗資源的重復建設和浪費。[1]發(fā)展基于SOA架構技術的在線實驗平臺,支持動態(tài)的實驗資源集成,對實驗室資源的充分利用和教育資源的共享具有重要和深遠的意義。[2]
SOA(Service-oriented Architecture,面向服務架構)技術被認為是當前先進的軟件工程方法,其體系架構由服務注冊中心、服務消費者、服務提供者三個角色構成。其中,服務提供者負責使用WSDL描述和定義應用程序的功能并將服務信息發(fā)布到服務注冊中心,使其可以被訪問、接受和處理。服務消費者在服務注冊中心檢索需要的服務,并根據服務定義綁定和調用服務提供者已注冊的Web服務。服務注冊中心負責對外公布Web服務并允許服務消費者檢索所需要的服務。
SOA體系架構具有以下特點:可重用原有資源,易于集成和管理,減少系統(tǒng)開發(fā)成本,方便地實現系統(tǒng)整合。
針對不同編程語言、不同體系架構、不同底層數據庫、不同操作系統(tǒng)的遠程實驗軟件,建立一個融合各種遠程實驗資源的完整實驗體系需要創(chuàng)新的實驗整合思路和成熟可靠的軟件技術。
1.遠程實驗整合基本思路
為降低實驗體系的建設和運行管理成本,提高可用性和穩(wěn)定性,需要考慮數據標準、服務的封裝和注冊、用戶管理和認證授權機制、監(jiān)控機制、技術規(guī)劃和運維流程等問題。在數據標準問題上,需要為實驗軟件操作信息和實驗結果建立統(tǒng)一的數據模型和數據接口規(guī)范,方便不同實驗軟件的數據共享和數據整合。在服務的封裝和注冊問題上,把原有實驗軟件提供的功能分解成適合復用和新業(yè)務組合的Web服務,并進行注冊與管理。服務消費者只需關心如何組合應用現有的原子服務,以及組合服務遵循的執(zhí)行規(guī)則,不需了解Web服務功能實現的技術細節(jié),達到松散耦合的目標。[4]在用戶管理和認證授權機制問題上,建立統(tǒng)一的身份管理和認證授權機制。采用單點登錄方式進入實驗平臺,集成各實驗軟件的用戶認證,提高系統(tǒng)安全性和工作效率。在監(jiān)控機制問題上,需要整合各類服務器,建立統(tǒng)一監(jiān)控機制。在技術規(guī)劃和運維流程問題上,構建跨系統(tǒng)的技術規(guī)范,指導、約束第三方實驗軟件系統(tǒng)提供商,規(guī)范遠程實驗教學系統(tǒng)的招標選型、管理維護等。
2.遠程實驗整合相關技術
SOA并沒有定義實現服務的具體技術和方法。目前,被認為最適合實現面向服務架構的技術標準是Web Service,實現 Web Service的核心技術為 XML、SOAP、WSDL和UDDI等。[5]XML(Extensible Markup Language)表現形式極其簡單,任何應用程序都可以輕易地讀寫其中數據。SOAP(Simple Object Access Protocol)稱為簡單對象訪問協(xié)議,可以和許多互聯(lián)網協(xié)議結合使用。WSDL(Web Services Description Language)用來描述Web服務之間的通信,是Web服務事務、服務組合、服務安全的規(guī)范和標準。UDDI(Universal Description,Discovery and Integration)是一套分布式的為Web服務提供信息注冊中心的規(guī)范。
結合SOA架構的參考模型,本文提出了遠程實驗教學系統(tǒng)的系統(tǒng)模型架構、系統(tǒng)功能架構和系統(tǒng)的網絡拓撲結構。
1.系統(tǒng)模型架構
遠程實驗教學系統(tǒng)的模型架構如圖1所示。該系統(tǒng)由服務支撐層、通用服務層和服務應用層組成,[6]各層邏輯清晰,功能明確,注重體現標準化、重用性、健壯性。
服務支撐層集成了數據庫存儲軟件的基本信息以及接口信息,由實驗管理平臺、實驗數據、集成軟件數據及實驗資源數據構成,位于數據庫服務器端,負責處理來自服務提供者的注冊、注銷請求,更新服務注冊中心的服務,與已注冊服務進行匹配與映射,對各類異構的實驗資源進行服務化封裝、服務化適配和消息代理,從而為遠程實驗教學項目的創(chuàng)建提供所需的服務化資源,為系統(tǒng)提供底層支持。
通用服務層提供多學科課程遠程實驗教學公共服務,包括實驗課程管理、實驗項目管理、實驗前測管理、實驗成績管理、實驗交流和新聞管理等。它向服務支撐層發(fā)出請求,建立實際的數據庫連接,根據服務應用層提交的用戶請求生成SQL語句檢索或更新數據庫,并把數據處理結果返回給服務應用層,由服務應用層負責顯示給用戶。
服務應用層是遠程實驗教學系統(tǒng)的用戶接口部分,負擔著用戶與實驗軟件之間的對話功能,讓教師和學生直接面向遠程實驗教學系統(tǒng)的統(tǒng)一平臺。實驗項目的運行和操作通過通用服務層提供的服務實現,通過瀏覽器或客戶端軟件實現用戶與通用服務層的通信。該層可以有效支持實驗軟件的重構與資源重用,每個實驗項目在服務應用層都是基于標準的HTML表單開發(fā)的網頁單元,負責接收實驗所需的輸入數據以及顯示實驗結果。
2.系統(tǒng)功能架構
遠程實驗教學系統(tǒng)分為基礎數據管理、用戶權限管理、實驗管理(實驗管理分為實驗前準備、實驗過程管理和學生實驗)、交流平臺、平臺新聞五大模塊,如圖2所示。
系統(tǒng)的基礎數據管理模塊包括教學點管理、實驗注冊接入管理、學期管理、專業(yè)管理、課程管理、教師管理、學生管理、選課管理、資源分類管理等。用戶權限管理模塊包括角色管理、用戶管理、權限管理等。實驗管理是最主要的功能模塊,包含實驗前準備、實驗過程管理和學生實驗等。交流平臺包含即時通和實驗社區(qū)模塊,提供了實驗責任教師與實驗輔導教師、實驗輔導教師與學生之間的即時交流功能。平臺新聞包含新聞類別管理和新聞發(fā)布模塊。
3.網絡拓撲結構
系統(tǒng)的網絡拓撲結構如圖3所示。教師和學生可以在家里或學校實驗室通過互聯(lián)網遠程登錄實驗教學系統(tǒng)。系統(tǒng)配置Web服務器1臺,進行軟件發(fā)布和訪問。配置臨時文件服務器1臺,用于存儲用戶的Session、臨時文件等數據。配置文件備份服務器1臺,將軟件和每次實驗產生的物理數據進行備份,可制定時間和周期。配置數據備份服務器1臺,按照時間和周期對數據庫服務器中的數據進行定期的備份。配置特殊服務器1臺,用于特殊的實驗軟件或數據庫。
系統(tǒng)建立在較高性能的服務器或服務器集群上,為確保負載均衡,配置負載服務器一臺,安裝Nginx(engine x)服務或Windows系統(tǒng)自帶的網絡負載平衡管理器,架設在路由器后。
浙江廣播電視大學從2006年以來致力于遠程實驗的整合研究[7],建設了浙江省財政廳資助的遠程開放實驗室,開發(fā)了集成教務管理、實驗軟件管理、學生信息管理、實驗數據采集和分析的遠程開放實驗平臺。
1.遠程開放實驗平臺基本情況
遠程開放實驗平臺以.NET技術為依托,采用基于SOA的開放式系統(tǒng)架構和XML/HTTP等協(xié)議標準設計開發(fā)。
(1)用戶角色。用戶分為以下角色:實驗中心管理員、教學管理員、教學點管理員、課程主持教師、實驗責任教師、實驗輔導教師、學生。實驗中心管理員可以根據平臺提供的自由分配功能對各類型的教師進行權限分配管理,不同類型教師和管理員分別對應各級電大教師的工作職責。
(2)平臺接入實驗項目。遠程開放實驗平臺已完成二期建設,接入了電子商務、計算機網絡等25門課程的實驗項目,可以滿足各學科專業(yè)的50余門課程的遠程實驗。
(3)平臺實驗的組合。實驗責任教師可以選擇遠程開放平臺所提供的任意子實驗,組合成具體課程的實驗項目,并靈活配置必做和選做實驗項目。配置界面如圖4所示。
(4)平臺實驗的管理
平臺實驗的管理過程包括實驗安排、實驗預約管理與審核、實驗分組管理、指定實驗輔導教師、學生成績統(tǒng)計分析、實驗監(jiān)控、實驗結果等。
2.遠程開放實驗平臺的應用集成
(1)身份認證集成。用戶一旦登錄遠程開放實驗平臺,再登錄其他實驗軟件時不需重新登錄。
(2)電大中心網站集成。電大中心網站主頁中有對應的欄目存放遠程實驗相關的信息,包括各實驗項目對應軟件的使用情況等。經過身份認證的用戶可以通過電大中心網站進入到遠程開放實驗平臺的子模塊。
(3)各類實驗軟件集成。遠程開放實驗平臺可以集成基于B/S或C/S架構的實驗軟件。對于B/S架構的軟件,根據鏈接地址進入到軟件模塊,對于C/S架構的軟件也可以直接進入某個模塊菜單對應的功能。
(4)教務系統(tǒng)集成。遠程開放實驗平臺所需的人員信息(包括學生、教師和實驗管理員)、班級信息、專業(yè)信息、專業(yè)課程信息、機構信息等可由教務系統(tǒng)導出??梢酝ㄟ^開放教務系統(tǒng)數據接口的方式進行導出,也可以將教務系統(tǒng)的數據導出到Excel或dbf文件,然后導入到平臺進行操作。
3.實驗平臺與實驗軟件的數據共享
對于步驟型實驗軟件,將學生操作的步驟所對應的分數作為學生的成績。通過Web Service方法將學生在第三方實驗軟件中的操作步驟以及實驗成績獲取到平臺中,平臺返回獲取結果給第三方實驗軟件。對于結果型實驗軟件,通過Web Service方法傳遞實驗成績至實驗平臺,實驗平臺返回相應的操作結果給第三方實驗軟件。
實驗成績共享的部分XML代碼如下:
基于SOA架構、具備實驗軟件整合能力的遠程實驗教學系統(tǒng)的設計與實現,為提高遠程教育中實驗資源的共享率和利用率提供了好的解決思路。由于遠程實驗教學資源來自于不同的高校、公司、研究院所等,不同實驗操作過程均有其獨立的業(yè)務流程和規(guī)則,在實驗整合和服務組裝過程中業(yè)務層面的異構問題仍有待解決和完善。☉
[1]馬華,陳振.基于構件組裝的遠程實驗教學系統(tǒng)研究及應用[J].計算機系統(tǒng)應用,2009,18(11):130-134.
[2]尹學松等.反思、探索與突破——對遠程開放實驗教學的思考[J].遠程教育雜志,2008(2):45-48.
[3]邱波.SOA在校際虛擬實驗系統(tǒng)共享中的應用[J].實驗室研究與探索,2010,8(29):58-60.
[4]裘慧奇,陳世平,朱宇紅.基于SOA的區(qū)域內高校校際間網上資源共享和協(xié)作服務模式研究[J].計算機應用研究,2011,1(28):192-194.
[5]陳艷麗等.基于SOA的開放式遠程實驗教學系統(tǒng)框架[J].計算機時代,2010(4):23-25.
[6]張海軍,史維峰,劉偉.基于SOA企業(yè)應用集成框架研究與實現[J].計算機工程與設計,2008,4(29):2085-2092.
[7]齊幼菊,尹學松,龔祥國.遠程開放實驗平臺的研究與設計[J].中國遠程教育,2007(10):53-56.
(編輯:金冉)
G434
B
1673-8454(2012)11-0043-04
*項目來源:浙江省教育廳2010年度研究課題“移動學習在遠程教育中的應用研究”(Y201018097),浙江省教育規(guī)劃2011年度課題“終身學習框架下基于遠程開放實驗的成人學習研究”(SCG408)。