面向服務架構

面向服務架構

企業的IT系統是由服務組成
面向服務的體系結構,是一個組件模型,它将應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平台、操作系統和編程語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行交互。[1]
  • 中文名:SOA架構
  • 外文名:SOAframework

簡介

這種具有中立的接口定義(沒有強制綁定到特定的實現上)的特征稱為服務之間的松耦合。松耦合系統的好處有兩點,一點是它的靈活性,另一點是,當組成整個應用程序的每個服務的内部結構和實現逐漸地發生改變時,它能夠繼續存在。而另一方面,緊耦合意味着應用程序的不同組件之間的接口與其功能和結構是緊密相連的,因而當需要對部分或整個應用程序進行某種形式的更改時,它們就顯得非常脆弱。

對松耦合的系統的需要來源于業務,應用程序需要根據業務的需要變得更加靈活,以适應不斷變化的環境,比如經常改變的政策、業務級别、業務重點、合作夥伴關系、行業地位以及其他與業務有關的因素,這些因素甚至會影響業務的性質。我們稱能夠靈活地适應環境變化的業務為按需(On demand)業務,在按需業務中,一旦需要,就可以對完成或執行任務的方式進行必要的更改。

雖然面向服務的體系結構不是一個新鮮事物,但它卻是更傳統的面向對象的模型的替代模型,面向對象的模型是緊耦合的,已經存在二十多年了。雖然基于SOA的系統并不排除使用面向對象的設計來構建單個服務,但是其整體設計卻是面向服務的。由于它考慮到了系統内的對象,所以雖然SOA是基于對象的,但是作為一個整體,它卻不是面向對象的。不同之處在于接口本身。SOA系統原型的一個典型例子是通用對象請求代理體系結構(Common Object Request Broker Architecture,CORBA),它已經出現很長時間了,其定義的概念與SOA相似。

然而,現在的SOA已經有所不同了,因為它依賴于一些更新的進展,這些進展是以可擴展标記語言(标準通用标記語言的子集)為基礎的。通過使用基于XML的語言(稱為Web 服務描述語言(Web Services Description Language,WSDL))來描述接口,服務已經轉到更動态且更靈活的接口系統中,非以前CORBA中的接口描述語言(Interface Description Language,IDL)可比了。

SOA開發運行平台的Web服務并不是實現SOA的惟一方式。前面剛講的CORBA是另一種方式,這樣就有了面向消息的中間件(Message-Oriented Middleware)系統,比如IBM的MQseries。但是為了建立體系結構模型,您所需要的并不隻是服務描述。您需要定義整個應用程序如何在服務之間執行其工作流。您尤其需要找到業務的操作和業務中所使用的軟件的操作之間的轉換點。因此,SOA應該能夠将業務的商業流程與它們的技術流程聯系起來,并且映射這兩者之間的關系。例如,給供應商付款的操作是商業流程,而更新您的零件數據庫,以包括進新供應的貨物卻是技術流程。因而,工作流還可以在SOA的設計中扮演重要的角色。

此外,動态業務的工作流不僅可以包括部門之間的操作,甚至還可以包括與不為您控制的外部合作夥伴進行的操作。因此,為了提高效率,您需要定義應該如何得知服務之間的關系的策略,這種策略常常采用服務級協定和操作策略的形式。

最後,所有這些都必須處于一個信任和可靠的環境之中,以同預期的一樣根據約定的條款來執行流程。因此,安全、信任和可靠的消息傳遞應該在任何SOA中都起着重要的作用。

特征

SOA的服務級别抽象圖,如下圖所示:

圖1SOA的服務級别抽象圖

基于以上圖示.SOA具有以下五個特征:

1、可重用

一個服務創建後能用于多個應用和業務流程。

2、松耦合

服務請求者到服務提供者的綁定與服務之間應該是松耦合的。因此,服務請求者不需要知道服務提供者實現的技術細節,例如程序語言、底層平台等等。

3、明确定義的接口

服務交互必須是明确定義的。Web服務描述語言(Web Services Description Language,WSDL)是用于描述服務請求者所要求的綁定到服務提供者的細節。WSDL不包括服務實現的任何技術細節。服務請求者不知道也不關心服務究竟是由哪種程序設計語言編寫的。

4、無狀态的服務設計

