原文鏈接:
http://www.shnenglu.com/zhangji198543/archive/2006/04/17/5684.html認真的閱讀了這篇文章,總結了一下:
首先,必須理解 Web 服務并不等同于面向服務的體系結構(SOA)。
Web 服務是包括 XML,SOAP,WSDL 和 UDDI 在內的技術的集合,它使人們能夠針對特定的消息傳遞和應用程序集成問題構建編程解決方案。隨著時間的推移,人們有理由相信這些技術將逐漸成熟并最終為更好、更有效、更健壯的技術所取代,但是,就目前的情況而言,它們可以發揮作用。至少,它們是 SOA 能夠最終實現這種觀念的證明。
SOA 只不過是一種體系結構。它不是任何諸如 Web 服務這樣的特定技術的集合;而是超越它們的,在理想的情況下,是完全獨立于它們的。在業務環境中,SOA 的純粹的體系結構定義可能會是這樣的“
一種應用程序體系結構,在這種體系結構中,所有功能都定義為獨立的服務,這些服務帶有定義明確的可調用接口,可以以定義好的順序調用這些服務來形成業務流程”。看以下對該定義的解釋:
1.所有功能都定義為服務。這僅僅包括業務功能、由底層功能組成的業務事務和系統服務功能。
2.所有的服務都是獨立的。它們就像“黑匣子”一樣運行:外部組件既不知道也不關心它們如何執行它們的功能,而僅僅關心它們是否返回期望的結果。
3.在其最一般的意義上來說,接口是可調用的;也就是說,在體系結構的層面上,它們究竟是本地的(在本系統內)還是遠程的(在直接系統外)、是用什么互連 Scheme 或協議來調用或需要什么樣的基礎架構組件來連接,都是無關緊要的。服務可能是在相同的應用程序中,也可能是在公司內部網內完全不同的系統上的不對稱多處理器的不同地址空間中,還有可能是在用于 B2B 配置的合作伙伴的系統上的應用程序中。
其次,要明白應用SOA的原因。SOA可以解決企業面臨的重大問題-----成本。SOA可以利用現有的資產。現有系統很少可以拋棄,它們通常都包含對于企業很有價值的東西。從戰略上講,目標是構造一個新的體系結構來創造所有想要的價值,但是,從戰術上講,必須集成現有系統,以便隨著時間的推移,可以在可管理、漸進式項目中分化或取代它們。