面向服務的體系結構(SOA)是一個元件模型,它將應用程式的不同功能單元(稱為服務)透過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平臺、作業系統和程式語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行互動。這種具有中立的介面定義(沒有強制繫結到特定的實現上)的特徵稱為服務之間的松耦合。松耦合系統的好處有兩點,一點是它的靈活性,另一點是,當組成整個應用程式的每個服務的內部結構和實現逐漸地發生改變時,它能夠繼續存在。而另一方面,緊耦合意味著應用程式的不同元件之間的介面與其功能和結構是緊密相連的,因而當需要對部分或整個應用程式進行某種形式的更改時,它們就顯得非常脆弱。對松耦合系統的需要來源於業務應用程式需要,根據業務的需要變得更加靈活,以適應不斷變化的環境,比如經常改變的政策、業務級別、業務重點、合作伙伴關係、行業地位以及其他與業務有關的因素,這些因素甚至會影響業務的性質。我們稱能夠靈活地適應環境變化的業務為按需業務,在按需業務中,一旦需要,就可以對完成或執行任務的方式進行必要的更改。雖然面向服務的體系結構不是一個新鮮事物,但它卻是更傳統的面向物件的模型的替代模型,面向物件的模型是緊耦合的,已經存在二十多年了。雖然基於SOA的系統並不排除使用面向物件的設計來構建單個服務,但是其整體設計卻是面向服務的。由於它考慮到了系統內的物件,所以雖然SOA是基於物件的,但是作為一個整體,它卻不是面向物件的。不同之處在於介面本身。SOA系統原型的一個典型例子是通用物件請求代理體系結構,它已經出現很長時間了,其定義的概念與SOA相似。然而,現在的SOA已經有所不同了,因為它依賴於一些更新的進展,這些進展是以可擴充套件標記語言(eXML)為基礎的。實際上,SOA作為一種面向服務的架構,是一種軟體架構設計的模型和方法論。從業務角度來看,一切以最大化“服務”的價值為出發點,SOA利用企業現有的各種軟體體系,重新整合並構建起一套新的軟體架構。這套軟體架構能夠隨著業務的變化,隨時靈活地結合現有服務,組成新軟體,共同服務於整個企業的業務體系。簡單的理解,我們可以把SOA看作是模組化的元件,每個模組都可以實現獨立功能,而不同模組之間的結合則可以提供不同的服務,模組之間的介面遵循統一標準,可以實現低成本的重構和重組。在SOA的技術框架下,可以把雜亂無章的龐大系統整合成一個全面有序的系統,從而增加企業在業務發展過程中應用系統的靈活性,實現最大的IT資產利用率。
面向服務的體系結構(SOA)是一個元件模型,它將應用程式的不同功能單元(稱為服務)透過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平臺、作業系統和程式語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行互動。這種具有中立的介面定義(沒有強制繫結到特定的實現上)的特徵稱為服務之間的松耦合。松耦合系統的好處有兩點,一點是它的靈活性,另一點是,當組成整個應用程式的每個服務的內部結構和實現逐漸地發生改變時,它能夠繼續存在。而另一方面,緊耦合意味著應用程式的不同元件之間的介面與其功能和結構是緊密相連的,因而當需要對部分或整個應用程式進行某種形式的更改時,它們就顯得非常脆弱。對松耦合系統的需要來源於業務應用程式需要,根據業務的需要變得更加靈活,以適應不斷變化的環境,比如經常改變的政策、業務級別、業務重點、合作伙伴關係、行業地位以及其他與業務有關的因素,這些因素甚至會影響業務的性質。我們稱能夠靈活地適應環境變化的業務為按需業務,在按需業務中,一旦需要,就可以對完成或執行任務的方式進行必要的更改。雖然面向服務的體系結構不是一個新鮮事物,但它卻是更傳統的面向物件的模型的替代模型,面向物件的模型是緊耦合的,已經存在二十多年了。雖然基於SOA的系統並不排除使用面向物件的設計來構建單個服務,但是其整體設計卻是面向服務的。由於它考慮到了系統內的物件,所以雖然SOA是基於物件的,但是作為一個整體,它卻不是面向物件的。不同之處在於介面本身。SOA系統原型的一個典型例子是通用物件請求代理體系結構,它已經出現很長時間了,其定義的概念與SOA相似。然而,現在的SOA已經有所不同了,因為它依賴於一些更新的進展,這些進展是以可擴充套件標記語言(eXML)為基礎的。實際上,SOA作為一種面向服務的架構,是一種軟體架構設計的模型和方法論。從業務角度來看,一切以最大化“服務”的價值為出發點,SOA利用企業現有的各種軟體體系,重新整合並構建起一套新的軟體架構。這套軟體架構能夠隨著業務的變化,隨時靈活地結合現有服務,組成新軟體,共同服務於整個企業的業務體系。簡單的理解,我們可以把SOA看作是模組化的元件,每個模組都可以實現獨立功能,而不同模組之間的結合則可以提供不同的服務,模組之間的介面遵循統一標準,可以實現低成本的重構和重組。在SOA的技術框架下,可以把雜亂無章的龐大系統整合成一個全面有序的系統,從而增加企業在業務發展過程中應用系統的靈活性,實現最大的IT資產利用率。