面向服務的體系結構(Service-OrientedArchitecture,SOA)是一個組件模型,它將應用程序的不一樣功能單元(稱爲服務)經過這些服務之間定義良好的接口和契約聯繫起來。服務器
SOA並非包治百病的萬靈單,它最主要的應用場合在於解決在Internet環境下的不一樣商業應用之間的業務集成問題。架構
因爲Internet中大量異構系統的存在決定了SOA系統必須採用基於文本而非二進制的消息傳遞方式。在COM、CORBA這些傳統的組件模型中,從服務器端傳往客戶端的是一個二進制編碼的對象,在客戶端經過調用這個對象的方法來完成某些功能;可是在Internet環境下,不一樣語言,不一樣平臺對數據、甚至是一些基本數據類型定義不一樣,給不一樣的服務之間傳遞對象帶來的很大困難。因爲基於文本的消息自己是不包含任何處理邏輯和數據類型的,所以服務間只傳遞文本,對數據的處理依賴於接收端的方式能夠幫忙繞過兼容性這個的大泥坑。ide
咱們最熟悉的HTTP協議就是一個很是典型的SOA架構設計。編碼
Web Service是就如今而言最適合實現SOA的一些技術的集合,事實上最近SOA的火爆在很大程度上歸功於Web Service標準的成熟和應用的普及爲普遍的實現SOA架構提供了基礎。架構設計