摘要:為了實現可動態重構、能快速適應業務需求變化的科技項目管理系統,論文在分析面向服務架構(SOA)的思想和科技項目管理領域需求的基礎上,提出了基于面向服務架構的科技項目管理系統平臺的設計框架,該框架主要包含了可重用的服務倉庫和業務流程服務集成引擎。論文詳細闡述框架中主要構件模塊和業務流程服務引擎。通過項目實踐表明,在該框架指導下能有效解決目前科技項目管理系統中存在的問題。
關鍵詞:面向服務架構;科技項目管理;web服務;框架
1引言
隨著信息技術的推廣與普及,政府部門的許多管理工作開始由傳統的人工管理轉到通過計算機網絡來進行自動化信息化管理。由此,政府部門也建立了針對不同的業務的許多的軟件應用系統,但政府部門的這種IT系統面臨著諸多問題,一是政府多個分散的系統信息不能共享,存在信息孤島;二是IT資源不能復用,造成資源的浪費;三是IT系統無法快速響應業務需求。如何節約投資成本、追求工作高效、靈活適應需求變化、合理使用資源,實現應用系統、業務數據和流程的無縫集成,從而實現政府各部門之間協同辦公,共同處理政府事務,成為政府IT系統亟待解決的重要課題。
本文通過對SOA架構的特點進行分析,針對科技項目管理系統的現狀和需求,提出了一種基于SOA的科技項目管理系統平臺框架,并闡述了框架設計的基本步驟。在論文的結尾,給出了一個應用實例表明該框架指導下,能較好的解決目前科技項目管理系統中存在的問題。
2科技項目管理系統的現狀
本文所涉及的科技項目特指科技管理部門管理的計劃項目、基金項目等。對于這些不同類別的項目進行管理是科技管理部門的日常工作的重要組成部分。這類科技項目管理一般指的是對項目實施的全過程進行跟蹤管理。因此通常情況下具有以下管理流程,項目的申請立項,項目的實施檢查,項目的完成,項目的后續跟蹤。如圖1所示。
而每一次管理流程都有可能包括材料的提交,專家的評審,結果的反饋,報表的生成以及數據的統計分析。若能對這些項目的進行全程計算機跟蹤管理,便可以實現對項目整個實施周期的監控,從而保證這些項目能夠按照預定目標正常進行。針對上述需求,經過這些年的發展,科技管理部門對于不同類型的項目,一般都建立了相應的科技項目管理系統。這些系統也發揮了重要的作用,但是隨著時間的增長,這些系統出現了下面一些問題:
(1)不同類型的科技項目管理系統之間存在著信息不通,重復建設等的問題。
(2)各自數據格式不一致,彼此之間的資源不能共享,造成了資源嚴重浪費。
(3)當管理流程發生變化時,現有系統不能滿足快速業務需求的變化。
因此,非常有必要通過對科技管理系統進行重新設計,設計一套既能滿足當前業務需求,又能解決上述存在的問題的新的開放性好,靈活性高的功能系統。SOA軟件開發架構為我們提供一種全新的設計思路。
3基于SOA的科技項目管理系統集成平臺框架的研究與設計
3.1SOA架構
SOA(面向服務架構)是一種進行系統開發的新的體系架構,關于SOA,目前尚未有一個統一的、業界廣泛接受的定義。一般認為,SOA是一種計算模型,它將應用程序的不同功能單元——服務,通過服務間良好的接口和契約聯系起來。接口采用中立的方式定義,獨立于具體實現服務的硬件平臺、操作系統和編程語言,使得構建在這樣的系統中的服務可以使用統一和標準的方式進行通信。
SOA把IT架構分為組件層、web服務層、業務流程層等。組件層包括各種應用組件,它們通常是技術相關的具體實現,各種具體的分布式組件技術都可以用于實現組件層的應用組件。通常復雜的IT環境中的組件層都同時運用了多種組件技術,而不同的實現技術之間的互聯性障礙給應用集成帶來了極大的困難,進而形成了一個個的信息孤島。SOA引入了WEB服務層來解決此種情況下的應用集成問題。Web服務是獨立于各種分布式組件技術的,它使用的標準的基于XML的服務描述語言 (WebServiceDescriptionLanguage,WSDL)來定義和封裝離散的業務功能,各種支持Web服務的分布式組件技術能夠將其上的業務組件發布成Web服務并產生相應的WSDL文檔,并且只需要依據WSDL描述的信息就能夠調用Web服務,即WSDL所描述的業務功能。在SOA中,需要進入系統集成環節的業務組件都被映射成Web服務,形成Web服務層。在Web服務層之上,通過對Web服務的流程編排來實現商業流程。業務流程層能夠調用到基于各種分布式組件技術實現的業務組件,實現了復雜IT系統環境的應用集成。
SOA是一種抽象的、松散耦合的軟件架構。從業務層面來看,SOA的核心概念是“服務重用”和“服務互操作”,它將企業的IT資源整合成可互操作的、基于標準的服務,使其能夠被重新組合和應用。因此,使用SOA來構建系統能夠提供軟件的可重用性和軟件的生產質量和效率。
3.2基于SOA的科技項目管理系統集成平臺框架
為了實現一個通用的科技項目管理平臺以達到快速適應業務需求變化的目的,本文根據SOA架構的有關特點以及科技項目管理系統的現狀,提出一個基于SOA科技項目管理系統平臺的總體設計框架,如圖2所示。
圖2基于SOA科技項目管理系統平臺開發框架
下面對框架的主要部分進行說明。
可重用服務庫:可重用服務庫的開發分成兩個部分來做。一方面,對特定領域進行分析抽象,建立領域模型,在此基礎上開發一些領域構件,并通過基于WSDL封裝為WEB服務;另一方面,為了能夠節省開發費用并利用原有系統,通過定義服務適配器整合已有系統,將其進行封裝以標準的服務形式提供和展現。
服務管理:通過UDDI(UniversalDescription,DiscoveryandIntegration,通用描述發現集成)的方式,實現服務的描述、發布、發現、調用、組合、協同、管理等功能。
業務流程服務集成引擎:通過業務流程集成引擎來完成業務流程的整合和動態生成。在業務流程集成中,細粒度的業務邏輯服務組合成粗粒度的業務流程服務。通過集成,可得到不同業務需求的業務功能系統。
3.3基于SOA科技項目管理系統平臺開發框架的系統設計
1.可重用服務庫的設計與實現
根據開發框架,可充用服務庫分成三步來實現。
第一步:我們需要科技項目管理領域進行領域分析,對業務管理流程進行整合,規范管理流程,整理出可以重用的功能,然后針對這些功能開發一些可以重用的組件。
通過對科技項目管理的流程的進行分析比較,科技項目的管理主要是通過提交材料、對材料進行審查、分配專家進行評審、反饋管理的結果給管理對象這一系列過程進行的。因此可以得到下面的一些共同的業務功能,這些業務功能包括:項目數據管理(包括數據獲取、數據顯示、數據查詢與更新)單位數據管理(包括單位信息查詢與更新)。此外還包括一些基礎功能,報表生成、通知功能(短信發送和郵件發送)、報表、打印、文件操作(上傳與下載)和數據庫操作等。這些組件是可以重用的。
通過這一步,可以解決當前系統中存在的因為系統不可復用而造成的重復建設和資源浪費的問題。
第二步:原開發的科技項目管理系統(遺留系統)已經在發揮作用,為了提高其利用率減少重復建設,我們將現有的科技項目管理系統進行抽象分析,提煉出一些可以重用的模塊供新開發的系統使用,而可重用的兩個主要模塊是網絡評審服務和專家管理服務。
通過上述兩個步驟得到一個基礎服務庫,如下圖3所示。
第三步:針對上述兩個步驟得到的組件,依照SOA架構的要求,分別對其進行封裝。新開發的組件,以web服務的方式發布到服務庫中。而在遺留系統中提煉的組件需要為之設計服務適配器才能封裝成服務,封裝完畢后,將其以web服務的方式發布到服務庫中,這些web服務是可供外部系統調用的,通過對服務的調用,外部系統就可以使用本系統的數據,從而解決“信息孤島”的問題。
2.業務流程集成引擎的設計與實現
為了快速響應業務需求的變化,我們需要設計一個業務流程服務集成引擎,對業務流程進行動態組合,組合得到的服務便可供業務系統直接調用。對于本地前端的應用請求服務,在進入集成平臺之后,都啟動業務流程集成引擎。業務流程集成引擎判斷當前請求的服務是已編制的服務、基本服務還是需要編制的服務,若是已編制好的服務,則按已經確定的服務流直接執行;若是基本服務,則直接執行;若是需要編制的服務,則按照業務規則進行服務的查找和選擇。若引擎在執行一個服務時,該服務又調用了其他服務,也要把它提交給服務發現代理去查找和選擇。若查找和選擇的服務是內部服務庫的服務,則重復上述過程;否則調用外部服務。在執行完畢之后,引擎將活得的執行結果返回給前端應用請求服務。業務流引擎的工作流程如圖4所示。
通過業務流程集成引擎,可實現動態重構,以達到快速適應業務需求變化的目的。
4基于SOA的科技項目管理系統平臺框架的應用
根據3.2提出的開發框架,我們開發了上海市應用項目管理系統。該系統的投入使用,解決了以往那種系統存在的信息孤島、不能復用、不能快速響應業務需求變化等問題,并得到用戶的一致好評,獲得了很好的經濟效益和社會效益。同時,該系統的成功實現,也可以為其他類似政府管理部門信息管理系統的開發提供新的思路。
本文作者的創新觀點:在分析面向服務架構(SOA)的思想和科技項目管理領域需求的基礎上,提出了基于面向服務架構的科技項目管理系統平臺的設計框架,在該框架下設計了可重用的服務倉庫和業務流程服務集成引擎。在該框架下能快速有效指導科技項目管理系統的開發。(本文2010年發表于《微計算機信息》)
參考文獻
[1]曹曉葉,王知衍.基于SOA的企業應用集成研究與應用[J].微計算機信息,2007,12-3:16-18
[2]張巧霞,范黎林.基于SOA實現企業應用集成[J].微計算機信息,2007,10-3:12-14
作者簡介:龍軍(1973-),男,副教授,博士,主要研究領域為專家信息服務網格模型及關鍵技術研究;王威(1983-),男,碩士研究生,主要研究領域為軟件工程。