服務應該是獨立的、自包含的請求,在實現時它不需要獲取從一個請求到另一個請求的信息或狀态。服務不應該依賴于其他服務的上下文和狀态。當産生依賴時,它們可以定義成通用業務流程、函數和數據模型。

5、基于開放标準

當前SOA的實現形式是Web服務,基于的是公開的W3C及其他公認标準.采用第一代Web服務定義的SOAP、WSDL和UDDI以及第二代Web服務定義的WS-*來實現SOA。

基本特點

SOA的目标在于讓IT系統變得更有彈性,以便更靈活、更快地響應不斷改變的企業業務需求,解決軟件領域一直以來存在的“如何重用軟件功能”問題。采用SOA來構建信息平台,無疑是未來的發展方向。

SOA的5大基本特征為軟件功能重用提供了解決的辦法。

①服務之間通過簡單、精确定義的接口進行通信,不涉及底層編程接口和通信模型。

②粗粒度性:粗粒度服務提供一項特定的業務功能,采用粗粒度服務接口的優點在于使用者和服務層之間不必再進行多次的往複,一次往複就足夠了。

③松耦合性:松耦合性要求SOA架構中的不同服務之間應該保持一種松耦合的關系,也就是應該保持一種相對獨立無依賴的關系。這樣的好處有兩點,首先是具有靈活性,其次當組成整個應用程序的服務内部結構和實現逐步地發生變化時,系統可以繼續地獨立存在。而緊耦合意味着應用程序的不同組件之間的接口與其功能和結構是緊密相連的,因而當需要對部分或整個應用程序進行某種形式的更改時這種結構就顯得非常脆弱。

④位置透明性:位置透明性要求SOA系統中的所有服務對于其調用者來說都是位置透明的,也就是說,每個服務的調用者隻需要知道想要調用的是哪一個服務,但并不需要知道所調用服務的物理位置在哪。

⑤協議無關性:協議無關性要求每一個服務都可以通過不同的協議來調用。

另外,在許多傳統的IT系統的内在部分采用的是硬連接,這種結構很難讓企業快速響應市場的變化,而SOA能夠重複利用企業現有的資源,可以減輕企業運營成本,提升資源的使用效率,并且減輕企業維護人員的工作量,減少潛在的風險以及管理費用。在業務方面和IT方面帶來許多優勢:

①服務給精确的業務流程帶來靈活性;

②使用服務來改善客戶服務,而不必擔心底層複雜的IT基礎架構;

③可以迅速創建新的業務流程和複雜的應用程序,以适應市場變化;

④借助安全、易管理的集成環境,成為響應能力更強的IT組織;

⑤通過使用預裝的、可重複使用的服務構建模塊,縮短開發和部署周期;

⑥通過使用服務來降低複雜性和維護成本;

⑦是增強而不是替換現有的IT系統。

元素

面向服務的體系結構中的角色包括:如下圖所示:

1、服務請求者:服務請求者是一個應用程序、一個軟件模塊或需要一個服務的另一個服務。它發起對注冊中心中的服務的查詢,通過傳輸綁定服務,并且執行服務功能。服務請求者根據接口契約來執行服務。

2、服務提供者:服務提供者是一個可通過網絡尋址的實體,它接受和執行來自請求者的請求。它将自己的服務和接口契約發布到服務注冊中心,以便服務請求者可以發現和訪問該服務。

圖2面向服務的體系結構中的角色

3、服務注冊中心:服務注冊中心是服務發現的支持者。它包含一個可用服務的存儲庫,并允許感興趣的服務請求者查找服務提供者接口。

面向服務的體系結構中的每個實體都扮演着服務提供者、請求者和注冊中心這三種角色中的某一種(或多種)。面向服務的體系結構中的操作包括:

發布:為了使服務可訪問.需要發布服務描述以使服務請求者可以發現和調用它。

查詢:服務請求者定位服務.方法是查詢服務注冊中心來找到滿足其标準的服務。

綁定和調用:在檢索完服務描述之後,服務請求者繼續根據服務描述中的信息來調用服務。

面向服務的體系結構中的構件包括:

(1)服務:可以通過已發布接口使用服務,并且允許服務使用者調用服務。

(2)服務描述:服務描述指定服務使用者與服務提供者交互的方式。它指定來自服務的請求和響應的格式。服務描述可以指定一組前提條件、後置條件和/或服務質量(Q0S)級别。

利用價值

