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