文章目錄
關於SOA目的意義,IBM如是說:SOA的根本目的是業務的敏捷性,如何理解敏捷性呢,是從兩個方面來理解的,一是IT在業務提出變化之後的一個恰當的時間段裡響應這種變化;二是IT所做出的變化能夠恰當的反映出業務的需求。
微軟如是說:The architectural concepts associated with SOA enable loose coupling. Loose coupling is the fundamental principle behind SOA, enabling us to summarize up the benefit of SOA in a single word:
agility.
王文京如是說:(用友軟體董事長)對當今企業來說,快速反應和快速變化越來越變成成功的關鍵因素,“靈活性”越來越成為CIO和企業使用者需要從IT系統那裡得到的最重要的東西。把企業內部和外部的流程、人員、資訊即時串連起來,靈活快速的響應變化,是公司資訊化的關鍵目標,而SOA(面向服務架構)正是協助企業實現這一目標的IT架構和方法。
靈活性,或者稱為敏捷性、Agility等,成為了SOA最核心的目的和最根本的推動力,這是由當前全球化浪潮和業務競爭本質所決定的。 正如Thomas Erl在《SOA概念、技術與設計》中所說:
用最小的付出獲得最大的收益,這是競爭性業務對公司策略目標的要求,持續浪費資源的低效組織將會落後。組織的業務自動化方式是決定其運營效率的根本因素,從而也是對其敢於冒險的獎勵。
這就是SOA
的價值所在。通過面向服務形成自動商務邏輯,能夠保護現有投資,有助於智能化表達業務,進而表現其內在的自動敏捷性。當與Web
服務技術平台聯合時,SOA
提供了一個重要的潛在現實效益,從而改變組織的技術與發展前景。 除了靈活性之外,
SOA還能夠為企業帶來如下切實效益:
1、 改進的架構和方案。2、 建立標準的XML資料表示。3、 聚焦通訊基礎設施投資。4、 改良的整合(及內在的互通性)。5、 內在的複用。6、 保護現有投資和遺留資產。7、 “最優供給”可替代。
面向服務的價值(摘自WCF編程一書)
由於用戶端與服務之間的互動是基於行業標準的,這個行業標準包括了保障調用安全的方式、傳播事務流的方式以及管理可靠性的方式等等。我們也可以使用現有的這些公用基礎功能的實現。這就保證了應用程式的可維護性,因為應用程式與準確性無關。即使公用基礎功能發生演化,應用程式也不會受到影響。面向服務的應用程式是健壯的,因為開發人員能夠使用可用的、已驗證的、通過測試的公用基礎功能。同時也提高了開發人員的效率,因為他們可以將更多的時間投入到功能特性的實現,而不是這些公用基礎功能。面向服務的真正價值就是:允許開發人員從代碼中抽取出公用基礎功能的實現,更多地關注商務邏輯和需要的功能特性。
面向服務還包括許多廣受歡迎的價值,例如跨技術的互通性,就是核心價值的體現。雖然不藉助於服務,我們也能夠實現互通性,但直到面向服務的誕生,才能夠應用到實踐中。兩者的區別在於後者能夠通過已有的公用基礎功能為開發人員提供互通性。編寫服務時,通常不用考慮用戶端執行在什麼平台上,因為面向服務完全實現了無縫的互通性。面向服務應用程式所能提供的不僅僅是互通性,它還允許系統跨越邊界。其中一種邊界就是技術與平台的邊界,跨越這樣的邊界則完全體現了互通性。但是,邊界可能還存在於用戶端與服務之間,例如安全與信任邊界、地區邊界、組織邊界、時區邊界、事務邊界,甚至是業務模型邊界。無縫地跨越這些邊界是可能的,原因在於基於訊息的互動標準。例如,保障訊息安全的標準,建立用戶端與服務安全互動的標準,即使互動雙方存在於不具有直接信賴關係的域(或網站)中。事務標準允許用戶端的交易管理員將事務傳遞到服務端的交易管理員,並讓服務參與到事務中,即使兩個交易管理員從來沒有直接登記彼此的事務。