劉勇
(商洛學(xué)院圖書館,陜西商洛 726000)
隨著高等教育改革的逐步推進(jìn)和高校辦學(xué)規(guī)模的持續(xù)擴(kuò)大,國內(nèi)外高校將計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)等現(xiàn)代信息技術(shù)應(yīng)用到教育領(lǐng)域,從構(gòu)建基礎(chǔ)設(shè)施、積累信息資源等角度入手建設(shè)數(shù)字化校園,實(shí)現(xiàn)信息資源的高效利用和組織管理[1-2]。實(shí)踐教學(xué)是培養(yǎng)學(xué)生創(chuàng)新意識和實(shí)踐能力的重要途徑,同時(shí)也是高校教學(xué)的重要組成部分,具有理論教學(xué)不可替代的作用,直接關(guān)系到能否實(shí)現(xiàn)高校人才培養(yǎng)的目標(biāo)[3-4]。教育部《關(guān)于進(jìn)一步加強(qiáng)高校實(shí)踐育人工作的若干意見》(教思政〔2012〕1號)中明確提出要“強(qiáng)化實(shí)踐教學(xué)環(huán)節(jié),深化實(shí)踐教學(xué)方法改革”,要求各高校,特別是地方本科高校要保證實(shí)踐教學(xué)質(zhì)量。目前,雖然各高校在實(shí)習(xí)實(shí)踐及教學(xué)管理的各個(gè)環(huán)節(jié)中引入計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù),但其使用的管理,系統(tǒng)之間的數(shù)據(jù)信息描述格式不統(tǒng)一,數(shù)據(jù)信息的共享交換和集成比較困難,不同系統(tǒng)之間仍然存在大量冗余信息,造成實(shí)踐教學(xué)及管理的大多數(shù)環(huán)節(jié)仍然是半手工操作的模式,只是在形式上實(shí)現(xiàn)電子化,不能滿足信息化教學(xué)與管理的要求。
針對實(shí)踐教學(xué)管理系統(tǒng)中的資源浪費(fèi)和信息孤島等問題,利用面向服務(wù)架構(gòu)的思想體系,應(yīng)用Web Services技術(shù),設(shè)計(jì)并實(shí)現(xiàn)輕量級的面向服務(wù)的實(shí)踐教學(xué)服務(wù)管理系統(tǒng),為實(shí)踐教學(xué)系統(tǒng)的高效管理提供了可視化的、可擴(kuò)展的信息平臺,提升實(shí)踐教學(xué)管理服務(wù)水平。
面向服務(wù)架構(gòu)(SOA)是一個(gè)組件模型,它以服務(wù)層為基礎(chǔ),以一種統(tǒng)一和通用的方式進(jìn)行交互,而不涉及底層編程接口和通訊模型[5-6]。SOA架構(gòu)中有三種角色:服務(wù)提供者、服務(wù)請求者和服務(wù)中介。服務(wù)提供者將調(diào)試正確后的服務(wù)通過服務(wù)中介進(jìn)行發(fā)布,并在注冊中心注冊,供服務(wù)請求者檢索;服務(wù)請求者向服務(wù)中介請求查詢所需的特定服務(wù),服務(wù)中介根據(jù)請求查詢注冊中心,為服務(wù)請求者尋找滿足請求的服務(wù);服務(wù)中介向服務(wù)請求者返回滿足條件的服務(wù)描述信息,利用服務(wù)中介返回的描述信息,生成相應(yīng)的消息,并將消息發(fā)送給服務(wù)提供者,從而實(shí)現(xiàn)服務(wù)的綁定調(diào)用。因此,SOA架構(gòu)總體上具有松散耦合、平臺獨(dú)立、代碼重用和語言無關(guān)等優(yōu)勢,其工作流程如圖1所示。
圖1 SOA中的組件及其工作流程
目前,實(shí)現(xiàn)SOA架構(gòu)的主要有Web Services、CORBA、DCOM 和 RMI等技術(shù), 其中Web Services技術(shù)對SOA應(yīng)用支持最好,被廣泛應(yīng)用于SOA的實(shí)現(xiàn)技術(shù)。Web Services是一套標(biāo)準(zhǔn),其描述了一組使用XML消息通過網(wǎng)絡(luò)訪問的操作。Web Services技術(shù)通過SOAP(簡單對象訪問協(xié)議)接收和傳輸來自因特網(wǎng)或者其它服務(wù)系統(tǒng)的請求信息,并且利用WSDL(Web服務(wù)描述語言)對服務(wù)信息進(jìn)行描述說明,使用UDDI(統(tǒng)一描述、發(fā)現(xiàn)和集成)進(jìn)行軟件服務(wù)注冊和查找。
實(shí)踐教學(xué)服務(wù)管理系統(tǒng)作為虛擬實(shí)驗(yàn)室管理服務(wù)、文檔管理服務(wù)、課程管理服務(wù)以及用戶管理服務(wù)的集成服務(wù)管理系統(tǒng),具有服務(wù)注冊、服務(wù)查詢和服務(wù)管理三大功能。通過服務(wù)注冊、查詢、修改及刪除等功能,實(shí)現(xiàn)實(shí)踐教學(xué)系統(tǒng)的高效管理,其系統(tǒng)功能框圖如圖2所示。
圖2 實(shí)踐教學(xué)服務(wù)管理系統(tǒng)功能
服務(wù)注冊功能是實(shí)現(xiàn)服務(wù)集成系統(tǒng)的基礎(chǔ),具有承上啟下的作用,后續(xù)的服務(wù)查詢和管理功能需要在此基礎(chǔ)上實(shí)現(xiàn)。利用服務(wù)注冊將實(shí)驗(yàn)室管理服務(wù)、課程管理服務(wù)等符合SOA接口規(guī)范的服務(wù)名稱、協(xié)議號、端口號以及IP地址等服務(wù)信息,注冊錄入到服務(wù)管理集成系統(tǒng)的后臺數(shù)據(jù)庫中,提示服務(wù)注冊成功。否則,返回服務(wù)注冊失敗。
服務(wù)查詢功能是服務(wù)請求者根據(jù)服務(wù)名稱、協(xié)議號、端口號以及IP地址等查詢要求,利用SOA向服務(wù)管理集成系統(tǒng)發(fā)送查詢條件等服務(wù)請求信息,服務(wù)管理集成系統(tǒng)依據(jù)查詢篩選條件,通過后臺數(shù)據(jù)庫檢索查詢其所需要的服務(wù)信息。若查詢成功,則將其所查詢的服務(wù)信息以界面的形式返回給服務(wù)請求者。否則,提示無此服務(wù)信息。
服務(wù)管理功能綜合了服務(wù)注冊與服務(wù)查詢功能,是服務(wù)集成系統(tǒng)的高效管理平臺。利用服務(wù)管理對已經(jīng)注冊的服務(wù)信息進(jìn)行界面化的瀏覽、增加、刪除和修改,提高服務(wù)管理系統(tǒng)的效率。
系統(tǒng)采用Access 2010作為后臺數(shù)據(jù)庫,根據(jù)系統(tǒng)功能要求,需要有服務(wù)名稱、服務(wù)端口、服務(wù)地址和服務(wù)協(xié)議等服務(wù)信息,因此,數(shù)據(jù)庫設(shè)計(jì)為一個(gè)service表,含有五個(gè)字段,分別為:id(服務(wù)序號),name(服務(wù)名稱),port(服務(wù)端口),address(服務(wù)地址)和protocol(服務(wù)協(xié)議),數(shù)據(jù)庫data中的service表的結(jié)構(gòu),如表1所示。
表1 數(shù)據(jù)庫data中的service表結(jié)構(gòu)
根據(jù)功能需求和設(shè)計(jì)方案,系統(tǒng)采用C/S(Client/Service)架構(gòu),在Microsoft Visual Studio 2010開發(fā)平臺中利用C#語言實(shí)現(xiàn)Web Services的服務(wù)接口,實(shí)現(xiàn)了基于SOA的實(shí)踐教學(xué)管理系統(tǒng)的服務(wù)注冊、服務(wù)查詢以及服務(wù)的瀏覽、增加、刪除和修改等管理功能。客戶端主要包括注冊服務(wù)、查詢服務(wù)和管理服務(wù)等方面,服務(wù)器端口主要包括后臺數(shù)據(jù)庫連接、服務(wù)器建立、服務(wù)器端應(yīng)用配置等部分。
服務(wù)管理者通過網(wǎng)絡(luò)登錄服務(wù)管理系統(tǒng),進(jìn)入服務(wù)管理界面,通過注冊功能將增加的服務(wù)信息記錄并保存于后臺數(shù)據(jù)庫,即可完成注冊過程。系統(tǒng)注冊模塊利用Web Service服務(wù),通過調(diào)用Regist接口實(shí)現(xiàn)服務(wù)名稱、服務(wù)地址、服務(wù)協(xié)議以及服務(wù)端口等信息的注冊,返回“注冊成功”。注冊模塊的關(guān)鍵代碼如下,其運(yùn)行界面如圖3所示。
圖3 服務(wù)注冊運(yùn)行界面
服務(wù)管理者登錄到服務(wù)集成系統(tǒng)后,通過輸入服務(wù)查詢篩選條件,將其所查詢的服務(wù)端口、服務(wù)的IP地址以及服務(wù)的協(xié)議等服務(wù)信息以界面的形式顯示出來。系統(tǒng)查詢模塊利用Web Service服務(wù),通過調(diào)用Query接口,要求輸入服務(wù)名稱,根據(jù)輸入的服務(wù)名稱查詢條件,若找到,即返回服務(wù)地址、服務(wù)協(xié)議以及服務(wù)端口等信息,否則提示“無此服務(wù)記錄”。查詢模塊的關(guān)鍵代碼如下,其運(yùn)行界面如圖4所示。
圖4 服務(wù)查詢運(yùn)行界面
3.3.1 刪除服務(wù)
系統(tǒng)刪除服務(wù)模塊利用Web Service服務(wù),通過調(diào)用Delete接口,根據(jù)選擇的服務(wù)名稱條件,若找到相應(yīng)的服務(wù),即清空服務(wù)名稱、服務(wù)地址、服務(wù)協(xié)議以及服務(wù)端口等信息,返回“刪除服務(wù)成功”。否則,提示“刪除服務(wù)失敗”。刪除模塊的關(guān)鍵代碼如下,其運(yùn)行界面如圖5所示。
圖5 服務(wù)刪除運(yùn)行界面
3.3.2 修改服務(wù)
系統(tǒng)修改服務(wù)模塊利用Web Service服務(wù),通過調(diào)用Update接口,將修改輸入的服務(wù)名稱、服務(wù)地址、服務(wù)協(xié)議以及服務(wù)端口等信息更新至后臺數(shù)據(jù)庫,返回“修改服務(wù)成功”。否則,提示“修改服務(wù)失敗”。修改服務(wù)模塊的關(guān)鍵代碼如下,其運(yùn)行界面如圖6所示。
圖6 服務(wù)修改運(yùn)行界面
3.3.3 瀏覽服務(wù)
系統(tǒng)瀏覽服務(wù)模塊利用Web Service服務(wù),通過調(diào)用FormQuery_Load接口,應(yīng)用GetService方法獲取服務(wù)名稱、服務(wù)地址、服務(wù)協(xié)議以及服務(wù)端口等信息并以表單界面的形式顯示所獲取的服務(wù)信息。瀏覽服務(wù)模塊的關(guān)鍵代碼如下:
利用面向服務(wù)架構(gòu)的思想體系,應(yīng)用Web Services技術(shù),結(jié)合C#語言和ACCESS數(shù)據(jù)庫,設(shè)計(jì)并實(shí)現(xiàn)了輕量級的以服務(wù)為典型特征的實(shí)踐教學(xué)服務(wù)管理系統(tǒng)。系統(tǒng)運(yùn)行穩(wěn)定,操作方便,其功能達(dá)到了設(shè)計(jì)要求,增強(qiáng)了服務(wù)管理系統(tǒng)的信息交互,實(shí)現(xiàn)了服務(wù)管理系統(tǒng)的資源整合,為實(shí)踐教學(xué)服務(wù)系統(tǒng)的高效管理提供了可視化的、可擴(kuò)展的信息平臺。但對于系統(tǒng)的并發(fā)訪問問題,尚待進(jìn)一步研究。