在螺旋上升的過程中升華
--初涉SOA學習心得(續)
二、SOA論術
SOA的概念范疇之內,service是其核心的部分。那么,什么是service,它與組件有什么不同呢?service從本質上來說是一種新的抽象手段,它通過契約描述的方式聲明了對外提供的功能接口。與組件相比,組件注重于自身內部的結構與屬性,而service更注重于對外的接口和功能;組件粒度較小,更多的是系統技術視圖中關注的焦點;service粒度較大,通常是系統業務視圖中關注的焦點。從組件到service我們實現了抽象層次的提升,我們的開發方式也從編程式向聲明式演進。
"提綱挈領,綱舉目張",架構的力量來自抽象和分治。SOA的架構方法學雖然可以有著種種不同的實現方式,但是,以下的架構層次卻應該是每一個具體架構中都不可缺少的部分。SOA分層架構分為5個主要的層次:最底層的是運營系統層,中間是企業組件層(SOA接入層),其上是包含了服務、業務編排優化和表示3個子層的SOA層,此外是兩個貫通了各個層次的集成架構層和QoS安全監控管理層。架構底層的運營系統層包括了大部分的企業應用子模塊,各個模塊有可能是已有的遺留系統,也有可能是待建的系統,甚至是外購的某種服務。運營系統層之上是用于包裝它們的企業組件層。通過包裝,企業組件層將企業應用子模塊的各項功能以service的形式發布給SOA層使用。SOA層是SOA架構的核心。在服務子層,各種細粒度的服務被組合為富有業務語義的粗粒度服務。服務子層之上是業務編排優化子層,這一子層是實現業務流程隨需應變,快速更新的關鍵,服務層提供的種種服務在這里按照業務的要求組合成不同的流程,實現對各種企業業務的完善支持。最上面的則是直接和終端用戶打交道的表示子層。此外還有縱向貫通各個層次的兩個層次。其中,集成架構層通過企業服務總線ESB為整個架構提供了統一的集成環境,而QoS安全監控層則在此基礎上進一步為架構提供了服務質量、安全、監控和管理的基礎設施。
"人們往往只看到美好的前景,卻忽略了道路的艱辛",SOA為我們勾畫出了一個健壯的、高度可擴展、可伸縮的企業信息系統,它是靈活的,能夠快速的適應企業業務的發展和業務流程的更新變化。然而,構建基于SOA的系統本身卻不是簡單易行的,如果缺少審慎的分析、全面的考量和相應的企業管理上的支持,美好的前景就很容易成為海市蜃樓、空中樓閣。我們必須對SOA的實施作出戰略性的規劃,對SOA架構實施過程中的各種角色予以界定和管理,嚴格的注冊登記SOA系統的核心 - service并管理其發布與更新。"牽一發而動全身"對于復雜的企業系統,管理永遠是最為重要的環節。(待續)
王青
2006-7-6