面向服務的體系結構(Service-OrientedArchitecture,SOA)是一個元件模型,它将應用程式的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。
SOA并不是包治百病的萬靈單,它最主要的應用場合在于解決在Internet環境下的不同商業應用之間的業務內建問題。
由于Internet中大量異構系統的存在決定了SOA系統必須采用基于文本而非二進制的消息傳遞方式。在COM、CORBA這些傳統的元件模型中,從伺服器端傳往用戶端的是一個二進制編碼的對象,在用戶端通過調用這個對象的方法來完成某些功能;但是在Internet環境下,不同語言,不同平台對資料、甚至是一些基本資料類型定義不同,給不同的服務之間傳遞對象帶來的很大困難。由于基于文本的消息本身是不包含任何處理邏輯和資料類型的,是以服務間隻傳遞文本,對資料的處理依賴于接收端的方式可以幫忙繞過相容性這個的大泥坑。
我們最熟悉的HTTP協定就是一個非常典型的SOA架構設計。
Web Service是就現在而言最适合實作SOA的一些技術的集合,事實上最近SOA的火爆在很大程度上歸功于Web Service标準的成熟和應用的普及為廣泛的實作SOA架構提供了基礎。
本文轉自cnn23711151CTO部落格,原文連結: http://blog.51cto.com/cnn237111/569045,如需轉載請自行聯系原作者