從SOA的概念中,不難發現三點:第壹,SOA不是壹種可以馬上使用的技術,而是壹種結構化和組織IT基礎設施和業務功能的方法;其次,基於SOA架構的軟件系統比傳統架構更加靈活,更適合企業根據業務情況快速調整和重新部署軟件系統;再次,SOA的出現可以使企業在解決多系統集成方面獲得新的思路和解決方案。
此外,從這個定義中我們還可以發現,對於企業級應用,SOA可以給業務應用和管理帶來壹個全新的概念:服務組件管理。這和軟件組件化的概念是壹致的。壹個相對獨立完整的服務,可以很容易地通過各種方式組合成壹個大的服務。
首先,目前ERP在企業中的應用並不成熟,大部分企業還處於信息孤島狀態,沒有掌握ERP的核心理念。特別是當企業處於成長期時,企業的組織結構、業務流程和職責往往會發生變化。結果,由於企業組織結構的調整,信息系統不能為企業提供足夠的支持。這時,大多數企業都期望找到壹種快速的方法來解決這類問題。事實上,許多企業在企業變革後,都處於壹種自由意誌狀態,即要求他們不加思考地在短時間內完成信息系統的調整和重新部署。我們知道,當企業發生變化時,首先要反映的是其組織結構的調整。其實組織架構的調整通常對企業的影響只有壹個,就是部門職責的變化,更多的表現為權限的變化。我相信對於任何軟件系統來說,權限的調整都是壹件非常簡單的事情。另外,權限的變更也會帶來舉報的問題。目前我國企業尤其是國有企業的報表有壹個非常顯著的特點,就是不確定性,報表格式的不確定性,報表數據的不確定性,可以說是年年變,月月變,日日變。與其花更多的錢去選擇壹個所謂的高級架構軟件,不如買壹個靈活的報表工具更實際。
如果企業變化導致業務流程的變化,我相信即使妳應用了SOA架構,也無法方便快捷的調整系統。業務流程變更可以簡單地分為兩類。壹種是進程增加,即進程變長。這種情況下,可能會導致軟件功能的增加,也可能會涉及到定制開發,系統的調整會變得復雜。另壹種情況,流程縮短。流程的縮短通常表現在流程環節的減少。在這種情況下,只要基於組件技術的系統能夠簡單應對,那麽基於SOA的軟件就是奢侈品。
其次,我們有必要壹起分析壹下企業IT應用服務包括哪些內容。壹般來說,企業IT應用服務會更多的表現在兩個方面,壹是IT系統本身的應用,包括IT系統的選擇、實施和維護,二是內部的IT管理,比如IT治理。顯然,SOA在IT管理中的作用很小,更多的是為企業IT管理提供壹種新的思路。
另壹方面,SOA確實可以發揮作用。例如,許多企業提出了設計軟件與ERP系統的集成。但真正能做到這樣集成的企業並不多,但應用SOA架構後,壹定程度上會是更好的解決方案。因為基於SOA架構的系統就像大家都在同壹個平臺上,執行相同的開發標準,所以兩個系統之間的接口是相對標準化的。簡單來說,SOA就像壹個標準接口的電腦主板,企業的應用系統就像內存、CPU等。集成過程就像是在這塊主板上插入各種插件,從而實現數據的全面集成。當然,這裏也要考慮集成的成本和效率。
第三,SOA不是壹個新事物。事實上,大型IT組織已經成功構建和部署了多年的SOA應用程序,這比現有的XML和Web服務要長得多。IBM CICS和BEA TUXEDO是過去用於構建SOA應用程序的兩個技術示例。同時,SOA不是壹種現成的技術,而是壹種構造和組織IT基礎設施和業務功能的方法。IBM和BEA都擅長中間件,尤其是BEA,通過中間件整合所有系統無疑是比較有效的方法。因此,SOA將更多地被中間件廠商采用,而對於大型管理信息系統公司來說,更重要的是應用SOA的概念和原則,設計更加開放和標準的接口,使其信息系統更好地滿足未來集成的需求。
第四,SOA應用實際上要求企業有壹個好的流程管理系統。進行流程管理,首先要要求企業的業務流程系統化;第二,要求企業的流程清晰,可快速識別;第三,企業流程必須有完整的數據記錄,包括流程描述、流程圖和流程變更記錄。同時,為了在流程發生變化時快速修改系統,也要求企業的業務流程能夠與系統流程相互關聯,實現良好的互動。