SOA可以看作是B/S模式、XML/WebService技術與管理軟件的結(jié)合。它通過組合單獨業(yè)務和流程實現(xiàn)復雜的業(yè)務應用,而這些業(yè)務功能和流程稱為服務,SOA把業(yè)務流程視為獨立于應用程序及其運行的平臺的可復用組件。當前,眾多廠商成為了SOA技術架構(gòu)的推動者,其中包括IBM、BEA、HP、Oracle和SAP等。
競爭與合作,是當今SOA產(chǎn)業(yè)發(fā)展的主旋律
在商業(yè)社會,只有永遠的利益,沒有永遠的競爭對手。而SOA也會在這種競合中穩(wěn)步向前,成為下一個主流。
SOA正逐漸成為一個流行的詞匯。IBM、SAP等IT服務廠商都宣布投入重金進行SOA的研發(fā)。但是,就像任何其他軟件技術一樣,國內(nèi)SOA發(fā)展狀況跟國外比還有一段距離。
有廠商認為,目前中國的SOA還局限于技術人員間的探討,還沒有到大規(guī)模部署和實踐的時候。對于這一點似乎沒有人提出疑問,因為盡管中國企業(yè)的基礎信息化建設已經(jīng)比較完善,但涉及到更高層次的應用還有諸多掣肘。
SOA最吸引人的地方在于,通過實施SOA可以實現(xiàn)更高的業(yè)務和IT一致性。它的整個IT系統(tǒng)是基于松散耦合組件組成的系統(tǒng),建成的系統(tǒng)允許分散于各地且采用不同技術的資源協(xié)同工作。它要求研發(fā)人員開發(fā)的程序有更多的通用性。通俗來講就是有標準化的接口,可以將各種組件迅速組裝成為新的產(chǎn)品和服務。
顯然,要實施SOA,難點在于把整個業(yè)務和IT邏輯重新梳理,提煉出更多的共性模塊,之后的技術實施反而不是關鍵。
在中國的電信、銀行對SOA需求迫切的行業(yè),企業(yè)內(nèi)部的信息化系統(tǒng)很多是按照部門來部署的,每個部門都有自己的利益,因此希望通過大集中式SOA部署,一次性實現(xiàn)所有部門和系統(tǒng)之間的共性組合,顯然是不現(xiàn)實的。與此同時,各個部門為了應對日益加大的競爭壓力,都希望在局部的范圍內(nèi)實現(xiàn)盡可能多的業(yè)務一體化組合,也就是希望快速而波及面小地實施SOA。此外,中國企業(yè)在信息化建設上,一向信奉穩(wěn)重推進的策略,它們不希望一下子上馬一個牽動全公司的項目,而是先試點,成功后再逐步推廣開來。這種信息系統(tǒng)的實施性格也決定了集中式SOA在中國推進的困難,盡管從SOA希望實現(xiàn)的最終目標來講,集中式SOA是最合適的。
IONA大中華區(qū)總裁薛志勇就主張SOA實施應該是分布式的,能滿足企業(yè)在局部實現(xiàn)SOA部署的需求,而不是大包大攬,所有系統(tǒng)都進行SOA轉(zhuǎn)化。今年IONA公司通過大唐軟件幫助內(nèi)蒙網(wǎng)通公司上SOA,在條件準備充分的情況下,開通一個接口或者一個服務最多兩天,少則一天就成功實現(xiàn)了SOA。
當然,任何公司都是根據(jù)自己的技術特長和產(chǎn)品優(yōu)勢來推廣SOA的,IBM、SAP、IONA、普元等都是如此。它們的這種“自賣自夸”式的宣傳一定程度上把整個SOA市場炒熱了。但是它們作為一個盈利企業(yè),不會死板到只推廣自己的SOA模式,而不理會別的公司的方案和產(chǎn)品。當自己所掌握的客戶有需要,而自己又一時沒有性價比合適的SOA產(chǎn)品提供的時候,與競爭對手合作也不是不可能的。在商業(yè)社會,只有永遠的利益,沒有永遠的競爭對手。而SOA也會在這種競合中穩(wěn)步向前,成為下一個主流。
BPM無論從技術還是方法上都在促進SOA的發(fā)展
從SOA概念提出以來,越來越多的主流廠商開始了BPM與SOA的應用。近期,BEA收購Fuego擴展SOA到BPM軟件,以此使用新的BPM升級SOA平臺。2月,HP和Oracle集團宣布,HP的服務咨詢和集成(ServicesConsulting&Integration)將會同Oracle的Fusion中間件,加入到它的SOA的投資組合以及HPOpenView管理軟件套件,以Fusion融合SOA。去年,Oracle收購了BPM專業(yè)公司Collaxa;SAP重新設計軟件,以便集成自由版本的面向BPM的中間件NetWeaver。
除平臺提供商以外,開源廠商也試圖占領擁有自己的SOA卻缺乏服務的市場。JBoss公司在2005年10月發(fā)布的企業(yè)過程管理引擎,圍繞業(yè)務過程執(zhí)行語言(BusinessProcessExecutionLanguageBPEL)提供了一種可插拔的體系結(jié)構(gòu)、擴展的任務管理以及新的可擴展性。BPEL雖然是用來編排Web服務的,但依然適合用來集成,而不是深入的業(yè)務邏輯。
BPM無論從技術還是方法上都將促進SOA的發(fā)展。在此過程中,大型平臺廠商IBM、BEA、SAP、Oracle等將會嘗試建立一種新SOA標準;而開源廠商努力構(gòu)建一套工具,不把自己禁錮于用一種方法構(gòu)建SOA。
從BPM的IT需求與SOA技術角度上看,BPM與SOA的融合也具有先天優(yōu)勢。BPM的范圍覆蓋了企業(yè)運營的各個環(huán)節(jié),如生產(chǎn)、銷售、物流、財務等企業(yè)經(jīng)營活動,甚至延伸到供應商和經(jīng)銷商。其產(chǎn)品開發(fā)包括6個部分,從基礎開始為:開發(fā)語言,如BPEL、Java等;BPM服務器,包含EAI/BPM平臺產(chǎn)品;BPM工具,包括用戶接口工具、過程建模工具、軟件需求工具等;BPM套件;BPM知識架構(gòu);BPM系統(tǒng)和其應用。由此可見,BPM的IT需求與SOA技術具有以下相似點:
1.BPM涵蓋范圍廣泛,需要完成因事件觸發(fā)的完全不相干的事件,此特點正與SOA的松散耦合特點相吻合。
2.BPM需要多部門、區(qū)域的協(xié)同。在此中環(huán)境中網(wǎng)絡環(huán)境的安全性可由SOA技術構(gòu)架中的WS-Security、LDAP(LightweightDirectoryAccessProtocol-輕量級目錄訪問協(xié)議)、PKI(PublicKeyInfrastructure-公鑰基礎設施)架構(gòu)和數(shù)位簽章等機制來完成。
3.BPM系統(tǒng)構(gòu)成元素種類繁多而復雜,包含分布于各模塊的企業(yè)邏輯和規(guī)則。而SOA可以看作是B/S模式、XML/WebService技術與管理軟件的延續(xù)。當前多數(shù)SOA環(huán)境能提供系統(tǒng)管理工具給系統(tǒng)管理員使用,協(xié)助管理SOA架構(gòu)下模塊的安裝、移除、啟動等。目前能夠?qū)崿F(xiàn)SOA的產(chǎn)品包括:MicrosoftBiztalkServer,webMethodsBusinessIntegrator,IBMSeeBeyond,TIBCO和Vignette。在SOA提出以前,大部分BPM產(chǎn)品在流程圖中采用自有定義流程邏輯。
4.企業(yè)BPM系統(tǒng)的實施往往從最簡單的開始,逐漸提升為復雜的BPM系統(tǒng)。而SOA模塊化的特性正好吻合了此特性。