劉勇
(商洛學院圖書館,陜西商洛 726000)
隨著高等教育改革的逐步推進和高校辦學規模的持續擴大,國內外高校將計算機技術和網絡技術等現代信息技術應用到教育領域,從構建基礎設施、積累信息資源等角度入手建設數字化校園,實現信息資源的高效利用和組織管理[1-2]。實踐教學是培養學生創新意識和實踐能力的重要途徑,同時也是高校教學的重要組成部分,具有理論教學不可替代的作用,直接關系到能否實現高校人才培養的目標[3-4]。教育部《關于進一步加強高校實踐育人工作的若干意見》(教思政〔2012〕1號)中明確提出要“強化實踐教學環節,深化實踐教學方法改革”,要求各高校,特別是地方本科高校要保證實踐教學質量。目前,雖然各高校在實習實踐及教學管理的各個環節中引入計算機技術和網絡技術,但其使用的管理,系統之間的數據信息描述格式不統一,數據信息的共享交換和集成比較困難,不同系統之間仍然存在大量冗余信息,造成實踐教學及管理的大多數環節仍然是半手工操作的模式,只是在形式上實現電子化,不能滿足信息化教學與管理的要求。
針對實踐教學管理系統中的資源浪費和信息孤島等問題,利用面向服務架構的思想體系,應用Web Services技術,設計并實現輕量級的面向服務的實踐教學服務管理系統,為實踐教學系統的高效管理提供了可視化的、可擴展的信息平臺,提升實踐教學管理服務水平。
面向服務架構(SOA)是一個組件模型,它以服務層為基礎,以一種統一和通用的方式進行交互,而不涉及底層編程接口和通訊模型[5-6]。SOA架構中有三種角色:服務提供者、服務請求者和服務中介。服務提供者將調試正確后的服務通過服務中介進行發布,并在注冊中心注冊,供服務請求者檢索;服務請求者向服務中介請求查詢所需的特定服務,服務中介根據請求查詢注冊中心,為服務請求者尋找滿足請求的服務;服務中介向服務請求者返回滿足條件的服務描述信息,利用服務中介返回的描述信息,生成相應的消息,并將消息發送給服務提供者,從而實現服務的綁定調用。因此,SOA架構總體上具有松散耦合、平臺獨立、代碼重用和語言無關等優勢,其工作流程如圖1所示。

圖1 SOA中的組件及其工作流程
目前,實現SOA架構的主要有Web Services、CORBA、DCOM 和 RMI等技術, 其中Web Services技術對SOA應用支持最好,被廣泛應用于SOA的實現技術。Web Services是一套標準,其描述了一組使用XML消息通過網絡訪問的操作。Web Services技術通過SOAP(簡單對象訪問協議)接收和傳輸來自因特網或者其它服務系統的請求信息,并且利用WSDL(Web服務描述語言)對服務信息進行描述說明,使用UDDI(統一描述、發現和集成)進行軟件服務注冊和查找。
實踐教學服務管理系統作為虛擬實驗室管理服務、文檔管理服務、課程管理服務以及用戶管理服務的集成服務管理系統,具有服務注冊、服務查詢和服務管理三大功能。通過服務注冊、查詢、修改及刪除等功能,實現實踐教學系統的高效管理,其系統功能框圖如圖2所示。

