# 1.4 SOA

在SOA的觀念中, 我們會以"服務"為單位來組建企業IT架構. 在技術層面來說, SOA是一種"抽象的、鬆散耦合的粗粒度軟體架構"; 至於在業務層面上, SOA的核心概念是"重用(reuse)"與"互操作(interoperability)", 其將企業的IT資源整合成可操作的、基於標準的服務, 使其能被重新組合和應用.

所以, 由上一段話我們可以得知, SOA是一種體系, 一種思想, 而不是某種具體的軟體產品. SOA想要解決的主要問題是: 快速建構與應用整合. SOA能夠在實際應用中獲得成功主要是基於兩個很重要的因素: 靈活性與業務相關性. 這種特性使其成為解決企業業務發展需求與企業IT支持能力之間矛盾的一種最佳方案.

靈活性: SOA是第一個考慮了企業業務發展長期性的IT架構, 從本質上來講, SOA是一組鬆散耦合的服務, 每一個服務的建立和替換都是相對簡單的. 與傳統的緊耦合架構相比, 鬆散耦合架構更能適應業務的變化: 在SOA中, 可以用一個服務替換另一個服務而無須關心其底層的實現技術, 唯一要考慮的就是服務介面. SOA還可以充分利用企業現有的IT資源, 包括企業已有的應用和資料庫. 新系統可以通過將已有應用和數據融入SOA, 而不是替換它們, 來使其成為企業整體解決方案的一部分. 這種方式最終將使企業的IT架構能夠更快速、更有效地適應業務需求的變化.

業務相關性: SOA與其他IT架構的最大區別在於它與業務的關聯性. 它是以“服務”為基本單元來組織IT資源, 其中的每一項服務都可以完成實際業務流程中的一項任務. 例如, 您可以把一項服務叫做“列印發票”, 它可能包含計算收入、查找相應稅率、計算應繳稅款、列印發票等一系列操作. 這樣一來, 服務就與業務產生了密切的聯繫, 業務人員也可以參與服務的創建並且用它們定義新的業務流程.
