《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于SOA架構(gòu)的校園OA系統(tǒng)的設(shè)計與實現(xiàn)
基于SOA架構(gòu)的校園OA系統(tǒng)的設(shè)計與實現(xiàn)
來源:微型機(jī)與應(yīng)用2013年第22期
李冬睿1,李 梅2
(1.廣東農(nóng)工商職業(yè)技術(shù)學(xué)院 計算機(jī)系,廣東 廣州510507; 2.廣東農(nóng)工商職業(yè)技術(shù)學(xué)院 網(wǎng)絡(luò)中
摘要: 針對目前國內(nèi)許多高校各部門的應(yīng)用系統(tǒng)相對獨立,并且部門之間的數(shù)據(jù)交換往往需要人工處理的特點,設(shè)計了一個基于SOA架構(gòu)的校園OA系統(tǒng),該系統(tǒng)采用Web Service接口對高校各部門應(yīng)用系統(tǒng)進(jìn)行無縫連接,實現(xiàn)各部門日常辦公的相互協(xié)作、公文自動流轉(zhuǎn)、信息關(guān)聯(lián)查詢以及統(tǒng)一管理的功能。在實際應(yīng)用中,取得了較好的效果,對國內(nèi)各高校的數(shù)字化校園建設(shè)具有一定的借鑒意義。
Abstract:
Key words :

摘  要: 針對目前國內(nèi)許多高校各部門的應(yīng)用系統(tǒng)相對獨立,并且部門之間的數(shù)據(jù)交換往往需要人工處理的特點,設(shè)計了一個基于SOA架構(gòu)的校園OA系統(tǒng),該系統(tǒng)采用Web Service接口對高校各部門應(yīng)用系統(tǒng)進(jìn)行無縫連接,實現(xiàn)各部門日常辦公的相互協(xié)作、公文自動流轉(zhuǎn)、信息關(guān)聯(lián)查詢以及統(tǒng)一管理的功能。在實際應(yīng)用中,取得了較好的效果,對國內(nèi)各高校的數(shù)字化校園建設(shè)具有一定的借鑒意義。
關(guān)鍵詞: OA系統(tǒng);面向服務(wù)架構(gòu);Web Service接口;數(shù)據(jù)交換;數(shù)字化校園

    在國內(nèi)各高校信息化建設(shè)過程中,各個職能部門根據(jù)各自的需求選擇了各自的軟硬件環(huán)境,使得各職能部門的數(shù)據(jù)不能通過應(yīng)用系統(tǒng)進(jìn)行數(shù)據(jù)交換,而只能通過文件打印傳閱或電子郵件群發(fā)的方式進(jìn)行數(shù)據(jù)交換,前者容易造成文件傳達(dá)有一定延遲,后者則易錯發(fā)、漏發(fā)和不能即時通知接收者,兩種方式都難以統(tǒng)一管理。
    隨著高校數(shù)字化建設(shè)的推進(jìn),現(xiàn)在高校各職能部門比以往任何時候都更需要實現(xiàn)辦公自動化。實現(xiàn)辦公自動化后,高校工作的一部分業(yè)務(wù)可以借助先進(jìn)的辦公軟件進(jìn)行處理,實現(xiàn)文字處理、信息傳遞、存儲與檢索的現(xiàn)代化管理,使相關(guān)工作人員從繁忙、低效的手工操作中解放出來。本文以某高校的數(shù)字化校園OA[1]項目為例,提出基于SOA架構(gòu)[2]的校園OA系統(tǒng),該系統(tǒng)是一款為了解決高校各職能部門應(yīng)用系統(tǒng)之間的整合和實現(xiàn)統(tǒng)一管理的辦公自動化軟件,可以最大程度地減少系統(tǒng)間的耦合,從而提高系統(tǒng)組件的可重用性,實現(xiàn)應(yīng)用的無縫縫合。
1 SOA概述
    1996年Gartner提出SOA,目的是讓企業(yè)業(yè)務(wù)更加敏捷,軟件系統(tǒng)變得更有彈性,使企業(yè)能快速響應(yīng)需求的變化。SOA技術(shù)是一種有效解決系統(tǒng)由異構(gòu)性所產(chǎn)生的問題的新體系架構(gòu),其思想是提供統(tǒng)一接口,通過服務(wù)的發(fā)布、發(fā)現(xiàn)以及調(diào)用等機(jī)制為其他應(yīng)用程序提供服務(wù)。通過SOA構(gòu)建的服務(wù),可以使不同平臺、不同語言開發(fā)的應(yīng)用進(jìn)行相互調(diào)用,可以最大程度地減少各應(yīng)用系統(tǒng)間的耦合,在不改變原有應(yīng)用系統(tǒng)結(jié)構(gòu)的情況下實現(xiàn)應(yīng)用的無縫縫合,達(dá)到數(shù)據(jù)交換的目的。而Web Service[3]是SOA的一種具體實現(xiàn),是一種跨平臺、跨語言的服務(wù),它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范[4],如XML[5]、SOAP[6]、WSDL[7]、UDDI[8]等標(biāo)準(zhǔn)。Web Service以一種松散服務(wù)的捆綁集合形式,通過開發(fā)、發(fā)布和動態(tài)綁定實現(xiàn)異構(gòu)系統(tǒng)之間的通信。WSDL定義的接口描述了Web Service,而WSDL的語義用XML進(jìn)行定義。UDDI是一種與語言無關(guān)的協(xié)議,用于與注冊中心進(jìn)行交互以及查找服務(wù)。圖1是基于Web服務(wù)的SOA結(jié)構(gòu)模型。

2 校園OA系統(tǒng)概況
    本系統(tǒng)針對某高校開發(fā),是學(xué)校的一個辦公自動化系統(tǒng),所以針對性比較強(qiáng),實用性及安全性需要考慮得比較深入。主要實現(xiàn)學(xué)校各部門、各人員間的信息交流、資源共享; 實現(xiàn)內(nèi)部辦公(公文、審批流轉(zhuǎn)、請示、報告、督查督辦等)網(wǎng)絡(luò)化、電子化、規(guī)范化、集成化,全面提升學(xué)校各級管理部門的工作質(zhì)量和工作效率;實現(xiàn)內(nèi)部各機(jī)構(gòu)業(yè)務(wù)管理的信息化管理,提高各項業(yè)務(wù)管理水平;實現(xiàn)機(jī)構(gòu)信息集成,為領(lǐng)導(dǎo)管理和決策提供在線式的支持。
3 需求分析
3.1 功能描述

    經(jīng)過分析,校園OA系統(tǒng)的功能模塊劃分為教學(xué)管理、專業(yè)建設(shè)管理、個人事務(wù)管理、信息發(fā)布、系部文檔管理、實驗室與實習(xí)基地管理、學(xué)生信息管理和系統(tǒng)管理。其主要功能如下:
    (1)教學(xué)管理:包括教職工基本信息管理、教師業(yè)務(wù)檔案管理(教學(xué)文件管理和參加培訓(xùn)進(jìn)修信息管理)、外請教師信息管理、科研與教研管理(課題、論文、教材編著教學(xué)成果)、人事獎懲信息管理(各種獲獎情況的管理)、課程信息管理(包括學(xué)年度學(xué)期、課程名稱、理論學(xué)時、實操學(xué)時、分批上機(jī)情況、上課、上機(jī)地點、授課教材、上課方式(多媒體教室和機(jī)房))、教研室(專業(yè))管理(教研室(專業(yè))的設(shè)置、教研室(專業(yè))人員管理、教學(xué)計劃管理、教研室(專業(yè))活動管理、教研室(專業(yè))計劃與總結(jié)管理)、課酬管理。
    (2)專業(yè)建設(shè)管理:包括專業(yè)設(shè)置管理、專業(yè)帶頭人信息管理、專業(yè)建設(shè)文檔管理。
    (3)個人事務(wù)管理:包括密碼修改、通訊錄管理(學(xué)院、各部門主要領(lǐng)導(dǎo)及本系教職工的電話號碼)、短消息系統(tǒng)、調(diào)課請假出差管理。
    (4)信息發(fā)布:包括公告欄、新聞發(fā)布、友情鏈接、電子日歷。
    (5)系部文檔管理:包括系大事記管理、系文件管理、工作計劃管理、工作總結(jié)管理。
    (6)實驗室與實習(xí)基地管理:包括實驗室設(shè)備管理(包括地點、名稱、設(shè)備型號、設(shè)備廠家、數(shù)量、使用專業(yè)、設(shè)備維修點信息、設(shè)備維修登記)、實驗課程安排、實習(xí)就業(yè)基地管理。
    (7)學(xué)生信息管理:包括輔導(dǎo)員信息管理、學(xué)生干部信息管理、學(xué)生獎懲和助貸信息管理(三好學(xué)生、優(yōu)秀干部、優(yōu)秀團(tuán)員、獲獎情況、獎學(xué)金(助學(xué)金、勵志獎、國家獎學(xué)金))、實習(xí)就業(yè)信息管理(包括單位、聯(lián)系人、聯(lián)系電話)、技能證書管理、黨員信息管理(預(yù)備黨員、正式黨員)、英語證書管理、個人特長信息管理、學(xué)生活動信息管理、實習(xí)就業(yè)信息發(fā)布。
    (8)系統(tǒng)管理:包括用戶設(shè)置與數(shù)據(jù)備份。
3.2 用例分析
    根據(jù)以上的功能描述,可以得到校園OA系統(tǒng)的角色包括:系統(tǒng)用戶、高級用戶、管理員用戶、實驗室管理員、學(xué)生、教職工用戶、系主任、教研室主任、教學(xué)副主任、學(xué)生副主任、專任教師、外聘教師、臨時教師、秘書、班主任。不同的角色擁有不同的權(quán)限。
    專任教師可以通過校園OA系統(tǒng)查詢課程基本信息和教師基本信息,并可建立教師業(yè)務(wù)檔案、申請調(diào)、停課和查詢指導(dǎo)學(xué)生參賽情況,專任教師用例圖如圖2所示。

3.3 校園OA系統(tǒng)的SOA架構(gòu)設(shè)計
    校園OA系統(tǒng)使用SOA架構(gòu)實現(xiàn)所有功能。為了使系統(tǒng)能夠更好地適應(yīng)各功能模塊的集成,實現(xiàn)各模塊之間的松散耦合,并提高系統(tǒng)數(shù)據(jù)的安全性,使用分層設(shè)計模型的思想設(shè)計系統(tǒng),如圖4所示。

3.4 校園OA系統(tǒng)數(shù)據(jù)交換架構(gòu)
    目前的數(shù)據(jù)交換平臺大多采用XML作為數(shù)據(jù)轉(zhuǎn)換橋梁,通過XML Bean[9]對數(shù)據(jù)進(jìn)行增、刪、改、查等操作,最后將XML的數(shù)據(jù)進(jìn)行轉(zhuǎn)換保存在外部數(shù)據(jù)庫中。這種方法對數(shù)據(jù)使用者來說,存在不靈活、不易用的問題,因此,本文的數(shù)據(jù)交換中心采用Word文檔作為原始數(shù)據(jù)池[10],將Word文檔的數(shù)據(jù)存進(jìn)外部數(shù)據(jù)庫,并實現(xiàn)Web Service接口。具體流程為:首先,學(xué)校的教務(wù)管理系統(tǒng)、學(xué)生信息管理系統(tǒng)以及人事管理系統(tǒng)等應(yīng)用系統(tǒng)的相關(guān)數(shù)據(jù)通過數(shù)據(jù)采集接口進(jìn)行自動獲取,然后Web Service再對獲取的數(shù)據(jù)進(jìn)行處理。數(shù)據(jù)交換平臺的工作主要是將各個應(yīng)用系統(tǒng)采集的數(shù)據(jù)保存為Word文檔,用Word文檔作為原始數(shù)據(jù)池,然后將原始數(shù)據(jù)池中的數(shù)據(jù)寫進(jìn)外部數(shù)據(jù)庫,各應(yīng)用系統(tǒng)可以直接訪問外部數(shù)據(jù)庫獲取數(shù)據(jù),或者將原始數(shù)據(jù)池中的Word文檔讀取到核心處理模塊,然后再對外部數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行增、刪、改、查等操作,最后將結(jié)果通過注冊的Web Service對外部應(yīng)用提供訪問。數(shù)據(jù)交換平臺的架構(gòu)如圖5所示。

 

 

    (2)Web Service的定義與開發(fā)
    利用Web服務(wù)組件實現(xiàn)校園OA系統(tǒng)各模塊的管理,其過程可以分為以下4個步驟:
    ①定義各應(yīng)用系統(tǒng)提供的Web Service接口
    根據(jù)各應(yīng)用系統(tǒng)需要對外暴露的信息的不同,將函數(shù)名以及調(diào)用的參數(shù)用表格列出。
    ②屬性描述
    將上一步驟Web Service接口的內(nèi)部屬性用Word描述成模板數(shù)據(jù)。
    ③實現(xiàn)Web Service接口文件
    實現(xiàn)Web Service接口內(nèi)部功能代碼。當(dāng)外部應(yīng)用調(diào)用Web Service接口時,接口會自動執(zhí)行內(nèi)部功能代碼并返回數(shù)據(jù)集結(jié)果。
    ④部署Web Service
    Web Service部署描述WSDD(Web Service Deploy Description)[11]文件定義了將Web Service部署到服務(wù)器上時需要用到的參數(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文檔進(jìn)行解析[13],然后將Word文檔的數(shù)據(jù)提取后保存到數(shù)據(jù)庫中。在對Word文檔解析的過程中使用到代碼自動生成器,代碼自動生成器的實現(xiàn)流程[14]如圖6所示。

    本文通過研究SOA技術(shù)在校園應(yīng)用系統(tǒng)集成中的特點,設(shè)計并實現(xiàn)了基于SOA架構(gòu)的校園OA系統(tǒng),該系統(tǒng)通過發(fā)布Web Service實現(xiàn)系統(tǒng)的集成與數(shù)據(jù)轉(zhuǎn)換,解決了傳統(tǒng)高校辦公無法實現(xiàn)的實時、高效與統(tǒng)一管理的難題。該系統(tǒng)達(dá)到了預(yù)期的效果并成功應(yīng)用到了某高校校園信息化建設(shè)當(dāng)中。
參考文獻(xiàn)
[1] 張偉罡.基于ASP.NET技術(shù)的學(xué)校網(wǎng)絡(luò)辦公系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)應(yīng)用與軟件,2012,29(11):243-247.
[2] 李梅,奚建清.基于SOA架構(gòu)的網(wǎng)絡(luò)教學(xué)平臺集成研究與設(shè)計[J].實驗室研究與探索,2010,29(11):173-176.
[3] 李冬睿,李文貴,許統(tǒng)德.基于Web Service的電子政務(wù)數(shù)據(jù)交換系統(tǒng)的實現(xiàn)[J].計算機(jī)與現(xiàn)代化,2009(10):104-107.
[4] 顧寧,劉家茂,柴曉路.Web Services原理與研發(fā)實踐[M]. 北京:機(jī)械工業(yè)出版社,2005.
[5] 孫鑫.XML、XML Schema、XSLT 2.0和XQuery開發(fā)詳解[M]. 北京:電子工業(yè)出版社,2009.
[6] 英格蘭德.Java與SOAP[M].黃剛,譯.北京:中國電力出版社,2002.
[7] 劉偉.基于WSDL的Web服務(wù)可替換性驗證研究[D].上海:復(fù)旦大學(xué),2012.
[8] 劉志輝.基于Web服務(wù)與XML技術(shù)的異構(gòu)數(shù)據(jù)集成的研究[D].大連:大連海事大學(xué),2012.
[9] 谷玉奎,曹寶香,袁玉珠.基于SOA的通用權(quán)限管理服務(wù)[J].計算機(jī)技術(shù)與發(fā)展,2008,18(6):70-72.
[10] 葉枝平.基于XML的數(shù)據(jù)交換平臺及其關(guān)鍵問題的分析與設(shè)計[D].廣州:廣東工業(yè)大學(xué),2008.
[11] 金路.基于SOA的聯(lián)網(wǎng)裝置應(yīng)用集成技術(shù)研究與實現(xiàn)[D].南京:南京郵電大學(xué),2013.
[12] 李劍,陳海建.基于Web Services和插件架構(gòu)的新聞中心平臺的設(shè)計[J].微型機(jī)與應(yīng)用,2012,31(23):14-17.
[13] 陳洪猛.全文檢索技術(shù)的研究與實現(xiàn)[D].北京:北京工業(yè)大學(xué),2008.
[14] 李梅,郎青山.一種數(shù)據(jù)庫代碼自動生成器的設(shè)計[J].太原理工大學(xué)學(xué)報,2009,40(6):596-599.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。