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