本文基于國內各行業的實際業務類型,重點研究了SOA(service-oriented architecture)的應用模式,并按照不同的側面對此進行了總結。
隨著SOA技術的不斷完善,SOA理念與技術實踐開始日趨深入。從國內整體市場看,越來越多的政府機構和企業已經跨過了對SOA的價值及重要性的認知階段,開始從概念普及、局部嘗試準備進入到大規模應用階段。但是,如何基于國內的SOA需求環境讓SOA真正落地,如何在各行業構建滿足SOA特征的應用成為目前我國軟件企業與服務提供商面臨的一大難題。
筆者認為,只有SOA的應用模式被深刻理解,SOA應用推廣工作才會有據可依,大力推進SOA在中國的成功應用才會有堅實的基礎。本文基于國內各行業的實際業務類型,重點研究了SOA的應用模式,并按照不同的側面對此進行了總結(參見附圖1)。
SOA作為軟基礎設施
從軟基礎設施的角度,SOA的應用可以分為利用信息資源目錄梳理業務活動和業務對象的應用模式,以及建立業務主題庫的應用模式兩類。利用信息資源目錄梳理業務活動和業務對象的應用模式用于梳理業務以支撐基于SOA的應用;建立業務主題庫框架的應用模式則主要是闡述如何建立業務領域的主題庫,基于這種應用模式可以建立多層次、分布式應用系統的基礎庫。
信息資源梳理的目的在于方便部門間的資源共享和業務協同,因此宜將政務部門的組織結構、部門職責作為梳理的起點,把各部門的業務活動作為信息資源梳理的脈絡,把業務對象和業務流程作為信息資源的關鍵點,把業務活動之間的關系作為尋找和判斷信息資源如何共享和協同的依據。
圖1
對于政務部門,信息資源主要包括基礎信息、結構化業務數據、非結構化業務數據和應用資源等。此分類只是資源的外在表現形式,而如何利用這些資源形成完整的服務則是一項需要研究的內容。通過分析可以建立起相對完善的資源梳理和服務目錄,完成以下工作:
1. 業務活動梳理、編目及查詢;
2. 業務活動之間的關系梳理、編目及查詢;
3. 基礎信息維護、編目及查詢;
4. 結構化業務數據維護、編目及查詢;
5. 非結構化業務數據維護、編目及查詢;
6. 應用資源類維護、編目及查詢。
完成上述過程的梳理和資源分類只是一個起點,還要利用SOA理念,將梳理的結果以服務的形式體現出來,才能最終為業務應用提供最直接的幫助。事實上,梳理的過程和基于梳理結果建立服務的過程也就是搭建政務應用基礎設施的過程,有了基礎設施就有了業務應用的完整地圖,業務流、數據流就可以按照指定的方式運行。
資源共享應用模式
從軟基礎設施的角度對電子政務領域的信息資源目錄進行了梳理,建立了以組織架構、職責、業務活動、業務對象、業務流程為內容的目錄體系,并基于這個目錄體系形成了服務體系,就可以依據這些軟基礎設施進一步構建具體的資源和服務。這些資源可以通過服務的模式對外共享,任何需要這些資源的機構和個人都能拿到所需要的資源。
資源的有效共享依賴于三個方面: 一個是資源本身的描述,另一個是資源本身的實際存儲方式,最后是資源的提供方式。
資源本身的描述和邏輯集中有賴于基于元數據的資源描述,邏輯集中就是將資源的描述以目錄的形式進行統一存儲;資源的物理存儲方式依賴應用構建前期對數據的規劃,此層的變動只會影響資源的物理層面特性,并不影響其服務的特性,因此原有的對應用層限制最大的數據層,通過目錄的統一服務變得非常靈活而有彈性; 最后,資源的提供方式則是基于前兩個方面的服務方案,資源共享以服務的形式體現。
業務協同應用模式
不同機構的業務辦理都有可能依賴于其他業務,而業務本身的辦理又通常需要資源的支撐,資源本身的負責方或許是本單位,也可能是其他單位,信息資源的共享應用模式解決了第二個問題,而第一個問題也通過對業務的梳理為業務協同建立了完整的指導。如何實現這些業務的協同是SOA在這種應用模式下的重點。在這種應用模式下,完成業務協同包括三個步驟:
第一步:業務處理服務
業務處理服務源于對組織內或組織間業務活動的分析,組織內的業務處理服務可以直接基于業務活動抽象的用例來構造;組織間的業務活動一部分來自于業務活動的分析,另一部分來自于資源共享的需求,近而依據這部分需求建立起共享的服務。
第二步: 業務流程服務
業務流程服務源于組織內各部門間或組織間的業務關系的分析,通過建立業務的前置關系、后置關系從而形成業務流程,依據業務活動間的關系建立起對外提供的業務服務。
第三步:服務查詢檢索
服務查詢檢索主要是供外部用戶明確了解組織提供了哪些服務、具體的服務內容是什么以及如何獲取和使用這些服務。
服務查詢檢索依據信息資源目錄,信息資源目錄清晰梳理了客戶的業務,但如何提供這些業務,則需要通過服務去實現。通過服務定義和服務描述,建立了關于服務的完整描述,使用者可以基于這些描述的任一方面對服務進行檢索。
最后通過服務檢索查詢的功能開發定義明確的交互界面,用戶可以通過交互界面查詢定位所需的服務。
不同服務渠道的應用模式
服務的靈活性和可擴展性是SOA的主要特性之一,電子政務的一個重要特性是強調服務,因此整合不同服務渠道也是重點之一。
SOA在應用與業務之間加入一個服務層,解決了原有的系統建設通常不會建立服務層完成系統間的調用,而是直接調用下層其他應用或者采用數據共享的方式,從而避免直接訪問下層其他應用。另外,在大多數機構中,存在不同的應用和技術共存,由于這些應用提供的功能都是特定的,要在應用間共享信息最好的解決方案是轉向一種面向服務的架構和Web服務,即在業務層之上加入一個服務層。
當數量眾多的業務應用需要使用Web服務技術集成在一起的時候,可以進一步采用企業服務總線(ESB)的架構來管理這些可復用的應用組件,從而可以實現更加清晰地管理所有政務系統中所包含的可復用信息資產。
另外,SOA還有第五種應用模式是基于虛擬數據中心的模式,也就是忽略數據在不同節點的部署而集中提供服務。如果要在單節點上提供虛擬數據中心,可以建立非分布式目錄中心用于提供虛擬中心服務; 如果在多節點上建立虛擬數據中心,即跨節點的虛擬中心,需要建立分布式目錄中心用于提供虛擬中心服務。
總之,通過SOA應用模式分類體系的研究,可以更好地幫助用戶理解SOA的應用類型,并結合SOA架構的優勢,確定業務下一步建設的方向。同時,指出傳統軟件開發方式的解決方案以及帶來的局限性,明確SOA在這些方向的應用前景,并為基于SOA解決各種不同類型的問題提供獨立于各種應用、領域、平臺與標準的解決方案,從而真正起到指導電子政務各類應用實施推廣的作用。