對對SOA的需要來源于需要使業務IT系統變得更加靈活,以适應業務中的改變。通過允許強定義的關系和依然靈活的特定實現,IT系統既可以利用現有系統的功能,又可以準備在以後做一些改變來滿足它們之間交互的需要。

下面舉一個具體的例子。一個服裝零售組織擁有500家國際連鎖店,它們常常需要更改設計來趕上時尚的潮流。這可能意味着不僅需要更改樣式和顔色,甚至還可能需要更換布料、制造商和可交付的産品。如果零售商和制造商之間的系統不兼容,那麼從一個供應商到另一個供應商的更換可能就是一個非常複雜的軟件流程。通過利用WSDL接口在操作方面的靈活性,每個公司都可以将它們的現有系統保持現狀,而僅僅匹配WSDL接口并制訂新的服務級協定,這樣就不必完全重構它們的軟件系統了。這是業務的水平改變,也就是說,它們改變的是合作夥伴,而所有的業務操作基本上都保持不變。這裡,業務接口可以作少許改變,而内部操作卻不需要改變,之所以這樣做,僅僅是為了能夠與外部合作夥伴一起工作。

另一種形式是内部改變,在這種改變中,零售組織現在決定它還将把連鎖零售商店内的一些地方出租給專賣流行衣服的小商店,這可以看作是采用店中店(store-in-store)的業務模型。這裡,雖然公司的大多數業務操作都保持不變,但是它們現在需要新的内部軟件來處理這樣的出租安排。盡管在内部軟件系統可以承受全面的檢修,但是它們需要在這樣做的同時不會對與現有的供應商系統的交互産生大的影響。在這種情況下,SOA模型保持原封不動,而内部實現卻發生了變化。雖然可以将新的方面添加到SOA模型中來加入新的出租安排的職責,但是正常的零售管理系統繼續如往常一樣。

為了延續内部改變的觀念,IT經理可能會發現,軟件的新配置還可以以另外的一種方式加以使用,比如出租粘貼海報的地方以供廣告之用。這裡,新的業務提議是通過在新的設計中重用靈活的SOA模型得出的。這是來自SOA模型的新成果,并且還是一個新的機會,而這樣的新機會在以前可能是不會有的。

垂直改變也是可能的,在這種改變中,零售商從銷售他們自己的服裝完全轉變到專門通過店中店模型出租地方。如果垂直改變完全從最底層開始的話,就會帶來SOA模型結構的顯著改變,與之一起改變的還可能有新的系統、軟件、流程以及關系。在這種情況下,SOA模型的好處是它從業務操作和流程的角度考慮問題而不是從應用程序和程序的角度考慮問題,這使得業務管理可以根據業務的操作清楚地确定什麼需要添加、修改或删除。然後可以将軟件系統構造為适合業務處理的方式,而不是在許多現有的軟件平台上常常看到的其他方式。

正如您可以看到的,在這裡,改變和SOA系統适應改變的能力是最重要的部分。對于開發人員來說,這樣的改變無論是在他們工作的範圍之内還是在他們工作的範圍之外都有可能發生,這取決于是否有改變需要知道接口是如何定義的以及它們相互之間如何進行交互。與開發人員不同的是,架構師的作用就是引起對SOA模型大的改變。這種分工,就是讓開發人員集中精力于創建作為服務定義的功能單元,而讓架構師和建模人員集中精力于如何将這些單元适當地組織在一起,它已經有十多年的曆史了,通常用統一建模語言(Universal Modeling Language,UML),并且描述成模型驅動的體系結構(Model-Driven Architecture,MDA)。

對于面向同步和異步應用的,基于請求/響應模式的分布式計算來說,SOA是一場革命。一個應用程序的業務邏輯(business logic)或某些單獨的功能被模塊化并作為服務呈現給消費者或客戶端。這些服務的關鍵是他們的松耦合特性。例如,服務的接口和實現相獨立。應用開發人員或者系統集成者可以通過組合一個或多個服務來構建應用,而無須理解服務的底層實現。舉例來說,一個服務可以用.NET或J2EE來實現,而使用該服務的應用程序可以在不同的平台之上,使用的語言也可以不同。的需要來源于需要使業務IT系統變得更加靈活,以适應業務中的改變。通過允許強定義的關系和依然靈活的特定實現,IT系統既可以利用現有系統的功能,又可以準備在以後做一些改變來滿足它們之間交互的需要。

