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