在前一節中,我們提到最近的分布式互聯網架構變化已如何成為混合
Web
服務。這一主題值得詳細說明,因為它已經是(并預期繼續是)
SOA
周圍的混亂之源。
首先,傳統架構內使用
Web
服務是完全合理的。由于許多編程語言都支持對
Web
服務的開發,他們可輕易地將其嵌入老的應用設計。并且,對于那些不支持
Web
服務定制開發的遺留環境,通常也可用適配器的方法來解決。
注意
盡管我們集中于分布式互聯網架構,但并沒有限制兩層客戶
-
服務器的應用使用
Web
服務。
Web
服務作為構件包裝器
Web
服務在這個語境中的主要角色已引進了一個包含包裝器服務的整合層,促成經由
SOA
P
兼容的集成通道的同步通信(
圖
4.7
)。實際上,
SOA
P
規范初始發布和第一代
SOA
P
服務器都被特別設計用來復制使用消息的
RPC
風格的通信。
這些集成通道主要在集成結構中,被用以促進與其他應用或外部合作伙伴的通信。也被用于促成與其他(更多的面向服務)解決方案通信,還可利用第三方工具提供的
Web
服務。不管他們在傳統架構中的使用或目的,關鍵是要澄清靠這種方式在分布式互聯網架構中納入
Web
服務不具備真正的
SOA
資格。這只是使用
Web
服務的分布式互聯網架構。
并非是反映構件接口和用
Web
服務建立點對點連接,
SOA
提供了對于不同通訊模型的強健支持(基于同步和異步的交換)。另外,在
SOA
內的
Web
服務受制于特定的設計需求,象由面向服務原則提供的那些。這些和其他的特征都支持對和諧的松散耦合的追求。一旦實現,單個服務不再限于點對點通信;它能夠適應任何的現在和未來的請求者。
SOA
內部的
Web
服務
然而
SOA
在大小和品質方面會有所不同,
SOA
與其他架構在
Web
服務的使用方面有切實不同的特征。本書主要專注于探索這些特征。目前已經充分闡明:基本上,
SOA
構建于一組
Web
服務,它們被設計用于一個或多個電子商務流程的集體自動化(或者參與自動化的),
SOA
促進將這些服務組織成抽象企業自動化邏輯特定部分的特定層。
同樣通過跨企業的標準
SOA
,出現了天然的協同性,超越了專有的應用平臺。這考慮到先前不同的環境組成,以支持新的和進化的業務自動化過程。