彭曉惠,溫 明,任媛媛
(新疆電子研究所有限公司 新疆 烏魯木齊 830049)
隨著社會(huì)的進(jìn)步,科技的飛速發(fā)展,軟件已經(jīng)作為一種提高工作效率的重要工具而應(yīng)用于各行各業(yè)中,跨部門(mén)和地區(qū)的協(xié)作也在迅速擴(kuò)大。為了加快軟件的開(kāi)發(fā)周期,更多的開(kāi)發(fā)者通過(guò)面向?qū)ο蟮木幊陶Z(yǔ)言來(lái)實(shí)現(xiàn)低層次的代碼復(fù)用,但是它并不適合于特定領(lǐng)域大型軟件的生產(chǎn)需要。因此在軟件生產(chǎn)過(guò)程中,不僅可以重復(fù)使用舊的代碼,還可以在相似的分析結(jié)果前提下復(fù)用相似的體系架構(gòu),以減少軟件生產(chǎn)的代價(jià),提高軟件的穩(wěn)定性、可靠性。本文提出的基于SOA(Service-Oriented Architecture)面向服務(wù)的體系結(jié)構(gòu)就是對(duì)協(xié)作完成的一系列相關(guān)的類和接口集合的抽象設(shè)計(jì),從而提供一種可復(fù)用的體系架構(gòu),它是一種松散耦合的應(yīng)用程序體系結(jié)構(gòu)。由于提供了一個(gè)抽象的服務(wù)層,對(duì)服務(wù)使用者隱藏了服務(wù)的實(shí)現(xiàn)細(xì)節(jié),使得SOA在需求和應(yīng)用環(huán)境需求不斷變化的應(yīng)用程序開(kāi)發(fā)中得到了很好的應(yīng)用。互聯(lián)網(wǎng)的發(fā)展,特別是Web Service的應(yīng)用支持,為部門(mén)內(nèi)部及部門(mén)之間提供了簡(jiǎn)便的通訊支持。同時(shí),基于SOA的體系結(jié)構(gòu)與以應(yīng)用為中心的一體化應(yīng)用程序相比,具有高度開(kāi)放性、靈活性和可重用性等特點(diǎn),因此,采用SOA體系結(jié)構(gòu)和開(kāi)發(fā)模式能夠?qū)崿F(xiàn)管理信息系統(tǒng)的應(yīng)用開(kāi)發(fā)[1]。筆者根據(jù)科技成果管理信息系統(tǒng)的實(shí)際需求,并為了滿足系統(tǒng)業(yè)務(wù)的流程變化和異構(gòu)系統(tǒng)的集成,建立了一種基于SOA模式的綜合業(yè)務(wù)管理系統(tǒng)軟件體系結(jié)構(gòu),對(duì)系統(tǒng)運(yùn)行流程、各軟件層和組件的功能進(jìn)行了論述,提出了系統(tǒng)關(guān)鍵層的設(shè)計(jì)要求和實(shí)現(xiàn)方法。
SOA是一種面向企業(yè)級(jí)服務(wù)的系統(tǒng)架構(gòu),簡(jiǎn)單來(lái)說(shuō),SOA就是一種進(jìn)行系統(tǒng)開(kāi)發(fā)的新的體系架構(gòu),在基于SOA架構(gòu)的系統(tǒng)中,它將應(yīng)用程序的不同功能單元(稱為服務(wù))之間定義良好的接口和規(guī)范按松耦合方式整合在一起,即將多個(gè)現(xiàn)有的應(yīng)用軟件通過(guò)網(wǎng)絡(luò)將其整合成一個(gè)新的系統(tǒng)[2-3]。因此,基于SOA的架構(gòu)也一定是從企業(yè)的具體需求開(kāi)始構(gòu)建的。但是,SOA和其它企業(yè)架構(gòu)的不同之處就在于SOA提供的業(yè)務(wù)靈活性。業(yè)務(wù)靈活性是指企業(yè)能對(duì)業(yè)務(wù)變更快速和有效地進(jìn)行響應(yīng)、并且利用業(yè)務(wù)變更來(lái)得到競(jìng)爭(zhēng)優(yōu)勢(shì)的能力。對(duì)企業(yè)級(jí)架構(gòu)設(shè)計(jì)師來(lái)說(shuō),創(chuàng)建一個(gè)業(yè)務(wù)靈活的架構(gòu)意味著創(chuàng)建一個(gè)可以滿足當(dāng)前還未知的業(yè)務(wù)需求的IT架構(gòu)。利用基于SOA的系統(tǒng)構(gòu)建方法,一個(gè)基于SOA架構(gòu)的系統(tǒng)中的所有的程序功能都被封裝在一些功能模塊中,利用這些已經(jīng)封裝好的功能模塊組裝構(gòu)建所需要的程序或者系統(tǒng),而這些功能模塊就是SOA架構(gòu)中的不同的服務(wù) (Service)。因此,SOA架構(gòu)本質(zhì)上來(lái)說(shuō)體現(xiàn)了一種復(fù)合的概念:它不僅為一個(gè)企業(yè)中商業(yè)流程的組織和實(shí)現(xiàn)提供了一種指導(dǎo)模式,同時(shí)也為具體的底層Service開(kāi)發(fā)提供了指導(dǎo)。
1)科技成果管理信息系統(tǒng)平臺(tái)主要包括如下子系統(tǒng):
①科技成果管理信息系統(tǒng),系統(tǒng)包括:科技成果鑒定申報(bào)系統(tǒng),成果業(yè)務(wù)處理(鑒定、勘驗(yàn)、登記)信息管理系統(tǒng)(MIS系統(tǒng)),鑒定會(huì)會(huì)議系統(tǒng);
②科技成果科技進(jìn)步獎(jiǎng)系統(tǒng),系統(tǒng)包括:項(xiàng)目申報(bào)系統(tǒng),審核系統(tǒng),評(píng)獎(jiǎng)項(xiàng)目管理系統(tǒng)(MIS系統(tǒng)),科技進(jìn)步獎(jiǎng)評(píng)審會(huì)議系統(tǒng),評(píng)獎(jiǎng)計(jì)算發(fā)布(決策)系統(tǒng);
③專家信息管理系統(tǒng):專家?guī)煜到y(tǒng),專家管理系統(tǒng),專家工作評(píng)價(jià)系統(tǒng)。
④科技成果檔案管理及進(jìn)步獎(jiǎng)檔案管理系統(tǒng);
⑤科技成果展示/公示系統(tǒng),展示/公示科技成果項(xiàng)目及科技進(jìn)步獎(jiǎng)項(xiàng)目。
2)科技成果管理系統(tǒng)及科技進(jìn)步獎(jiǎng)系統(tǒng)部署模式:
這兩個(gè)系統(tǒng)部署模式相同,都采用如下3個(gè)模式:內(nèi)部網(wǎng)絡(luò)的辦公管理信息系統(tǒng)、基于互聯(lián)網(wǎng)絡(luò)的申報(bào)系統(tǒng)、移動(dòng)式專家會(huì)議系統(tǒng),3種系統(tǒng)以內(nèi)部辦公系統(tǒng)為核心,分別通過(guò)獨(dú)立的數(shù)據(jù)包將相應(yīng)的信息結(jié)合起來(lái),系統(tǒng)共計(jì)6個(gè)模塊,之間沒(méi)有物理連接方式。
3)科技成果管理系統(tǒng)的主要特點(diǎn):
①基于互聯(lián)網(wǎng)的網(wǎng)站,具有單位注冊(cè)、科技成果鑒定申請(qǐng)、科技進(jìn)步獎(jiǎng)申報(bào)、網(wǎng)上推薦、審核等功能。系統(tǒng)可支持在線申報(bào)、審核、打印、流程通報(bào)等能力。
②基于科技部門(mén)內(nèi)部網(wǎng)絡(luò)的業(yè)務(wù)管理信息系統(tǒng)(MIS),可管理科技成果管理,如鑒定等的各類業(yè)務(wù),管理科技進(jìn)步獎(jiǎng)評(píng)獎(jiǎng)管理各類業(yè)務(wù)。
③成果鑒定專家會(huì)議系統(tǒng),能夠?qū)崿F(xiàn)查閱材料、打分、統(tǒng)計(jì)、鑒定書(shū)打印等功能。
④科技進(jìn)步獎(jiǎng)專家會(huì)議系統(tǒng),能夠?qū)崿F(xiàn)查閱材料、打分、統(tǒng)計(jì)、評(píng)分打印等功能。
⑤系統(tǒng)全部采用B/S架構(gòu),建立數(shù)據(jù)庫(kù)系統(tǒng),以瀏覽器為操作手段,系統(tǒng)具有權(quán)限管理功能,其中會(huì)議系統(tǒng)穩(wěn)定可靠運(yùn)行至少滿足30個(gè)專家在線評(píng)審。
4)項(xiàng)目應(yīng)用的主要功能:
按照SOA的架構(gòu)改造原有的系統(tǒng),采用面向業(yè)務(wù)應(yīng)用服務(wù)的SOA架構(gòu),建立4套應(yīng)用軟件系統(tǒng)、一套基礎(chǔ)信息系統(tǒng)及安全權(quán)限管理系統(tǒng),分別是:
科技成果鑒定管理信息系統(tǒng),該系統(tǒng)由3個(gè)獨(dú)立運(yùn)行的子系統(tǒng)構(gòu)成:
第1子系統(tǒng):(主要供申請(qǐng)鑒定單位使用)基于互聯(lián)網(wǎng)的單位申請(qǐng)鑒定系統(tǒng),主要內(nèi)容:?jiǎn)挝蛔?cè),填報(bào)鑒定申請(qǐng),WEB打印等。
第2子系統(tǒng):(成果處內(nèi)網(wǎng)專用)科技成果管理MIS系統(tǒng)。
主要內(nèi)容:項(xiàng)目管理,業(yè)務(wù)流程,專家管理,會(huì)議處理,數(shù)據(jù)接口等。
第3子系統(tǒng):專家評(píng)審會(huì)用,移動(dòng)式評(píng)審會(huì)議系統(tǒng)。主要內(nèi)容:項(xiàng)目申報(bào)材料瀏覽,專家評(píng)分,統(tǒng)計(jì),數(shù)據(jù)接口等。
《科技成果評(píng)獎(jiǎng)管理信息系統(tǒng)》,該系統(tǒng)由3個(gè)獨(dú)立運(yùn)行的子系統(tǒng)構(gòu)成:
第1子系統(tǒng):(主要供申請(qǐng)科技獎(jiǎng)項(xiàng)的單位使用)基于互聯(lián)網(wǎng)的單位請(qǐng)獎(jiǎng)申報(bào)統(tǒng),主要內(nèi)容:?jiǎn)挝蛔?cè),填報(bào)請(qǐng)獎(jiǎng)理由,數(shù)據(jù)互傳,在線WORD打印等。
第2子系統(tǒng):(成果管理機(jī)構(gòu)內(nèi)網(wǎng)專用)科技進(jìn)步獎(jiǎng)管理MIS系統(tǒng)。
主要內(nèi)容:項(xiàng)目管理,評(píng)獎(jiǎng)流程管理,專家管理,會(huì)議處理,評(píng)分管理,數(shù)據(jù)接口等。
第3子系統(tǒng):專家評(píng)審會(huì),移動(dòng)式科技獎(jiǎng)評(píng)審會(huì)議系統(tǒng)。
該系統(tǒng)又分為4個(gè)獨(dú)立運(yùn)行的子系統(tǒng):科技進(jìn)步獎(jiǎng)專家會(huì)議系統(tǒng),個(gè)人獎(jiǎng)項(xiàng)(如:突出貢獻(xiàn)獎(jiǎng))專家會(huì)議系統(tǒng),特別獎(jiǎng)專家會(huì)議系統(tǒng),綜合評(píng)審會(huì)議系統(tǒng)。主要內(nèi)容:項(xiàng)目申報(bào)材料瀏覽,專家評(píng)分,循環(huán)式打分統(tǒng)計(jì),數(shù)據(jù)接口,綜合決策等。
(基于互聯(lián)網(wǎng)的)科技成果網(wǎng),是以上兩個(gè)系統(tǒng)的信息入口,采用Web Service技術(shù)以平臺(tái)的形式搭建。該平臺(tái)整合了單位注冊(cè),單位審核;成果鑒定申請(qǐng),中介機(jī)構(gòu)網(wǎng)上評(píng)審;科技進(jìn)步獎(jiǎng)(進(jìn)步獎(jiǎng)、特等獎(jiǎng)、突出貢獻(xiàn)獎(jiǎng))推薦書(shū)填報(bào),推薦單位審核,業(yè)務(wù)辦公室形式審查;各類業(yè)務(wù)操作流程記錄,項(xiàng)目動(dòng)態(tài)等各種業(yè)務(wù),同時(shí)具有各類信息發(fā)布、信息查詢等功能。
專家管理系統(tǒng),專家信息管理,專家評(píng)價(jià)管理,專家工作記錄管理等。該系統(tǒng)按將內(nèi)容服務(wù)作為核心,為各類會(huì)議系統(tǒng)提供服務(wù)。
基礎(chǔ)信息系統(tǒng),是各類科技成果、科技進(jìn)步獎(jiǎng)的評(píng)價(jià)體系的載體,具有各類標(biāo)準(zhǔn)化的信息,如:學(xué)科分類、國(guó)民經(jīng)濟(jì)行業(yè)分類、黨派、地域等等。該系統(tǒng)主要以數(shù)據(jù)字典方式提供服務(wù)。
權(quán)限管理系統(tǒng),包括業(yè)務(wù)流程管理,角色管理,權(quán)限管理,軟件模塊管理等,是整個(gè)系統(tǒng)的核心內(nèi)容。
搭建科技進(jìn)步獎(jiǎng)互聯(lián)網(wǎng)網(wǎng)站及移動(dòng)會(huì)議網(wǎng)絡(luò)硬件系統(tǒng)。
科技成果管理信息系統(tǒng)邏輯上主要分為客戶表示層、服務(wù)發(fā)布層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層4層,客戶層主要負(fù)責(zé)人機(jī)交互,服務(wù)發(fā)布層實(shí)現(xiàn)各種服務(wù)的發(fā)布,業(yè)務(wù)層提供業(yè)務(wù)服務(wù),包括業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,集中了系統(tǒng)大多數(shù)業(yè)務(wù)處理,數(shù)據(jù)訪問(wèn)層主要負(fù)責(zé)與數(shù)據(jù)庫(kù)的一切交互,基于多層分布式組件模型,結(jié)合面向服務(wù)的設(shè)計(jì)思想,提出如圖1所示的業(yè)務(wù)組件化、服務(wù)化的應(yīng)用分層體系結(jié)構(gòu)。
1)表示層(UI):實(shí)現(xiàn)用戶交互,系統(tǒng)主要為 Web界面。通過(guò)表示層,與用戶進(jìn)行交互,將表示層與業(yè)務(wù)邏輯層連接起來(lái),讓用戶的要求可以從表示層經(jīng)由業(yè)務(wù)邏輯層傳遞到數(shù)據(jù)訪問(wèn)層,同樣,數(shù)據(jù)訪問(wèn)層從數(shù)據(jù)服務(wù)器取得相應(yīng)的內(nèi)容,經(jīng)由業(yè)務(wù)邏輯層傳遞到表示層展示給用戶。