下面舉一個具體的例子。一個服裝零售組織擁有500家國際連鎖店,它們常常需要更改設計來趕上時尚的潮流。這可能意味着不僅需要更改樣式和顔色,甚至還可能需要更換布料、制造商和可交付的産品。如果零售商和制造商之間的系統不兼容,那麼從一個供應商到另一個供應商的更換可能就是一個非常複雜的軟件流程。通過利用WSDL接口在操作方面的靈活性,每個公司都可以将它們的現有系統保持現狀,而僅僅匹配WSDL接口并制訂新的服務級協定,這樣就不必完全重構它們的軟件系統了。這是業務的水平改變,也就是說,它們改變的是合作夥伴,而所有的業務操作基本上都保持不變。這裡,業務接口可以作少許改變,而内部操作卻不需要改變,之所以這樣做,僅僅是為了能夠與外部合作夥伴一起工作。

另一種形式是内部改變,在這種改變中,零售組織現在決定它還将把連鎖零售商店内的一些地方出租給專賣流行衣服的小商店,這可以看作是采用店中店(store-in-store)的業務模型。這裡,雖然公司的大多數業務操作都保持不變,但是它們現在需要新的内部軟件來處理這樣的出租安排。盡管在内部軟件系統可以承受全面的檢修,但是它們需要在這樣做的同時不會對與現有的供應商系統的交互産生大的影響。在這種情況下,SOA模型保持原封不動,而内部實現卻發生了變化。雖然可以将新的方面添加到SOA模型中來加入新的出租安排的職責,但是正常的零售管理系統繼續如往常一樣。

為了延續内部改變的觀念,IT經理可能會發現,軟件的新配置還可以以另外的一種方式加以使用,比如出租粘貼海報的地方以供廣告之用。這裡,新的業務提議是通過在新的設計中重用靈活的SOA模型得出的。這是來自SOA模型的新成果,并且還是一個新的機會,而這樣的新機會在以前可能是不會有的。

垂直改變也是可能的,在這種改變中,零售商從銷售他們自己的服裝完全轉變到專門通過店中店模型出租地方。如果垂直改變完全從最底層開始的話,就會帶來SOA模型結構的顯著改變,與之一起改變的還可能有新的系統、軟件、流程以及關系。在這種情況下,SOA模型的好處是它從業務操作和流程的角度考慮問題而不是從應用程序和程序的角度考慮問題,這使得業務管理可以根據業務的操作清楚地确定什麼需要添加、修改或删除。然後可以将軟件系統構造為适合業務處理的方式,而不是在許多現有的軟件平台上常常看到的其他方式。

正如您可以看到的,在這裡,改變和SOA系統适應改變的能力是最重要的部分。對于開發人員來說,這樣的改變無論是在他們工作的範圍之内還是在他們工作的範圍之外都有可能發生,這取決于是否有改變需要知道接口是如何定義的以及它們相互之間如何進行交互。與開發人員不同的是,架構師的作用就是引起對SOA模型大的改變。這種分工,就是讓開發人員集中精力于創建作為服務定義的功能單元,而讓架構師和建模人員集中精力于如何将這些單元适當地組織在一起,它已經有十多年的曆史了,通常用統一建模語言(Universal Modeling Language,UML),并且描述成模型驅動的體系結構(Model-Driven Architecture,MDA)。

對于面向同步和異步應用的,基于請求/響應模式的分布式計算來說,SOA是一場革命。一個應用程序的業務邏輯(business logic)或某些單獨的功能被模塊化并作為服務呈現給消費者或客戶端。這些服務的關鍵是他們的松耦合特性。例如,服務的接口和實現相獨立。應用開發人員或者系統集成者可以通過組合一個或多個服務來構建應用,而無須理解服務的底層實現。舉例來說,一個服務可以用.NET或J2EE來實現,而使用該服務的應用程序可以在不同的平台之上,使用的語言也可以不同。

SOA特性

概述

SOA服務具有平台獨立的自我描述XML(标準通用标記語言的子集)文檔。Web服務描述語言(WSDL,WebServicesDescriptionLanguage)是用于描述服務的标準語言。

SOA服務用消息進行通信,該消息通常使用XMLSchema來定義(也叫做XSD,XMLSchemaDefinition)。消費者和提供者或消費者和服務之間的通信多見于不知道提供者的環境中。服務間的通訊也可以看作企業内部處理的關鍵商業文檔。

