摘 要: 針對目前國內(nèi)許多高校各部門的應用系統(tǒng)相對獨立,并且部門之間的數(shù)據(jù)交換往往需要人工處理的特點,設計了一個基于SOA架構的校園OA系統(tǒng),該系統(tǒng)采用Web Service接口對高校各部門應用系統(tǒng)進行無縫連接,實現(xiàn)各部門日常辦公的相互協(xié)作、公文自動流轉、信息關聯(lián)查詢以及統(tǒng)一管理的功能。在實際應用中,取得了較好的效果,對國內(nèi)各高校的數(shù)字化校園建設具有一定的借鑒意義。
關鍵詞: OA系統(tǒng);面向服務架構;Web Service接口;數(shù)據(jù)交換;數(shù)字化校園
在國內(nèi)各高校信息化建設過程中,各個職能部門根據(jù)各自的需求選擇了各自的軟硬件環(huán)境,使得各職能部門的數(shù)據(jù)不能通過應用系統(tǒng)進行數(shù)據(jù)交換,而只能通過文件打印傳閱或電子郵件群發(fā)的方式進行數(shù)據(jù)交換,前者容易造成文件傳達有一定延遲,后者則易錯發(fā)、漏發(fā)和不能即時通知接收者,兩種方式都難以統(tǒng)一管理。
隨著高校數(shù)字化建設的推進,現(xiàn)在高校各職能部門比以往任何時候都更需要實現(xiàn)辦公自動化。實現(xiàn)辦公自動化后,高校工作的一部分業(yè)務可以借助先進的辦公軟件進行處理,實現(xiàn)文字處理、信息傳遞、存儲與檢索的現(xiàn)代化管理,使相關工作人員從繁忙、低效的手工操作中解放出來。本文以某高校的數(shù)字化校園OA[1]項目為例,提出基于SOA架構[2]的校園OA系統(tǒng),該系統(tǒng)是一款為了解決高校各職能部門應用系統(tǒng)之間的整合和實現(xiàn)統(tǒng)一管理的辦公自動化軟件,可以最大程度地減少系統(tǒng)間的耦合,從而提高系統(tǒng)組件的可重用性,實現(xiàn)應用的無縫縫合。
1 SOA概述
1996年Gartner提出SOA,目的是讓企業(yè)業(yè)務更加敏捷,軟件系統(tǒng)變得更有彈性,使企業(yè)能快速響應需求的變化。SOA技術是一種有效解決系統(tǒng)由異構性所產(chǎn)生的問題的新體系架構,其思想是提供統(tǒng)一接口,通過服務的發(fā)布、發(fā)現(xiàn)以及調(diào)用等機制為其他應用程序提供服務。通過SOA構建的服務,可以使不同平臺、不同語言開發(fā)的應用進行相互調(diào)用,可以最大程度地減少各應用系統(tǒng)間的耦合,在不改變原有應用系統(tǒng)結構的情況下實現(xiàn)應用的無縫縫合,達到數(shù)據(jù)交換的目的。而Web Service[3]是SOA的一種具體實現(xiàn),是一種跨平臺、跨語言的服務,它執(zhí)行特定的任務,遵守具體的技術規(guī)范[4],如XML[5]、SOAP[6]、WSDL[7]、UDDI[8]等標準。Web Service以一種松散服務的捆綁集合形式,通過開發(fā)、發(fā)布和動態(tài)綁定實現(xiàn)異構系統(tǒng)之間的通信。WSDL定義的接口描述了Web Service,而WSDL的語義用XML進行定義。UDDI是一種與語言無關的協(xié)議,用于與注冊中心進行交互以及查找服務。圖1是基于Web服務的SOA結構模型。
2 校園OA系統(tǒng)概況
本系統(tǒng)針對某高校開發(fā),是學校的一個辦公自動化系統(tǒng),所以針對性比較強,實用性及安全性需要考慮得比較深入。主要實現(xiàn)學校各部門、各人員間的信息交流、資源共享; 實現(xiàn)內(nèi)部辦公(公文、審批流轉、請示、報告、督查督辦等)網(wǎng)絡化、電子化、規(guī)范化、集成化,全面提升學校各級管理部門的工作質(zhì)量和工作效率;實現(xiàn)內(nèi)部各機構業(yè)務管理的信息化管理,提高各項業(yè)務管理水平;實現(xiàn)機構信息集成,為領導管理和決策提供在線式的支持。
3 需求分析
3.1 功能描述
經(jīng)過分析,校園OA系統(tǒng)的功能模塊劃分為教學管理、專業(yè)建設管理、個人事務管理、信息發(fā)布、系部文檔管理、實驗室與實習基地管理、學生信息管理和系統(tǒng)管理。其主要功能如下:
(1)教學管理:包括教職工基本信息管理、教師業(yè)務檔案管理(教學文件管理和參加培訓進修信息管理)、外請教師信息管理、科研與教研管理(課題、論文、教材編著教學成果)、人事獎懲信息管理(各種獲獎情況的管理)、課程信息管理(包括學年度學期、課程名稱、理論學時、實操學時、分批上機情況、上課、上機地點、授課教材、上課方式(多媒體教室和機房))、教研室(專業(yè))管理(教研室(專業(yè))的設置、教研室(專業(yè))人員管理、教學計劃管理、教研室(專業(yè))活動管理、教研室(專業(yè))計劃與總結管理)、課酬管理。
(2)專業(yè)建設管理:包括專業(yè)設置管理、專業(yè)帶頭人信息管理、專業(yè)建設文檔管理。
(3)個人事務管理:包括密碼修改、通訊錄管理(學院、各部門主要領導及本系教職工的電話號碼)、短消息系統(tǒng)、調(diào)課請假出差管理。
(4)信息發(fā)布:包括公告欄、新聞發(fā)布、友情鏈接、電子日歷。
(5)系部文檔管理:包括系大事記管理、系文件管理、工作計劃管理、工作總結管理。
(6)實驗室與實習基地管理:包括實驗室設備管理(包括地點、名稱、設備型號、設備廠家、數(shù)量、使用專業(yè)、設備維修點信息、設備維修登記)、實驗課程安排、實習就業(yè)基地管理。
(7)學生信息管理:包括輔導員信息管理、學生干部信息管理、學生獎懲和助貸信息管理(三好學生、優(yōu)秀干部、優(yōu)秀團員、獲獎情況、獎學金(助學金、勵志獎、國家獎學金))、實習就業(yè)信息管理(包括單位、聯(lián)系人、聯(lián)系電話)、技能證書管理、黨員信息管理(預備黨員、正式黨員)、英語證書管理、個人特長信息管理、學生活動信息管理、實習就業(yè)信息發(fā)布。
(8)系統(tǒng)管理:包括用戶設置與數(shù)據(jù)備份。
3.2 用例分析
根據(jù)以上的功能描述,可以得到校園OA系統(tǒng)的角色包括:系統(tǒng)用戶、高級用戶、管理員用戶、實驗室管理員、學生、教職工用戶、系主任、教研室主任、教學副主任、學生副主任、專任教師、外聘教師、臨時教師、秘書、班主任。不同的角色擁有不同的權限。
專任教師可以通過校園OA系統(tǒng)查詢課程基本信息和教師基本信息,并可建立教師業(yè)務檔案、申請調(diào)、停課和查詢指導學生參賽情況,專任教師用例圖如圖2所示。
3.3 校園OA系統(tǒng)的SOA架構設計
校園OA系統(tǒng)使用SOA架構實現(xiàn)所有功能。為了使系統(tǒng)能夠更好地適應各功能模塊的集成,實現(xiàn)各模塊之間的松散耦合,并提高系統(tǒng)數(shù)據(jù)的安全性,使用分層設計模型的思想設計系統(tǒng),如圖4所示。
3.4 校園OA系統(tǒng)數(shù)據(jù)交換架構
目前的數(shù)據(jù)交換平臺大多采用XML作為數(shù)據(jù)轉換橋梁,通過XML Bean[9]對數(shù)據(jù)進行增、刪、改、查等操作,最后將XML的數(shù)據(jù)進行轉換保存在外部數(shù)據(jù)庫中。這種方法對數(shù)據(jù)使用者來說,存在不靈活、不易用的問題,因此,本文的數(shù)據(jù)交換中心采用Word文檔作為原始數(shù)據(jù)池[10],將Word文檔的數(shù)據(jù)存進外部數(shù)據(jù)庫,并實現(xiàn)Web Service接口。具體流程為:首先,學校的教務管理系統(tǒng)、學生信息管理系統(tǒng)以及人事管理系統(tǒng)等應用系統(tǒng)的相關數(shù)據(jù)通過數(shù)據(jù)采集接口進行自動獲取,然后Web Service再對獲取的數(shù)據(jù)進行處理。數(shù)據(jù)交換平臺的工作主要是將各個應用系統(tǒng)采集的數(shù)據(jù)保存為Word文檔,用Word文檔作為原始數(shù)據(jù)池,然后將原始數(shù)據(jù)池中的數(shù)據(jù)寫進外部數(shù)據(jù)庫,各應用系統(tǒng)可以直接訪問外部數(shù)據(jù)庫獲取數(shù)據(jù),或者將原始數(shù)據(jù)池中的Word文檔讀取到核心處理模塊,然后再對外部數(shù)據(jù)庫中的數(shù)據(jù)進行增、刪、改、查等操作,最后將結果通過注冊的Web Service對外部應用提供訪問。數(shù)據(jù)交換平臺的架構如圖5所示。
(2)Web Service的定義與開發(fā)
利用Web服務組件實現(xiàn)校園OA系統(tǒng)各模塊的管理,其過程可以分為以下4個步驟:
①定義各應用系統(tǒng)提供的Web Service接口
根據(jù)各應用系統(tǒng)需要對外暴露的信息的不同,將函數(shù)名以及調(diào)用的參數(shù)用表格列出。
②屬性描述
將上一步驟Web Service接口的內(nèi)部屬性用Word描述成模板數(shù)據(jù)。
③實現(xiàn)Web Service接口文件
實現(xiàn)Web Service接口內(nèi)部功能代碼。當外部應用調(diào)用Web Service接口時,接口會自動執(zhí)行內(nèi)部功能代碼并返回數(shù)據(jù)集結果。
④部署Web Service
Web Service部署描述WSDD(Web Service Deploy Description)[11]文件定義了將Web Service部署到服務器上時需要用到的參數(shù)。
校園OA系統(tǒng)使用ASP.NET2.0內(nèi)建的Web Service[12]創(chuàng)建功能來創(chuàng)建接口;各層之間的接口采用C#語言創(chuàng)建接口類來實現(xiàn)。
(3)數(shù)據(jù)交換的實現(xiàn)
數(shù)據(jù)交換的實現(xiàn)就是對數(shù)據(jù)交換平臺中的原始數(shù)據(jù)池Word文檔進行解析[13],然后將Word文檔的數(shù)據(jù)提取后保存到數(shù)據(jù)庫中。在對Word文檔解析的過程中使用到代碼自動生成器,代碼自動生成器的實現(xiàn)流程[14]如圖6所示。
本文通過研究SOA技術在校園應用系統(tǒng)集成中的特點,設計并實現(xiàn)了基于SOA架構的校園OA系統(tǒng),該系統(tǒng)通過發(fā)布Web Service實現(xiàn)系統(tǒng)的集成與數(shù)據(jù)轉換,解決了傳統(tǒng)高校辦公無法實現(xiàn)的實時、高效與統(tǒng)一管理的難題。該系統(tǒng)達到了預期的效果并成功應用到了某高校校園信息化建設當中。
參考文獻
[1] 張偉罡.基于ASP.NET技術的學校網(wǎng)絡辦公系統(tǒng)的設計與實現(xiàn)[J].計算機應用與軟件,2012,29(11):243-247.
[2] 李梅,奚建清.基于SOA架構的網(wǎng)絡教學平臺集成研究與設計[J].實驗室研究與探索,2010,29(11):173-176.
[3] 李冬睿,李文貴,許統(tǒng)德.基于Web Service的電子政務數(shù)據(jù)交換系統(tǒng)的實現(xiàn)[J].計算機與現(xiàn)代化,2009(10):104-107.
[4] 顧寧,劉家茂,柴曉路.Web Services原理與研發(fā)實踐[M]. 北京:機械工業(yè)出版社,2005.
[5] 孫鑫.XML、XML Schema、XSLT 2.0和XQuery開發(fā)詳解[M]. 北京:電子工業(yè)出版社,2009.
[6] 英格蘭德.Java與SOAP[M].黃剛,譯.北京:中國電力出版社,2002.
[7] 劉偉.基于WSDL的Web服務可替換性驗證研究[D].上海:復旦大學,2012.
[8] 劉志輝.基于Web服務與XML技術的異構數(shù)據(jù)集成的研究[D].大連:大連海事大學,2012.
[9] 谷玉奎,曹寶香,袁玉珠.基于SOA的通用權限管理服務[J].計算機技術與發(fā)展,2008,18(6):70-72.
[10] 葉枝平.基于XML的數(shù)據(jù)交換平臺及其關鍵問題的分析與設計[D].廣州:廣東工業(yè)大學,2008.
[11] 金路.基于SOA的聯(lián)網(wǎng)裝置應用集成技術研究與實現(xiàn)[D].南京:南京郵電大學,2013.
[12] 李劍,陳海建.基于Web Services和插件架構的新聞中心平臺的設計[J].微型機與應用,2012,31(23):14-17.
[13] 陳洪猛.全文檢索技術的研究與實現(xiàn)[D].北京:北京工業(yè)大學,2008.
[14] 李梅,郎青山.一種數(shù)據(jù)庫代碼自動生成器的設計[J].太原理工大學學報,2009,40(6):596-599.