SOA是什麼?

SOA是什麼

估計很多人都聽說過SOA這個詞了,但是很多人還是不知道到底什麼是SOA。開發人員很容易理解為是一個Web Service,但是這絕對不是SOA,那頂多只能算是SOA的一種實現方法。那麼,到底什麼是SOA呢?最近正在看

SOA Source Book,本篇我將介紹一下SOA到底是什麼?如有錯誤,歡迎指正。

SOA是Service-Oriented Architecture的首字母簡稱,它是一種支持面向服務的架構樣式。從服務、基於服務開發和服務的結果來看,向服務是一種思考方式

服務

  • 是一種有特定結果的可重複業務活動的邏輯表示(例如,檢查客戶信用度、提供天氣預報等)
  • 自包含
  • 可以組合其他服務
  • 對於服務使用者來說是"黑盒"的

SOA架構樣式

  • 基於服務的設計,這些服務代表的是組成企業業務流程的業務活動
  • 服務提供上下文描述(業務流程、目標、規則、策略、服務接口和服務組件),使用服務編排來實現服務
  • 對技術設施提出要求,建議採用開放標準,以便更好的實現可交互性和透明性
  • 實現是基於特定環境的,約束和使能都必須在上下文中進行描述
  • 服務描述和實現需要很好的治理
  • 需要進行驗證式的測試之後才能決定這個服務是否好的服務

SOA和EA

雖然SOA和企業架構(EA)的開始不一樣,但是現在SOA已經成為企業架構的一個組成部分,所以這裡也介紹一下企業架構。

  • 企業架構比IT範圍大很多
  • 除技術之外的業務操作、財務、人等
  • 它包含除IT之外的技術,例如製造或物流等
  • 組織實現最大化定義的一些改變
  • 對當前操作的基本控制和治理
  • 企業持續改變,帶來成本的減少並能提高商業價值

由於企業架構範圍很大,SOA Source Book值關注企業架構的IT組件:

  • 企業IT的戰略性開發
  • 一個完整的企業系統,而不只是一部分系統
  • 長期的IT演進,而不只是滿足於短期目標

SOA

  • SOA並不會增大IT系統的內容,但是會提高它們的可交互性
  • IT系統執行一些被明確定義和描述業務活動上下文的服務
  • 之前的應用是那種大的、一整塊的應用,只有很小的可交互接口,比較勉強的做集成,對交互也不提供保證。而SOA提供一些小的、模塊化的服務,這些服務接口被清晰描述和約定。

Overview of SOA

SOA是什麼?

SOA架構維度

  • 成功應用SOA需要具備豐富的知識和技能
  • SOA不能解決所有IT問題,IT架構師必須知道什麼時候以及如何使用SOA
  • SOA將是一個大的投資,是從企業長期戰略來考慮的
  • 有時候,技術可能會改變戰略,但是業務需要和可能性仍舊是主要驅動力。這也是引入企業架構的原因,企業架構會依據企業的長期戰略來設計IT戰略。

SOA和無邊界信息流(Boundaryless Information Flow)

  • The Open Group的願景是Boundaryless Information Flow.
SOA是什麼?

  • 因為SOA可以帶來無邊界信息流,所以SOA在The Open Group佔據了重要地位
  • 使用服務來替代應用
SOA是什麼?


SOA給企業帶來敏捷

有三個不同的方法來實現企業敏捷性

  • 服務組合
  • 模型驅動開發
  • 服務虛擬化

架構師能夠把這些方法都應用到SOA上,但是它們需要不同的基礎設施的支持,你必須根據需求來選擇合適的方案。


分享到:


相關文章: