彭曉惠,溫 明,任媛媛
(新疆電子研究所有限公司 新疆 烏魯木齊 830049)
隨著社會的進步,科技的飛速發(fā)展,軟件已經作為一種提高工作效率的重要工具而應用于各行各業(yè)中,跨部門和地區(qū)的協(xié)作也在迅速擴大。為了加快軟件的開發(fā)周期,更多的開發(fā)者通過面向對象的編程語言來實現(xiàn)低層次的代碼復用,但是它并不適合于特定領域大型軟件的生產需要。因此在軟件生產過程中,不僅可以重復使用舊的代碼,還可以在相似的分析結果前提下復用相似的體系架構,以減少軟件生產的代價,提高軟件的穩(wěn)定性、可靠性。本文提出的基于SOA(Service-Oriented Architecture)面向服務的體系結構就是對協(xié)作完成的一系列相關的類和接口集合的抽象設計,從而提供一種可復用的體系架構,它是一種松散耦合的應用程序體系結構。由于提供了一個抽象的服務層,對服務使用者隱藏了服務的實現(xiàn)細節(jié),使得SOA在需求和應用環(huán)境需求不斷變化的應用程序開發(fā)中得到了很好的應用。互聯(lián)網(wǎng)的發(fā)展,特別是Web Service的應用支持,為部門內部及部門之間提供了簡便的通訊支持。同時,基于SOA的體系結構與以應用為中心的一體化應用程序相比,具有高度開放性、靈活性和可重用性等特點,因此,采用SOA體系結構和開發(fā)模式能夠實現(xiàn)管理信息系統(tǒng)的應用開發(fā)[1]。筆者根據(jù)科技成果管理信息系統(tǒng)的實際需求,并為了滿足系統(tǒng)業(yè)務的流程變化和異構系統(tǒng)的集成,建立了一種基于SOA模式的綜合業(yè)務管理系統(tǒng)軟件體系結構,對系統(tǒng)運行流程、各軟件層和組件的功能進行了論述,提出了系統(tǒng)關鍵層的設計要求和實現(xiàn)方法。
SOA是一種面向企業(yè)級服務的系統(tǒng)架構,簡單來說,SOA就是一種進行系統(tǒng)開發(fā)的新的體系架構,在基于SOA架構的系統(tǒng)中,它將應用程序的不同功能單元(稱為服務)之間定義良好的接口和規(guī)范按松耦合方式整合在一起,即將多個現(xiàn)有的應用軟件通過網(wǎng)絡將其整合成一個新的系統(tǒng)[2-3]。因此,基于SOA的架構也一定是從企業(yè)的具體需求開始構建的。但是,SOA和其它企業(yè)架構的不同之處就在于SOA提供的業(yè)務靈活性。業(yè)務靈活性是指企業(yè)能對業(yè)務變更快速和有效地進行響應、并且利用業(yè)務變更來得到競爭優(yōu)勢的能力。對企業(yè)級架構設計師來說,創(chuàng)建一個業(yè)務靈活的架構意味著創(chuàng)建一個可以滿足當前還未知的業(yè)務需求的IT架構。利用基于SOA的系統(tǒng)構建方法,一個基于SOA架構的系統(tǒng)中的所有的程序功能都被封裝在一些功能模塊中,利用這些已經封裝好的功能模塊組裝構建所需要的程序或者系統(tǒng),而這些功能模塊就是SOA架構中的不同的服務 (Service)。因此,SOA架構本質上來說體現(xiàn)了一種復合的概念:它不僅為一個企業(yè)中商業(yè)流程的組織和實現(xiàn)提供了一種指導模式,同時也為具體的底層Service開發(fā)提供了指導。
1)科技成果管理信息系統(tǒng)平臺主要包括如下子系統(tǒng):
①科技成果管理信息系統(tǒng),系統(tǒng)包括:科技成果鑒定申報系統(tǒng),成果業(yè)務處理(鑒定、勘驗、登記)信息管理系統(tǒng)(MIS系統(tǒng)),鑒定會會議系統(tǒng);
②科技成果科技進步獎系統(tǒng),系統(tǒng)包括:項目申報系統(tǒng),審核系統(tǒng),評獎項目管理系統(tǒng)(MIS系統(tǒng)),科技進步獎評審會議系統(tǒng),評獎計算發(fā)布(決策)系統(tǒng);
③專家信息管理系統(tǒng):專家?guī)煜到y(tǒng),專家管理系統(tǒng),專家工作評價系統(tǒng)。
④科技成果檔案管理及進步獎檔案管理系統(tǒng);
⑤科技成果展示/公示系統(tǒng),展示/公示科技成果項目及科技進步獎項目。
2)科技成果管理系統(tǒng)及科技進步獎系統(tǒng)部署模式:
這兩個系統(tǒng)部署模式相同,都采用如下3個模式:內部網(wǎng)絡的辦公管理信息系統(tǒng)、基于互聯(lián)網(wǎng)絡的申報系統(tǒng)、移動式專家會議系統(tǒng),3種系統(tǒng)以內部辦公系統(tǒng)為核心,分別通過獨立的數(shù)據(jù)包將相應的信息結合起來,系統(tǒng)共計6個模塊,之間沒有物理連接方式。
3)科技成果管理系統(tǒng)的主要特點:
①基于互聯(lián)網(wǎng)的網(wǎng)站,具有單位注冊、科技成果鑒定申請、科技進步獎申報、網(wǎng)上推薦、審核等功能。系統(tǒng)可支持在線申報、審核、打印、流程通報等能力。
②基于科技部門內部網(wǎng)絡的業(yè)務管理信息系統(tǒng)(MIS),可管理科技成果管理,如鑒定等的各類業(yè)務,管理科技進步獎評獎管理各類業(yè)務。
③成果鑒定專家會議系統(tǒng),能夠實現(xiàn)查閱材料、打分、統(tǒng)計、鑒定書打印等功能。
④科技進步獎專家會議系統(tǒng),能夠實現(xiàn)查閱材料、打分、統(tǒng)計、評分打印等功能。
⑤系統(tǒng)全部采用B/S架構,建立數(shù)據(jù)庫系統(tǒng),以瀏覽器為操作手段,系統(tǒng)具有權限管理功能,其中會議系統(tǒng)穩(wěn)定可靠運行至少滿足30個專家在線評審。
4)項目應用的主要功能:
按照SOA的架構改造原有的系統(tǒng),采用面向業(yè)務應用服務的SOA架構,建立4套應用軟件系統(tǒng)、一套基礎信息系統(tǒng)及安全權限管理系統(tǒng),分別是:
科技成果鑒定管理信息系統(tǒng),該系統(tǒng)由3個獨立運行的子系統(tǒng)構成:
第1子系統(tǒng):(主要供申請鑒定單位使用)基于互聯(lián)網(wǎng)的單位申請鑒定系統(tǒng),主要內容:單位注冊,填報鑒定申請,WEB打印等。
第2子系統(tǒng):(成果處內網(wǎng)專用)科技成果管理MIS系統(tǒng)。
主要內容:項目管理,業(yè)務流程,專家管理,會議處理,數(shù)據(jù)接口等。
第3子系統(tǒng):專家評審會用,移動式評審會議系統(tǒng)。主要內容:項目申報材料瀏覽,專家評分,統(tǒng)計,數(shù)據(jù)接口等。
《科技成果評獎管理信息系統(tǒng)》,該系統(tǒng)由3個獨立運行的子系統(tǒng)構成:
第1子系統(tǒng):(主要供申請科技獎項的單位使用)基于互聯(lián)網(wǎng)的單位請獎申報統(tǒng),主要內容:單位注冊,填報請獎理由,數(shù)據(jù)互傳,在線WORD打印等。
第2子系統(tǒng):(成果管理機構內網(wǎng)專用)科技進步獎管理MIS系統(tǒng)。
主要內容:項目管理,評獎流程管理,專家管理,會議處理,評分管理,數(shù)據(jù)接口等。
第3子系統(tǒng):專家評審會,移動式科技獎評審會議系統(tǒng)。
該系統(tǒng)又分為4個獨立運行的子系統(tǒng):科技進步獎專家會議系統(tǒng),個人獎項(如:突出貢獻獎)專家會議系統(tǒng),特別獎專家會議系統(tǒng),綜合評審會議系統(tǒng)。主要內容:項目申報材料瀏覽,專家評分,循環(huán)式打分統(tǒng)計,數(shù)據(jù)接口,綜合決策等。
(基于互聯(lián)網(wǎng)的)科技成果網(wǎng),是以上兩個系統(tǒng)的信息入口,采用Web Service技術以平臺的形式搭建。該平臺整合了單位注冊,單位審核;成果鑒定申請,中介機構網(wǎng)上評審;科技進步獎(進步獎、特等獎、突出貢獻獎)推薦書填報,推薦單位審核,業(yè)務辦公室形式審查;各類業(yè)務操作流程記錄,項目動態(tài)等各種業(yè)務,同時具有各類信息發(fā)布、信息查詢等功能。
專家管理系統(tǒng),專家信息管理,專家評價管理,專家工作記錄管理等。該系統(tǒng)按將內容服務作為核心,為各類會議系統(tǒng)提供服務。
基礎信息系統(tǒng),是各類科技成果、科技進步獎的評價體系的載體,具有各類標準化的信息,如:學科分類、國民經濟行業(yè)分類、黨派、地域等等。該系統(tǒng)主要以數(shù)據(jù)字典方式提供服務。
權限管理系統(tǒng),包括業(yè)務流程管理,角色管理,權限管理,軟件模塊管理等,是整個系統(tǒng)的核心內容。
搭建科技進步獎互聯(lián)網(wǎng)網(wǎng)站及移動會議網(wǎng)絡硬件系統(tǒng)。
科技成果管理信息系統(tǒng)邏輯上主要分為客戶表示層、服務發(fā)布層、業(yè)務邏輯層、數(shù)據(jù)訪問層4層,客戶層主要負責人機交互,服務發(fā)布層實現(xiàn)各種服務的發(fā)布,業(yè)務層提供業(yè)務服務,包括業(yè)務數(shù)據(jù)和業(yè)務邏輯,集中了系統(tǒng)大多數(shù)業(yè)務處理,數(shù)據(jù)訪問層主要負責與數(shù)據(jù)庫的一切交互,基于多層分布式組件模型,結合面向服務的設計思想,提出如圖1所示的業(yè)務組件化、服務化的應用分層體系結構。
1)表示層(UI):實現(xiàn)用戶交互,系統(tǒng)主要為 Web界面。通過表示層,與用戶進行交互,將表示層與業(yè)務邏輯層連接起來,讓用戶的要求可以從表示層經由業(yè)務邏輯層傳遞到數(shù)據(jù)訪問層,同樣,數(shù)據(jù)訪問層從數(shù)據(jù)服務器取得相應的內容,經由業(yè)務邏輯層傳遞到表示層展示給用戶。
圖1 業(yè)務應用分層體系結構圖Fig.1 Business application of hierarchical structure char
2) 服務發(fā)布層(Web Service):通過 Web Service發(fā)布各系統(tǒng)服務。將業(yè)務邏輯層中的各種業(yè)務封裝成粒度較大的、易用的業(yè)務中間件,接受界面邏輯層調用,通過Ticket認證實現(xiàn)調用的安全性[4-6],該層是面向服務的一層,通過該層實現(xiàn)SOA架構的服務發(fā)布。
3)業(yè)務邏輯層(BLL):封裝各種業(yè)務邏輯,形成業(yè)務中間件,實現(xiàn)各子系統(tǒng)的業(yè)務邏輯。該層還管理著對事務的處理。該層被設計成無狀態(tài)面向服務的模式,通過該層實現(xiàn)SOA架構的服務功能。
4)數(shù)據(jù)訪問層(DAL):數(shù)據(jù)訪問邏輯組件從數(shù)據(jù)庫中檢索數(shù)據(jù)并把實體數(shù)據(jù)保存回數(shù)據(jù)庫中,完成對數(shù)據(jù)的持久化操作。數(shù)據(jù)訪問邏輯組件還包含實現(xiàn)數(shù)據(jù)相關操作所需的所有保持邏輯。
5)數(shù)據(jù)訪問輔助工具(SQLHelper類):利用數(shù)據(jù)訪問輔助工具可實現(xiàn)多種類型數(shù)據(jù)庫的訪問,利用抽象工程模式實現(xiàn)數(shù)據(jù)庫訪問無關性。
6)業(yè)務實體組件(Data):通過封裝數(shù)據(jù)來表示科技成果管理信息系統(tǒng)的業(yè)務實體。用于業(yè)務實體的表示與層間傳輸數(shù)據(jù)。
1)面向服務的需求分析:在這一階段確定SOA的服務功能范圍,制定出各層服務,并將各個服務作為包含主要的初步SOA所需要的服務候選并模塊化。
2)面向服務的概要設計:這是一個標準驅動階段,它將行業(yè)標準和合服務原則合并到服務設計過程中,確定程序由哪些模塊組成和各模塊之間的關系。
3)服務的開發(fā):在確定的開發(fā)平臺、編程語言和開發(fā)環(huán)境中,選擇決定服務編排業(yè)務流程所采用的物理形式,用選定的語言編寫程序,并且仔細測試編寫的每一個模塊。
4)服務的測試:將服務的通用特性在不同情況中復用和組合,對不可預測的情況進行反復的、綜合的測試。
5)服務的部署:在服務期上安裝和配置分布式組件,各類服務接口和相關的中間件產品。
6)服務的管理與維護:服務部署以后,對這些服務進行標準的應用管理和維護。
文中論述了基于.NET技術和面向服務架構(SOA)的科技成果管理信息系統(tǒng)平臺的設計和實現(xiàn)方案,該技術方案通過建立和應用基于SOA模式的軟件體系結構??萍汲晒芾硇畔⑾到y(tǒng)實現(xiàn)了Web Service安全認證、壓縮算法、異步操作、事務處理、異常處理等機制,該系統(tǒng)運行至今約有一年多時間,當某一個子系統(tǒng)出現(xiàn)問題時,在對該部分軟件進行維護的同時其它子系統(tǒng)依然能夠保證業(yè)務的繼續(xù)運轉 ,達到了理想的效果。由于各服務間低耦合,并可根據(jù)需求快捷地組合實現(xiàn)新的服務,具有可復用、靈活和可擴展等優(yōu)點,能夠較好地適應科技行業(yè)業(yè)務部門的要求。
[1]張大鵬,邱錦倫.SOA中Data Service的分析與設計[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)絡環(huán)境下的訪問控制技術[J].軟件學報,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的信息共享平臺研究與實現(xiàn)[J].計算機應用,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]張麗,趙洋.身份認證技術的研究與安全性分析[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服務安全研究[J].計算機應用,2005,25(11):2533-2535.
BAI Jian-kun.WEB service security research[J].Journal of Computer Applications,2005,25(11):2533-2535.
[6]鄧帆.應用組合方法設計安全協(xié)議[J].計算機應用,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.