圖2 實踐教學服務管理系統功能
服務注冊功能是實現服務集成系統的基礎,具有承上啟下的作用,后續的服務查詢和管理功能需要在此基礎上實現。利用服務注冊將實驗室管理服務、課程管理服務等符合SOA接口規范的服務名稱、協議號、端口號以及IP地址等服務信息,注冊錄入到服務管理集成系統的后臺數據庫中,提示服務注冊成功。否則,返回服務注冊失敗。
服務查詢功能是服務請求者根據服務名稱、協議號、端口號以及IP地址等查詢要求,利用SOA向服務管理集成系統發送查詢條件等服務請求信息,服務管理集成系統依據查詢篩選條件,通過后臺數據庫檢索查詢其所需要的服務信息。若查詢成功,則將其所查詢的服務信息以界面的形式返回給服務請求者。否則,提示無此服務信息。
服務管理功能綜合了服務注冊與服務查詢功能,是服務集成系統的高效管理平臺。利用服務管理對已經注冊的服務信息進行界面化的瀏覽、增加、刪除和修改,提高服務管理系統的效率。
系統采用Access 2010作為后臺數據庫,根據系統功能要求,需要有服務名稱、服務端口、服務地址和服務協議等服務信息,因此,數據庫設計為一個service表,含有五個字段,分別為:id(服務序號),name(服務名稱),port(服務端口),address(服務地址)和protocol(服務協議),數據庫data中的service表的結構,如表1所示。

表1 數據庫data中的service表結構
根據功能需求和設計方案,系統采用C/S(Client/Service)架構,在Microsoft Visual Studio 2010開發平臺中利用C#語言實現Web Services的服務接口,實現了基于SOA的實踐教學管理系統的服務注冊、服務查詢以及服務的瀏覽、增加、刪除和修改等管理功能。客戶端主要包括注冊服務、查詢服務和管理服務等方面,服務器端口主要包括后臺數據庫連接、服務器建立、服務器端應用配置等部分。
服務管理者通過網絡登錄服務管理系統,進入服務管理界面,通過注冊功能將增加的服務信息記錄并保存于后臺數據庫,即可完成注冊過程。系統注冊模塊利用Web Service服務,通過調用Regist接口實現服務名稱、服務地址、服務協議以及服務端口等信息的注冊,返回“注冊成功”。注冊模塊的關鍵代碼如下,其運行界面如圖3所示。

圖3 服務注冊運行界面

服務管理者登錄到服務集成系統后,通過輸入服務查詢篩選條件,將其所查詢的服務端口、服務的IP地址以及服務的協議等服務信息以界面的形式顯示出來。系統查詢模塊利用Web Service服務,通過調用Query接口,要求輸入服務名稱,根據輸入的服務名稱查詢條件,若找到,即返回服務地址、服務協議以及服務端口等信息,否則提示“無此服務記錄”。查詢模塊的關鍵代碼如下,其運行界面如圖4所示。



圖4 服務查詢運行界面
3.3.1 刪除服務
系統刪除服務模塊利用Web Service服務,通過調用Delete接口,根據選擇的服務名稱條件,若找到相應的服務,即清空服務名稱、服務地址、服務協議以及服務端口等信息,返回“刪除服務成功”。否則,提示“刪除服務失敗”。刪除模塊的關鍵代碼如下,其運行界面如圖5所示。

圖5 服務刪除運行界面


3.3.2 修改服務
系統修改服務模塊利用Web Service服務,通過調用Update接口,將修改輸入的服務名稱、服務地址、服務協議以及服務端口等信息更新至后臺數據庫,返回“修改服務成功”。否則,提示“修改服務失敗”。修改服務模塊的關鍵代碼如下,其運行界面如圖6所示。

圖6 服務修改運行界面

3.3.3 瀏覽服務
系統瀏覽服務模塊利用Web Service服務,通過調用FormQuery_Load接口,應用GetService方法獲取服務名稱、服務地址、服務協議以及服務端口等信息并以表單界面的形式顯示所獲取的服務信息。瀏覽服務模塊的關鍵代碼如下:

利用面向服務架構的思想體系,應用Web Services技術,結合C#語言和ACCESS數據庫,設計并實現了輕量級的以服務為典型特征的實踐教學服務管理系統。系統運行穩定,操作方便,其功能達到了設計要求,增強了服務管理系統的信息交互,實現了服務管理系統的資源整合,為實踐教學服務系統的高效管理提供了可視化的、可擴展的信息平臺。但對于系統的并發訪問問題,尚待進一步研究。