圖1 業(yè)務(wù)應(yīng)用分層體系結(jié)構(gòu)圖Fig.1 Business application of hierarchical structure char
2) 服務(wù)發(fā)布層(Web Service):通過(guò) Web Service發(fā)布各系統(tǒng)服務(wù)。將業(yè)務(wù)邏輯層中的各種業(yè)務(wù)封裝成粒度較大的、易用的業(yè)務(wù)中間件,接受界面邏輯層調(diào)用,通過(guò)Ticket認(rèn)證實(shí)現(xiàn)調(diào)用的安全性[4-6],該層是面向服務(wù)的一層,通過(guò)該層實(shí)現(xiàn)SOA架構(gòu)的服務(wù)發(fā)布。
3)業(yè)務(wù)邏輯層(BLL):封裝各種業(yè)務(wù)邏輯,形成業(yè)務(wù)中間件,實(shí)現(xiàn)各子系統(tǒng)的業(yè)務(wù)邏輯。該層還管理著對(duì)事務(wù)的處理。該層被設(shè)計(jì)成無(wú)狀態(tài)面向服務(wù)的模式,通過(guò)該層實(shí)現(xiàn)SOA架構(gòu)的服務(wù)功能。
4)數(shù)據(jù)訪問(wèn)層(DAL):數(shù)據(jù)訪問(wèn)邏輯組件從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)并把實(shí)體數(shù)據(jù)保存回?cái)?shù)據(jù)庫(kù)中,完成對(duì)數(shù)據(jù)的持久化操作。數(shù)據(jù)訪問(wèn)邏輯組件還包含實(shí)現(xiàn)數(shù)據(jù)相關(guān)操作所需的所有保持邏輯。
5)數(shù)據(jù)訪問(wèn)輔助工具(SQLHelper類):利用數(shù)據(jù)訪問(wèn)輔助工具可實(shí)現(xiàn)多種類型數(shù)據(jù)庫(kù)的訪問(wèn),利用抽象工程模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn)無(wú)關(guān)性。
6)業(yè)務(wù)實(shí)體組件(Data):通過(guò)封裝數(shù)據(jù)來(lái)表示科技成果管理信息系統(tǒng)的業(yè)務(wù)實(shí)體。用于業(yè)務(wù)實(shí)體的表示與層間傳輸數(shù)據(jù)。
1)面向服務(wù)的需求分析:在這一階段確定SOA的服務(wù)功能范圍,制定出各層服務(wù),并將各個(gè)服務(wù)作為包含主要的初步SOA所需要的服務(wù)候選并模塊化。
2)面向服務(wù)的概要設(shè)計(jì):這是一個(gè)標(biāo)準(zhǔn)驅(qū)動(dòng)階段,它將行業(yè)標(biāo)準(zhǔn)和合服務(wù)原則合并到服務(wù)設(shè)計(jì)過(guò)程中,確定程序由哪些模塊組成和各模塊之間的關(guān)系。
3)服務(wù)的開(kāi)發(fā):在確定的開(kāi)發(fā)平臺(tái)、編程語(yǔ)言和開(kāi)發(fā)環(huán)境中,選擇決定服務(wù)編排業(yè)務(wù)流程所采用的物理形式,用選定的語(yǔ)言編寫(xiě)程序,并且仔細(xì)測(cè)試編寫(xiě)的每一個(gè)模塊。
4)服務(wù)的測(cè)試:將服務(wù)的通用特性在不同情況中復(fù)用和組合,對(duì)不可預(yù)測(cè)的情況進(jìn)行反復(fù)的、綜合的測(cè)試。
5)服務(wù)的部署:在服務(wù)期上安裝和配置分布式組件,各類服務(wù)接口和相關(guān)的中間件產(chǎn)品。
6)服務(wù)的管理與維護(hù):服務(wù)部署以后,對(duì)這些服務(wù)進(jìn)行標(biāo)準(zhǔn)的應(yīng)用管理和維護(hù)。
文中論述了基于.NET技術(shù)和面向服務(wù)架構(gòu)(SOA)的科技成果管理信息系統(tǒng)平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)方案,該技術(shù)方案通過(guò)建立和應(yīng)用基于SOA模式的軟件體系結(jié)構(gòu)。科技成果管理信息系統(tǒng)實(shí)現(xiàn)了Web Service安全認(rèn)證、壓縮算法、異步操作、事務(wù)處理、異常處理等機(jī)制,該系統(tǒng)運(yùn)行至今約有一年多時(shí)間,當(dāng)某一個(gè)子系統(tǒng)出現(xiàn)問(wèn)題時(shí),在對(duì)該部分軟件進(jìn)行維護(hù)的同時(shí)其它子系統(tǒng)依然能夠保證業(yè)務(wù)的繼續(xù)運(yùn)轉(zhuǎn) ,達(dá)到了理想的效果。由于各服務(wù)間低耦合,并可根據(jù)需求快捷地組合實(shí)現(xiàn)新的服務(wù),具有可復(fù)用、靈活和可擴(kuò)展等優(yōu)點(diǎn),能夠較好地適應(yīng)科技行業(yè)業(yè)務(wù)部門(mén)的要求。
[1]張大鵬,邱錦倫.SOA中Data Service的分析與設(shè)計(jì)[J].計(jì)算機(jī)工程,2009,35(24):56-59.
ZHANG Da-peng,QIU Jin-lun.SOA Data Service analysis and design[J].Computer Engineering,2009,35(24):56-59.
[2]林闖,封富君.新型網(wǎng)絡(luò)環(huán)境下的訪問(wèn)控制技術(shù)[J].軟件學(xué)報(bào),2007,18(4):955-966.
LIN Chuang,F(xiàn)ENG Fu-jun.In new network environment access control technology[J].Journal of Software,2007,18(4):955-966.
[3]吳浩明,周寧.基于LDAP的信息共享平臺(tái)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2008,28(4):1042-1043.
WU Hao-ming,ZHOU Ning.LDAP based information sharing platform for research and implementation[J].Journal of Computer Applications,2008,28(4):1042-1043.
[4]張麗,趙洋.身份認(rèn)證技術(shù)的研究與安全性分析[J].計(jì)算機(jī)與現(xiàn)代化,2007(5):48-52.
ZHANG Li,ZHAO Yang.Study on the identification authentication and security analysis[J].Computer and Modernization,2007(5):48-52.
[5]白建坤.WEB服務(wù)安全研究[J].計(jì)算機(jī)應(yīng)用,2005,25(11):2533-2535.
BAI Jian-kun.WEB service security research[J].Journal of Computer Applications,2005,25(11):2533-2535.
[6]鄧帆.應(yīng)用組合方法設(shè)計(jì)安全協(xié)議[J].計(jì)算機(jī)應(yīng)用,2010,30(4):1033-1037.
DENG Fan.Application of combined method of security protocol design[J].Journal of Computer Applications,2010,30(4):1033-1037.