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