尋大勇
[摘要]針對我國電子政務(wù)系統(tǒng)存在的可擴展性差、容易形成信息孤島等問題,提出SOA能較好地實現(xiàn)電子政務(wù)系統(tǒng)中的業(yè)務(wù)協(xié)同與信息共享。在介紹SOA的基本結(jié)構(gòu),分析我國電子政務(wù)的現(xiàn)狀與問題的基礎(chǔ)上,探討SOA在電子政務(wù)中的五種應(yīng)用模式及基于SOA的電子政務(wù)系統(tǒng)設(shè)計的優(yōu)勢,提出SOA與電子政務(wù)的結(jié)合已成為勢不可擋的趨勢。
[關(guān)鍵詞]面向服務(wù)架構(gòu); 電子政務(wù);應(yīng)用模式
[中圖分類號] TP311 [文獻標識碼]A
一引言
經(jīng)過國家多年的信息化建設(shè),各種電子政務(wù)系統(tǒng)和協(xié)同辦公系統(tǒng)已經(jīng)在政府部門廣泛應(yīng)用。當前大量的電子政務(wù)系統(tǒng)多為B/S模式的Web應(yīng)用程序,但在不同程度上存在著可擴展性差、互操作性不強、容易形成“信息孤島”等嚴重問題。SOA(Service Oriented Architecture)正是為解決這類問題而新近發(fā)展起來的設(shè)計思想和架構(gòu), SOA能較好地解決電子政務(wù)系統(tǒng)中系統(tǒng)間的業(yè)務(wù)協(xié)同與信息共享等問題,實現(xiàn)電子政務(wù)系統(tǒng)的松耦合性和高拓展性。
二 我國電子政務(wù)的現(xiàn)狀與問題
傳統(tǒng)的電子政務(wù)系統(tǒng)主要針對各部門自身的業(yè)務(wù)需求來實現(xiàn),造成應(yīng)用系統(tǒng)獨立建設(shè),缺乏統(tǒng)一的標準,各個部門自成體系的應(yīng)用現(xiàn)狀。信息資源分割嚴重,信息孤島大量存在,資源獲取和可用性差,信息交換共享十分困難。
政務(wù)部門在各自的信息系統(tǒng)建設(shè)中,多從自身業(yè)務(wù)出發(fā)來構(gòu)建信息系統(tǒng),業(yè)務(wù)數(shù)據(jù)固化于軟件實現(xiàn)中,且信息資源單獨管理,造成了業(yè)務(wù)與數(shù)據(jù)的相對自我封閉。對需要跨部門共享的業(yè)務(wù)信息,因其描述格式、描述方式均不統(tǒng)一,標準化程度低,導致大量事實性信息孤島出現(xiàn),且不同孤島間的數(shù)據(jù)獲得與使用較為困難。如何建立起電子政務(wù)應(yīng)用的標準化數(shù)據(jù)體系,保證數(shù)據(jù)表達、處理、展現(xiàn)的規(guī)范化已經(jīng)成為電子政務(wù)建設(shè)亟待解決的重要問題。面向服務(wù)架構(gòu)(Service Oriented Architecture, SOA)的應(yīng)用為突破信息孤島、整合信息資源、協(xié)同政務(wù)應(yīng)用、縮短開發(fā)周期、降低開發(fā)成本提供很好的解決方案。
三 SOA的基本結(jié)構(gòu)
面向服務(wù)架構(gòu)(SOA)是軟件工程方法的重要發(fā)展,也是軟件產(chǎn)業(yè)形態(tài)由產(chǎn)品轉(zhuǎn)向服務(wù)的里程碑性技術(shù)基礎(chǔ)。SOA是一種新的應(yīng)用架構(gòu)模型,它以服務(wù)驅(qū)動為核心理念,按需連接系統(tǒng)資源,通過將原有應(yīng)用中的零散功能整理包裝為具有互操作性的標準服務(wù),實現(xiàn)服務(wù)的快速組合和重用,保證應(yīng)用敏捷性與擴展性,滿足政務(wù)業(yè)務(wù)發(fā)展需要。SOA結(jié)構(gòu)中共有三種角色:服務(wù)提供者。發(fā)布自己的服務(wù),并且對使用自身服務(wù)的請求進行響應(yīng)。服務(wù)注冊中心。注冊已經(jīng)發(fā)布的服務(wù)提供者,對其進行分類并提供搜索服務(wù)。服務(wù)請求者。利用服務(wù)注冊中心查找所需的服務(wù),然后使用該服務(wù)。SOA的基礎(chǔ)是服務(wù)描述和服務(wù)發(fā)現(xiàn)。服務(wù)描述主要提供服務(wù)的接口描述信息和服務(wù)部署信息等。服務(wù)發(fā)現(xiàn)是指服務(wù)請求者通過查詢服務(wù)注冊中心去定位符合其需求標準的服務(wù)。
四 SOA在電子政務(wù)中的五種應(yīng)用模式
SOA技術(shù)架構(gòu)強調(diào)統(tǒng)一規(guī)劃、統(tǒng)一標準、統(tǒng)一平臺、統(tǒng)一管理,以需求為導向,以業(yè)務(wù)服務(wù)為焦點。所有服務(wù)以松散耦合的狀態(tài)存在于系統(tǒng)之中,可以隨業(yè)務(wù)需求的變化,快速組合成跨單位、高協(xié)作、高應(yīng)急能力的應(yīng)用系統(tǒng)。采用SOA的技術(shù)架構(gòu)和技術(shù)理念,一方面深度滿足用戶的業(yè)務(wù)需求,另一方面解決了政務(wù)系統(tǒng)項目的重復建設(shè)問題。SOA在電子政務(wù)中的應(yīng)用模式如圖1所示。
1 軟基礎(chǔ)設(shè)施應(yīng)用模式
從軟基礎(chǔ)設(shè)施的角度,SOA的應(yīng)用可以分為利用信息資源目錄梳理業(yè)務(wù)活動和業(yè)務(wù)對象的應(yīng)用模式,以及建立業(yè)務(wù)主題庫的應(yīng)用模式兩類。利用信息資源目錄梳理業(yè)務(wù)活動和業(yè)務(wù)對象的應(yīng)用模式用于梳理業(yè)務(wù)以支撐基于SOA的應(yīng)用; 建立業(yè)務(wù)主題庫框架的應(yīng)用模式則主要是闡述如何建立業(yè)務(wù)領(lǐng)域的主題庫,基于這種應(yīng)用模式可以建立多層次、分布式應(yīng)用系統(tǒng)的基礎(chǔ)庫。
2 資源共享應(yīng)用模式
資源可以通過服務(wù)的模式對外共享,任何需要這些資源的機構(gòu)和個人都能拿到所需要的資源。資源的有效共享依賴于三個方面: 一是資源本身的描述,另一個是資源本身的實際存儲方式,最后是資源的提供方式。資源本身的描述和邏輯集中有賴于基于元數(shù)據(jù)的資源描述,邏輯集中就是將資源的描述以目錄的形式進行統(tǒng)一存儲; 資源的物理存儲方式依賴應(yīng)用構(gòu)建前期對數(shù)據(jù)的規(guī)劃,此層的變動只會影響資源的物理層面特性,并不影響其服務(wù)的特性,因此原有的對應(yīng)用層限制最大的數(shù)據(jù)層,通過目錄的統(tǒng)一服務(wù)變得非常靈活而有彈性; 最后,資源的提供方式則是基于前兩個方面的服務(wù)方案,資源共享以服務(wù)的形式體現(xiàn)。
3 業(yè)務(wù)協(xié)同應(yīng)用模式
如何實現(xiàn)這些業(yè)務(wù)的協(xié)同是SOA在這種應(yīng)用模式下的重點。在這種應(yīng)用模式下,完成業(yè)務(wù)協(xié)同包括3個步驟:
1)業(yè)務(wù)處理服務(wù)
業(yè)務(wù)處理服務(wù)源于對組織內(nèi)或組織間業(yè)務(wù)活動的分析,組織內(nèi)的業(yè)務(wù)處理服務(wù)可以直接基于業(yè)務(wù)活動抽象的用例來構(gòu)造; 組織間的業(yè)務(wù)活動一部分來自于業(yè)務(wù)活動的分析,另一部分來自于資源共享的需求,近而依據(jù)這部分需求建立起共享的服務(wù)。
2)業(yè)務(wù)流程服務(wù)
業(yè)務(wù)流程服務(wù)源于組織內(nèi)各部門間或組織間的業(yè)務(wù)關(guān)系的分析,通過建立業(yè)務(wù)的前置關(guān)系、后置關(guān)系從而形成業(yè)務(wù)流程,依據(jù)業(yè)務(wù)活動間的關(guān)系建立起對外提供的業(yè)務(wù)服務(wù)。
3)服務(wù)查詢檢索
服務(wù)查詢檢索主要是供外部用戶明確了解組織提供了哪些服務(wù)、具體的服務(wù)內(nèi)容是什么以及如何獲取和使用這些服務(wù)。
最后通過服務(wù)檢索查詢的功能開發(fā)定義明確的交互界面,用戶可以通過交互界面查詢定位所需的服務(wù)。
4 不同服務(wù)渠道的應(yīng)用模式
SOA在應(yīng)用與業(yè)務(wù)之間加入一個服務(wù)層,解決了原有的系統(tǒng)建設(shè)通常不會建立服務(wù)層完成系統(tǒng)間的調(diào)用,而是直接調(diào)用下層其他應(yīng)用或者采用數(shù)據(jù)共享的方式,從而避免直接訪問下層其他應(yīng)用。另外,在大多數(shù)機構(gòu)中,存在不同的應(yīng)用和技術(shù)共存,由于這些應(yīng)用提供的功能都是特定的,要在應(yīng)用間共享信息最好的解決方案是轉(zhuǎn)向一種面向服務(wù)的架構(gòu)和Web服務(wù),即在業(yè)務(wù)層之上加入一個服務(wù)層。
5 基于虛擬數(shù)據(jù)中心的應(yīng)用模式
也就是忽略數(shù)據(jù)在不同節(jié)點的部署而集中提供服務(wù)。如果要在單節(jié)點上提供虛擬數(shù)據(jù)中心,可以建立非分布式目錄中心用于提供虛擬中心服務(wù); 如果在多節(jié)點上建立虛擬數(shù)據(jù)中心,即跨節(jié)點的虛擬中心,需要建立分布式目錄中心用于提供虛擬中心服務(wù)。
總之,通過SOA應(yīng)用模式分類體系的研究,可以更好地幫助用戶理解SOA的應(yīng)用類型,并結(jié)合SOA架構(gòu)的優(yōu)勢,確定業(yè)務(wù)下一步建設(shè)的方向。
五 基于SOA的電子政務(wù)系統(tǒng)設(shè)計優(yōu)勢
SOA的體系結(jié)構(gòu)可以基于現(xiàn)有的系統(tǒng)投資來發(fā)展,而不需要徹底重新創(chuàng)建新系統(tǒng)。如果將開發(fā)力量集中在創(chuàng)建服務(wù),利用現(xiàn)有的技術(shù)結(jié)合基于組件的方法來開發(fā)軟件,將可獲得如下幾個方面的好處:
1)利用現(xiàn)有資源。通過使用適當?shù)腟OA框架,可以將業(yè)務(wù)服務(wù)構(gòu)造成現(xiàn)有組件的集合。使用這種新的服務(wù)只需要知道它的接口名稱,服務(wù)的內(nèi)部細節(jié)以及在組成服務(wù)的組件之間傳送的數(shù)據(jù)的復雜性都對外界隱藏了。這種匿名性使組織能夠利用現(xiàn)有資源,通過合并運行在不同的操作系統(tǒng)中,用不同的編程語言開發(fā)的組件來創(chuàng)建服務(wù)。原有系統(tǒng)提供的功能,可以通過服務(wù)來封裝并提供給新的系統(tǒng)或其他系統(tǒng)進行訪問。
2)商品化基礎(chǔ)架構(gòu)。利用SOA框架,可以使不同的政務(wù)網(wǎng)站應(yīng)用程序之間,基礎(chǔ)架構(gòu)的開發(fā)和部署變得更加一致?,F(xiàn)有的組件、新開發(fā)的組件和從廠商購買的組件可以合并在一個定義良好的SOA框架內(nèi)。這樣的組件集合將被作為服務(wù)部署在現(xiàn)有的電子政務(wù)平臺上。
3)減少成本。隨著業(yè)務(wù)需求的發(fā)展和新的需求的引入,通過采用SOA框架和服務(wù)庫,為現(xiàn)有的和新的應(yīng)用程序增強和創(chuàng)建新的服務(wù)的成本大大減少。
4)持續(xù)改進業(yè)務(wù)過程。SOA允許清晰地表示流程流,這些流程流通過在特定業(yè)務(wù)服務(wù)中使用的組件順序標志,這給商業(yè)用戶提供了監(jiān)視業(yè)務(wù)操作的理想環(huán)境。業(yè)務(wù)建模反映在業(yè)務(wù)服務(wù)中,流程操縱是以一定的模式重組部件(構(gòu)成業(yè)務(wù)服務(wù)的組件)來實現(xiàn)的,這將進一步允許更改流程流,而同時監(jiān)視產(chǎn)生的結(jié)果,促進了業(yè)務(wù)過程的持續(xù)改進。
5) 以流程為中心的體系結(jié)構(gòu)?,F(xiàn)在的體系結(jié)構(gòu)模型和實踐往往是以程序為中心。通常,流程信息在組件之間傳播,應(yīng)用程序很像一個黑匣子,沒有粒度可用于外部,重用需要復制代碼、合并共享庫或繼承對象。在以流程為中心的體系結(jié)構(gòu)中,應(yīng)用程序是為過程開發(fā)的,流程可以分解成一系列步驟,每一個步驟表示一個業(yè)務(wù)服務(wù)。實際上,每個過程服務(wù)或組件功能都相當于一個子應(yīng)用程序,將這些子應(yīng)用程序連接在一起可以創(chuàng)建能夠滿足業(yè)務(wù)需求的流程流。這種粒度允許利用和重用整個組織中的子應(yīng)用程序。
六 結(jié)語
綜上所述,SOA的技術(shù)屬性和電子政務(wù)的宗旨十分吻合,使用SOA架構(gòu)實現(xiàn)電子政務(wù)將達到事倍功半的效果。當然這并不等于采用了SOA架構(gòu),就可以解決所有在電子政務(wù)中存在的問題,無論SOA和電子政務(wù)都在飛速地發(fā)展,處于不斷完善的階段,一些理論和實踐的問題還處在探索階段,但是無論如何改變,SOA可以完善和解決傳統(tǒng)電子政務(wù)中存在的諸多弊端,SOA可能而且可以在電子政務(wù)建設(shè)中發(fā)揮出巨大的優(yōu)勢已經(jīng)成為共識。
主要參考文獻
[1] 趙育梅.中國電子政務(wù)發(fā)展中出現(xiàn)的問題及對策研究[J].北京郵電大學學報(社會科學版), 2004(2): 68-72.
[2] Eric Newcomer, Greg Lomow. Understanding SOA with Web Services中文版[M].徐涵,譯.北京:電于工業(yè)出版社,2006:162-177.
[3] Andy, Som Sengupta. 使用應(yīng)用程序平臺跨越SOA障礙[J]. bea dev 2 dev??? 2004,4(8): 26-30
[4] 姜國華,李曉林,等.基于SOA的框架模型研究[J].電腦與信息技術(shù),2007,15(6):37-39.
[5] Olaf Zimmermann, Pal Krogdahl, Clive Gee. 面向服務(wù)的分析與設(shè)計原理.[2004-06-28]. http://www-900.ibm.com/developerWorks/cn/webservices/ws-soad1/index.shtml. [6]李春旺. SOA標準規(guī)范體系研究[J].現(xiàn)代圖書情報技術(shù),2007(5):2-5.