回覆列表
  • 1 # 使用者891539104769

    SOA三大基本特徵

    獨立的功能實體

    在Internet這樣鬆散的使用環境中,任何訪問請求都有可能出錯,因此任何企圖透過Internet進行控制的結構都會面臨嚴重的穩定性問題。SOA非常強調架構中提供服務的功能實體的完全獨立自主的能力。傳統的元件技術,如.NET Remoting,EJB,COM或者CORBA,都需要有一個宿主(Host或者Server)來存放和管理這些功能實體;當這些宿主執行結束時這些元件的壽命也隨之結束。這樣當宿主本身或者其它功能部分出現問題的時候,在該宿主上執行的其它應用服務就會受到影響。SOA架構中非常強調實體自我管理和恢復能力。常見的用來進行自我恢復的技術,比如事務處理(Transaction),訊息佇列(Message Queue),冗餘部署(Redundant Deployment)和集群系統(Cluster)在SOA中都起到至關重要的作用。

    大資料量低頻率訪問

    對於.NET Remoting,EJB或者XML-RPC這些傳統的分散式計算模型而言,他們的服務提供都是透過函式呼叫的方式進行的,一個功能的完成往往需要透過客戶端和伺服器來回很多次函式呼叫才能完成。在Intranet的環境下,這些呼叫給系統的響應速度和穩定性帶來的影響都可以忽略不計,但是在 Internet環境下這些因素往往是決定整個系統是否能正常工作的一個關鍵決定因素。因此SOA系統推薦採用大資料量的方式一次性進行資訊交換。基於文字的訊息傳遞

    由於Internet中大量異構系統的存在決定了SOA系統必須採用基於文字而非二進位制的訊息傳遞方式。在COM、CORBA這些傳統的元件模型中,從伺服器端傳往客戶端的是一個二進位制編碼的物件,在客戶端透過呼叫這個物件的方法來完成某些功能;但是在Internet環境下,不同語言,不同平臺對資料、甚至是一些基本資料型別定義不同,給不同的服務之間傳遞物件帶來的很大困難。由於基於文字的訊息本身是不包含任何處理邏輯和資料型別的,因此服務間只傳遞文字,對資料的處理依賴於接收端的方式可以幫忙繞過相容性這個的大泥坑。此外,對於一個服務來說,Internet與區域網最大的一個區別就是在Internet上的版本管理極其困難,傳統軟體採用的升級方式在這種鬆散的分散式環境中幾乎無法進行。採用基於文字的訊息傳遞方式,資料處理端可以只選擇性的處理自己理解的那部分資料,而忽略其它的資料,從而得到的非常理想的相容性。

  • 中秋節和大豐收的關聯?
  • 中東半島在世界地圖的什麼地方?