摘 要:本文分析了現(xiàn)有校務(wù)管理系統(tǒng)的特點(diǎn)及不足,在數(shù)據(jù)共享、業(yè)務(wù)協(xié)同的基礎(chǔ)上,按需服務(wù)是深化應(yīng)用的方向;介紹了SOA技術(shù)體系的架構(gòu)與方法,以及SOA在構(gòu)建按需服務(wù)的信息系統(tǒng)方面的優(yōu)勢;提出了基于SOA的校務(wù)管理系統(tǒng)構(gòu)成框架,給出了系統(tǒng)框架模型,對(duì)框架內(nèi)的各個(gè)技術(shù)層面特別是服務(wù)總線和流程整合層面進(jìn)行了深入的探討,并給出了一個(gè)服務(wù)組合實(shí)例。
關(guān)鍵詞:校務(wù)管理系統(tǒng) SOA 技術(shù)架構(gòu) 企業(yè)服務(wù)總線 業(yè)務(wù)流程
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1673-8454(2008)15-0046-03
一、引言
中山大學(xué)校務(wù)管理系統(tǒng),在統(tǒng)一標(biāo)準(zhǔn)、統(tǒng)一數(shù)據(jù)庫、統(tǒng)一開發(fā)平臺(tái)、統(tǒng)一門戶、統(tǒng)一用戶管理建設(shè)思想的指導(dǎo)下,實(shí)現(xiàn)了基于全局?jǐn)?shù)據(jù)共享、應(yīng)用集中、業(yè)務(wù)協(xié)同的校級(jí)應(yīng)用,初步消除了信息孤島;并且實(shí)現(xiàn)了系統(tǒng)平臺(tái)由單一內(nèi)聚的基礎(chǔ)架構(gòu)供應(yīng)、部署、監(jiān)控和管理,為系統(tǒng)的持續(xù)發(fā)展奠定了良好的基礎(chǔ)。在此基礎(chǔ)上,如何進(jìn)一步提升系統(tǒng)價(jià)值,豐富與深化基于角色的個(gè)性化服務(wù)內(nèi)容;如何更好地適應(yīng)業(yè)務(wù)需求的高度動(dòng)態(tài)性和不確定性,實(shí)現(xiàn)服務(wù)的敏捷性,以及跨多個(gè)業(yè)務(wù)域服務(wù)間的協(xié)調(diào)性,是系統(tǒng)進(jìn)一步發(fā)展面臨的一個(gè)重要問題。針對(duì)上述挑戰(zhàn),我們提出,在原系統(tǒng)基礎(chǔ)上建立基于SOA(Service-Oriented Architecture)的校務(wù)管理系統(tǒng)體系結(jié)構(gòu):
(1)在現(xiàn)有系統(tǒng)之上搭建企業(yè)服務(wù)總線,作為各應(yīng)用的聚合平臺(tái),由服務(wù)總線根據(jù)規(guī)則引擎調(diào)度垂直業(yè)務(wù)的服務(wù);
(2)在企業(yè)服務(wù)總線基礎(chǔ)上,建立流程管理平臺(tái),對(duì)服務(wù)進(jìn)行編排管理,并在需求和服務(wù)編排之間建立用戶視圖,根據(jù)需求動(dòng)態(tài)生成工作流程圖,支持需求到服務(wù)編排的平滑映射;
(3)基于流程管理平臺(tái),將流程邏輯與驅(qū)動(dòng)流程的規(guī)則剝離,使得規(guī)則引擎與工作流程可以靈活的獨(dú)立配置,規(guī)則的變更無需修改或重新構(gòu)建基于規(guī)則的工作流。
通過上述手段,降低應(yīng)用層拓?fù)潢P(guān)系的復(fù)雜度,提高對(duì)需求的動(dòng)態(tài)適應(yīng)性,提供敏捷的業(yè)務(wù)服務(wù),實(shí)現(xiàn)校務(wù)管理系統(tǒng)的整體升級(jí)。
二、SOA技術(shù)體系
SOA是一種面向服務(wù)的架構(gòu),以及組織IT基礎(chǔ)結(jié)構(gòu)及業(yè)務(wù)功能的方法。其核心價(jià)值主要體現(xiàn)在:能夠以服務(wù)的方式共享和復(fù)用企業(yè)現(xiàn)有應(yīng)用資產(chǎn),保護(hù)用戶IT投資,并能夠以服務(wù)的方式構(gòu)建新的業(yè)務(wù)流程,對(duì)組織中的業(yè)務(wù)流程進(jìn)行靈活的重構(gòu)和優(yōu)化,增強(qiáng)業(yè)務(wù)的敏捷性?;谏鲜隼砟?,筆者認(rèn)為,SOA技術(shù)體系至少應(yīng)包含四個(gè)要素:
第一,所有功能都應(yīng)封裝為服務(wù),所有服務(wù)相互獨(dú)立,接口可調(diào)用;第二,需要提供快速的服務(wù)開發(fā)方法,來簡化業(yè)務(wù)邏輯的構(gòu)建和應(yīng)用編程方式;第三,需要提供開發(fā)靈活業(yè)務(wù)流程的模型和技術(shù),支持靈活的整合服務(wù)和方便快速的業(yè)務(wù)流程變更;第四,需要提供富Web應(yīng)用,讓開發(fā)人員方便地創(chuàng)建更具動(dòng)態(tài)的頁面。
根據(jù)上述思路,歸納SOA參考架構(gòu)模型如圖1所示。
由圖1可見,SOA參考架構(gòu)模型共分為四層。
最底層是適配器服務(wù),負(fù)責(zé)組織已有應(yīng)用系統(tǒng)的封裝,使之成為可復(fù)用的服務(wù)。第二層企業(yè)服務(wù)總線,作為服務(wù)之間的協(xié)調(diào)中介,可將適配器服務(wù)、信息服務(wù)、安全服務(wù)、業(yè)務(wù)服務(wù)、流程服務(wù)等,集中管理起來,公開服務(wù)接口,并提供服務(wù)注冊(cè)、路由查找、服務(wù)質(zhì)量保證等功能,它在SOA參考架構(gòu)中起著核心中樞作用。第三層流程服務(wù),負(fù)責(zé)將服務(wù)串接起來,進(jìn)行編排組合,以滿足業(yè)務(wù)流程的需要;同時(shí),也可形成更大粒度的服務(wù),提供新的業(yè)務(wù)服務(wù)。最頂層的交互服務(wù),提供用戶交互界面及門戶集成功能。
三、基于SOA的校務(wù)管理系統(tǒng)
1.系統(tǒng)體系架構(gòu)
基于SOA理念,本文提出升級(jí)后的校務(wù)管理系統(tǒng),其技術(shù)架構(gòu)為一個(gè)六層的分層服務(wù)組合框架,包含應(yīng)用接口層、應(yīng)用整合層(企業(yè)服務(wù)總線)、流程整合層、應(yīng)用組件層、應(yīng)用服務(wù)和門戶。每個(gè)服務(wù)都是相對(duì)獨(dú)立的應(yīng)用,并采用基于消息的松耦合技術(shù),通過服務(wù)總線實(shí)現(xiàn)應(yīng)用之間的業(yè)務(wù)協(xié)作。系統(tǒng)架構(gòu)模型如圖2所示。
最底層是應(yīng)用接口層,負(fù)責(zé)應(yīng)用服務(wù)器與被集成系統(tǒng)之間的連接,以及數(shù)據(jù)連接訪問通道的建立。通過適配器服務(wù),將原有的應(yīng)用程序、業(yè)務(wù)邏輯和底層的數(shù)據(jù)邏輯與原有系統(tǒng)分割,封裝成為Services, 這些服務(wù)可以是普通的Java方法,亦可以是遠(yuǎn)程同步服務(wù)(如Web Services)和異步服務(wù)(JMS)等,作為系統(tǒng)的一個(gè)整合點(diǎn)接入企業(yè)服務(wù)總線。
第二層企業(yè)服務(wù)總線作為整個(gè)架構(gòu)的核心,負(fù)責(zé)聚合應(yīng)用接口層接入的整合點(diǎn),進(jìn)行服務(wù)之間的協(xié)調(diào)中介。主要功能:一是對(duì)抽取到接入平臺(tái)上的數(shù)據(jù)作語義和格式上的轉(zhuǎn)換;二是路由,對(duì)轉(zhuǎn)換的數(shù)據(jù)指定輸出,輸出點(diǎn)可以是新封裝的任何一個(gè)業(yè)務(wù)服務(wù),也可以是任何一種技術(shù)接口,決定每一個(gè)具體的業(yè)務(wù)操作或數(shù)據(jù)究竟連接到哪里,如何配置到指定的數(shù)據(jù)庫或應(yīng)用服務(wù)等,通過這種路由,可以在兩個(gè)系統(tǒng)之間產(chǎn)生粘合,將數(shù)據(jù)按照雙方理解的格式,在企業(yè)服務(wù)總線這個(gè)接入平臺(tái)上進(jìn)行轉(zhuǎn)換和路由,直接輸出到另一個(gè)系統(tǒng);三是將接口規(guī)劃為Web Services標(biāo)準(zhǔn),支持各種技術(shù)有機(jī)融合,提供統(tǒng)一服務(wù),并公開服務(wù)接口,支持XML標(biāo)準(zhǔn)操作、Web Services標(biāo)準(zhǔn)操作、甚至直接針對(duì)J2EE的操作等;四是支持服務(wù)的熱插拔,由于面向服務(wù)的最大特點(diǎn)是需要對(duì)業(yè)務(wù)變化有很好的適應(yīng)力,因此需要保持服務(wù)的靈活性,通過熱插拔,可以將各種資源在任何需要的時(shí)候上線或者下線,通過這種方式,實(shí)現(xiàn)校務(wù)管理系統(tǒng)對(duì)業(yè)務(wù)變化的彈性和響應(yīng)能力;五是將適配器服務(wù)、信息服務(wù)、安全服務(wù)、業(yè)務(wù)服務(wù)、流程服務(wù)等各類服務(wù)管理起來。
第三層流程整合層,負(fù)責(zé)提供整合應(yīng)用程序的方法,以及提供將應(yīng)用程序封裝為更大粒度服務(wù)的方法。我們知道,業(yè)務(wù)需求的變化無非兩個(gè)方面,一是業(yè)務(wù)本身發(fā)生變化,二是業(yè)務(wù)流程發(fā)生變化,兩者結(jié)合,通過流程把這些變化管理起來,是流程整合層的關(guān)注點(diǎn)。從流程角度來看,可能的變化點(diǎn)有兩個(gè)方面:一是業(yè)務(wù)系統(tǒng)的內(nèi)部流程,二是各業(yè)務(wù)系統(tǒng)之間的協(xié)同流程。流程整合層負(fù)責(zé)管理這些變化,管理可持續(xù)優(yōu)化的業(yè)務(wù)模型。具體功能:一是在應(yīng)用整合層服務(wù)連接的基礎(chǔ)上,將服務(wù)編排到業(yè)務(wù)流程中,并建立可視化的流程組合映射機(jī)制,以每個(gè)具體的業(yè)務(wù)操作作為流程的一個(gè)節(jié)點(diǎn),描述服務(wù)組合需求,并在需求和服務(wù)編排之間建立用戶視圖,根據(jù)需求動(dòng)態(tài)生成工作流程圖,支持需求到服務(wù)編排的平滑映射,支持業(yè)務(wù)流程的動(dòng)態(tài)重構(gòu)和自動(dòng)化;二是將流程邏輯與驅(qū)動(dòng)流程的規(guī)則剝離,使得規(guī)則引擎與工作流程可以靈活的獨(dú)立配置,規(guī)則的變更無需修改或重新構(gòu)建基于規(guī)則的工作流;三是提供基于整個(gè)流程的生命周期管理,包括從流程的開發(fā)、部署,到運(yùn)行監(jiān)控、優(yōu)化調(diào)整,至形成新的流程。
第四層應(yīng)用組件層的作用是,通過對(duì)校務(wù)管理系統(tǒng)涉及的業(yè)務(wù)進(jìn)行分析和抽象,形成應(yīng)用組件,為上一層系統(tǒng)的功能構(gòu)建提供服務(wù)。該層包含三類組件:一是基礎(chǔ)應(yīng)用組件,含:信息編碼管理組件、審核組件、歸檔組件、報(bào)表定制組件、菜單定制組件等;二是業(yè)務(wù)應(yīng)用組件,主要由基礎(chǔ)業(yè)務(wù)實(shí)體,如學(xué)生、教工、組織機(jī)構(gòu)和抽象出來的業(yè)務(wù)組件組成;三是數(shù)據(jù)挖掘和分析服務(wù)的組件。此外,該層還包含關(guān)鍵業(yè)務(wù)KPI指標(biāo)庫及信息分析模型等。
第五層業(yè)務(wù)服務(wù)層由兩部分組成:一部分是業(yè)務(wù)運(yùn)行情況監(jiān)控與突發(fā)事件處理,包括根據(jù)關(guān)鍵業(yè)務(wù)指標(biāo)監(jiān)控業(yè)務(wù)活動(dòng)情況,如每個(gè)環(huán)節(jié)的處理速度、響應(yīng)時(shí)間、服務(wù)水平等,實(shí)時(shí)定位業(yè)務(wù)瓶頸或錯(cuò)誤,并對(duì)突發(fā)事件進(jìn)行自動(dòng)或手動(dòng)干預(yù),以滿足業(yè)務(wù)需要;另一部分負(fù)責(zé)提供公共信息服務(wù),包括業(yè)務(wù)分析與決策,如學(xué)科建設(shè)、教學(xué)質(zhì)量考評(píng)、師資建設(shè)、學(xué)生綜合測評(píng)、績效評(píng)估等。上述兩部分服務(wù)由資源目錄統(tǒng)一管理。
最頂層是用戶交互層,直接面向用戶服務(wù),提供用戶交互界面及門戶集成功能。
2.服務(wù)組合過程實(shí)例
圖3為學(xué)生緩交學(xué)費(fèi)的業(yè)務(wù)流程中增加審計(jì)環(huán)節(jié)時(shí),系統(tǒng)框架中的應(yīng)用整合層(企業(yè)服務(wù)總線)與流程整合層的服務(wù)組合過程實(shí)例。
學(xué)生緩交學(xué)費(fèi)的業(yè)務(wù)流程中需要增加審計(jì)環(huán)節(jié)時(shí),應(yīng)用整合層可配置一個(gè)對(duì)審計(jì)數(shù)據(jù)庫的整合模式,連接到相應(yīng)的審計(jì)數(shù)據(jù)庫后,可按標(biāo)準(zhǔn)數(shù)據(jù)格式進(jìn)行交互式操作(讀取或插入數(shù)據(jù));交互過程中,直接在流程整合層上配置一個(gè)節(jié)點(diǎn)去映射這個(gè)動(dòng)作即可。顯然,通過這種服務(wù)組合方式,可輕松應(yīng)對(duì)業(yè)務(wù)需求的變化,直接實(shí)施IT系統(tǒng)的轉(zhuǎn)向支撐。
四、結(jié)論
本文提出了一個(gè)基于SOA的校務(wù)管理系統(tǒng)分層服務(wù)組合框架模型,用以實(shí)現(xiàn)校級(jí)應(yīng)用在校園環(huán)境下靈活、高效的服務(wù)組合。通過引入企業(yè)服務(wù)總線,管理服務(wù)間復(fù)雜的交互關(guān)系,實(shí)現(xiàn)按需服務(wù)組合;通過流程管理平臺(tái),建立可視化的流程組合映射機(jī)制,支持需求到服務(wù)編排的平滑映射,實(shí)現(xiàn)業(yè)務(wù)域間的按需協(xié)作,這種方法可提高原系統(tǒng)架構(gòu)的靈活性、擴(kuò)展性和服務(wù)的敏捷性。
我們下一步的工作包括,歸納整理基于此框架的業(yè)務(wù)模型和信息模型,并對(duì)系統(tǒng)框架模型進(jìn)行全面的分析與評(píng)估,而后按服務(wù)的優(yōu)先次序進(jìn)行分層部署,以更好地滿足面向服務(wù)的需要,實(shí)現(xiàn)校務(wù)管理系統(tǒng)向SOA架構(gòu)的全面遷移,進(jìn)一步提升校務(wù)管理系統(tǒng)的應(yīng)用價(jià)值。
參考文獻(xiàn):
[1]郭清順.探索信息化建設(shè)規(guī)律,走可持續(xù)發(fā)展之路[J].中國教育網(wǎng)絡(luò),2007(4).
[2]吳汝明,辛小霞.基于全局?jǐn)?shù)據(jù)共享的校務(wù)管理系統(tǒng)[J].中國教育網(wǎng)絡(luò),2006(11).
[3]吳汝明,辛小霞.實(shí)施高校校務(wù)管理系統(tǒng)的有效機(jī)制與方法[J].中國教育信息化,2007(10).
[4]毛新生.SOA原理·方法·實(shí)踐[M].北京:電子工業(yè)出版社,2007.
[5]毛新軍.面向主體的軟件開發(fā)[M].北京:清華大學(xué)出版社,2005.
[6]梅立軍,付小龍,劉啟新,沈錫臣.基于SOA的數(shù)據(jù)交換平臺(tái)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006(19).