Bobby的文章寫得很風趣。但引發的爭論是嚴肅的,而且自Dave Chappell發明出“連接優先(Connectivity-First)”這個新詞組,爭論就愈演愈烈。跟契約優先(Contract-First)這個詞組類似,部署ESB就像以“連接優先”的方式開始你的SOA。Bobby認為以ESB為導向的架構方式
……有其固有的缺陷,它建立的連接性可能根本就沒有人打算去用……只有當你實際需要一樣東西,才去實現它,決不要僅僅因為你預見到未來的需要。
OASIS的《SOA Reference Model》并沒有確切提到“連接性(connectivity)”,但它提出了通訊基礎設施的概念:
通訊基礎設施的主要任務是促進信息以及意圖的交換……特別是當交換的發生跨越了所有權邊界的情況下,對數據的解釋是一個關鍵問題。對數據的解釋必須在服務交互的參與者當中保持一致。
習慣上SOA架構參考,包括來自IBM的參考在內,總是把ESB放在一個顯著的地位上。Dave Chappell解釋了ESB在本質上是一個服務容器,附帶有專門的通訊基礎設施,用來連接同處在一個容器內的服務。
服務容器是抽象的服務端點(endpoint)的具體表現,它實現了服務接口。服務容器是一個能讓服務組件寄宿其中的遠程進程。從這個角度來說,它跟應用服務器容器有幾分相似,只不過它的專門目的是寄宿集成的服務。
別讓Bobby的幽默掩蓋了他的觀點。Bobby不同意Joe McKendrick和Dave Linthicum把他的觀點解讀成ESB完全無用。而我自己多年前也寫過一系列文章,題為《跳下公共汽車(總線),打輛的》,我在其中質疑了對通用的通訊機制的需要。不過,帶有專門的通訊基礎設施(如Dave Chappell所描述)的服務容器仍然是非常有用的,JBI規范的領導Ron Ten-Hove解釋說:
·服務容器常常把各種IT資產連接到ESB上,
而ESB:
·具有可靠的消息系統,以供服務容器交互。
·提供消息轉換服務。
文章來源于領測軟件測試網 http://www.kjueaiud.com/