在一個企業内部,SOA服務通過一個扮演目錄列表(directorylisting)角色的登記處(Registry)來進行維護。應用程序在登記處(Registry)尋找并調用某項服務。統一描述,定義和集成(UDDI,UniversalDescription,Definition,andIntegration)是服務登記的标準。

每項SOA服務都有一個與之相關的服務品質(QoS,qualityofservice)。QoS的一些關鍵元素有安全需求(例如認證和授權),可靠通信(譯注:可靠消息是指,确保消息“僅且僅僅”發送一次,從而過濾重複信息。),以及誰能調用服務的策略。

為什麼選擇SOA?

不同種類的操作系統,應用軟件,系統軟件和應用基礎結構(applicationinfrastructure)相互交織,這便是IT企業的現狀。一些現存的應用程序被用來處理當前的業務流程(businessprocesses),因此從頭建立一個新的基礎環境是不可能的。企業應該能對業務的變化做出快速的反應,利用對現有的應用程序和應用基礎結構(applicationinfrastructure)的投資來解決新的業務需求,為客戶,商業夥伴以及供應商提供新的互動渠道,并呈現一個可以支持有機業務(organicbusiness)的構架。SOA憑借其松耦合的特性,使得企業可以按照模塊化的方式來添加新服務或更新現有服務,以解決新的業務需要,提供選擇從而可以通過不同的渠道提供服務,并可以把企業現有的或已有的應用作為服務,從而保護了現有的IT基礎建設投資。

如圖1的例子所示,一個使用SOA的企業,可以使用一組現有的應用來創建一個供應鍊複合應用(supplychaincompositeapplication),這些現有的應用通過标準接口來提供功能。

服務架構

為了實現SOA,企業需要一個服務架構,服務消費者(serviceconsumer)可以通過發送消息來調用服務。這些消息由一個服務總線(servicebus)轉換後發送給适當的服務實現。這種服務架構可以提供一個業務規則引擎(businessrulesengine),該引擎容許業務規則被合并在一個服務裡或多個服務裡。這種架構也提供了一個服務管理基礎(servicemanagementinfrastructure),用來管理服務,類似審核,列表(billing),日志等功能。此外,該架構給企業提供了靈活的業務流程,更好地處理控制請求(regulatoryrequirement),例如SarbanesOxley(SOX),并且可以在不影響其他服務的情況下更改某項服務。

SOA基礎結構

要運行,管理SOA應用程序,企業需要SOA基礎,這是SOA平台的一個部分。SOA基礎必須支持所有的相關标準,和需要的運行時容器。圖3所示的是一個典型的SOA基礎結構。

SOAP,WSDL,UDDI

WSDL,UDDI和SOAP是SOA基礎的基礎部件。WSDL用來描述服務;UDDI用來注冊和查找服務;而SOAP,作為傳輸層,用來在消費者和服務提供者之間傳送消息。SOAP是Web服務的默認機制,其他的技術為可以服務實現其他類型的綁定。一個消費者可以在UDDI注冊表(registry)查找服務,取得服務的WSDL描述,然後通過SOAP來調用服務。

WS-IBasicProfile

WS-IBasicProfile,由Web服務互用性組織(WebServicesInteroperabilityOrganization)提供,是SOA服務測試與互用性所需要的核心構件。服務提供者可以使用BasicProfile測試程序來測試服務在不同平台和技術上的互用性。

J2EE和.Net

盡管J2EE和.NET平台是開發SOA應用程序常用的平台,但SOA不僅限于此。像J2EE這類平台,不僅為開發者自然而然地參與到SOA中來提供了一個平台,還通過他們内在的特性,将可擴展性,可靠性,可用性以及性能引入了SOA世界。新的規範,例如JAXB(JavaAPIforXMLBinding),用于将XML文檔定位到Java類;JAXR(JavaAPIforXMLRegistry)用來規範對UDDI注冊表(registry)的操作;XML-RPC(JavaAPIforXML-basedRemoteProcedureCall)在J2EE1.4中用來調用遠程服務,這使得開發和部署可移植于标準J2EE容器的Web服務變得容易,與此同時,實現了跨平台(如.NET)的服務互用。

服務品質

在企業中,關鍵任務系統(mission-criticalsystem,譯注:關鍵任務系統是指如果一個系統的可靠性對于一個組織是至關重要的,那麼該系統就是該企業的關鍵任務系統。比如,電話系統對于一個電話促銷企業來說就是關鍵任務系統,而文字處理系統就不那麼關鍵了。)用來解決高級需求,例如安全性,可靠性,事物。當一個企業開始采用服務架構作為工具來進行開發和部署應用的時候,基本的Web服務規範,像WSDL,SOAP,以及UDDI就不能滿足這些高級需求。正如前面所提到的,這些需求也稱作服務品質(QoS,qualityofservices)。與QoS相關的衆多規範已經由一些标準化組織(standardsbodies)提出,像W3C(WorldWideWebConsortium)和OASIS(theOrganizationfortheAdvancementofStructuredInformationStandards)。下面的部分将會讨論一些QoS服務和相關标準。

安全

Web服務安全規範用來保證消息的安全性。該規範主要包括認證交換,消息完整性和消息保密。該規範吸引人的地方在于它借助現有的安全标準,例如,SAML(asSecurityAssertionMarkupLanguage)來實現web服務消息的安全。OASIS正緻力于Web服務安全規範的制定。

可靠

在典型的SOA環境中,服務消費者和服務提供者之間會有幾種不同的文檔在進行交換。具有諸如“僅且僅僅傳送一次”(once-and-only-oncedelivery),“最多傳送一次”(at-most-oncedelivery),“重複消息過濾”(duplicatemessageelimination),“保證消息傳送”(guaranteedmessagedelivery)等特性消息的發送和确認,在關鍵任務系統(mission-criticalsystems)中變得十分重要。WS-Reliability和WS-ReliableMessaging是兩個用來解決此類問題的标準。這些标準現在都由OASIS負責。

策略

服務提供者有時候會要求服務消費者與某種策略通信。比如,服務提供商可能會要求消費者提供Kerberos安全标示,才能取得某項服務。這些要求被定義為策略斷言(policyassertions)。一項策略可能會包含多個斷言。WS-Policy用來标準化服務消費者和服務提供者之間的策略通信。

控制

當企業着手于服務架構時,服務可以用來整合數據倉庫(silosofdata),應用程序,以及組件。整合應用意味着例如異步通信,并行處理,數據轉換,以及校正等進程請求必須被标準化。在SOA中,進程是使用一組離散的服務創建的。BPEL4WS或者WSBPEL(WebServiceBusinessProcessExecutionLanguage)是用來控制這些服務的語言。WSBPEL目前也由OASIS負責。

管理

随着企業服務的增長,所使用的服務和業務進程的數量也随之增加,一個用來讓系統管理員管理所有運行在多相環境下的服務的管理系統就顯得尤為重要。WSDM(WebServicesforDistributedManagement)規定了任何根據WSDM實現的服務都可以由一個WSDM适應(WSDM-compliant)的管理方案來管理。

其它的qos特性,比如合作方之間的溝通和通訊,多個服務之間的事務處理,都在WS-Coordination和WS-Transaction标準中描述,這些都是OASIS的工作。

SOA不是Web服務

在理解SOA和Web服務的關系上,經常發生混淆。根據2003年4月的Gartner報道,YefimV.Natis就這個問題是這樣解釋的:“Web服務是技術規範,而SOA是設計原則。特别是Web服務中的WSDL,是一個SOA配套的接口定義标準:這是Web服務和SOA的根本聯系。”從本質上來說,SOA是一種架構模式,而Web服務是利用一組标準實現的服務。Web服務是實現SOA的方式之一。用Web服務來實現SOA的好處是你可以實現一個中立平台,來獲得服務,而且随着越來越多的軟件商支持越來越多的Web服務規範,你會取得更好的通用性。

SOA的優勢

SOA的概念并非什麼新東西,SOA不同于現有的分布式技術之處在于大多數軟件商接受它并有可以實現SOA的平台或應用程序。SOA伴随着無處不在的标準,為企業的現有資産或投資帶來了更好的重用性。SOA能夠在最新的和現有的應用之上創建應用;SOA能夠使客戶或服務消費者免予服務實現的改變所帶來的影響;SOA能夠升級單個服務或服務消費者而無需重寫整個應用,也無需保留已經不再适用于新需求的現有系統。總而言之,SOA以借助現有的應用來組合産生新服務的敏捷方式,提供給企業更好的靈活性來構建應用程序和業務流程。

相關詞條

相關搜索

其它詞條