SOA-面向服務的體系結構

SOA是什麼

估計很多人都聽說過SOA這個詞了,但是很多人還是不知道到底什麼是SOA。開發人員很容易理解為是一個Web Service,但是這絕對不是SOA,那頂多只能算是SOA的一種實現方法。那麼,到底什麼是SOA呢?本篇我將介紹一下SOA到底是什麼?如有錯誤,歡迎指正。

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

服務

  • 是一種有特定結果的可重複業務活動的邏輯表示(例如,檢查客戶信用度、提供天氣預報等)

  • 自包含

  • 可以組合其他服務

  • 對於服務使用者來說是"黑盒"的

SOA架構樣式

  • 基於服務的設計,這些服務代表的是組成企業業務流程的業務活動

    Advertisements

  • 服務提供上下文描述(業務流程、目標、規則、策略、服務介面和服務組件),使用服務編排來實現服務

  • 對技術設施提出要求,建議採用開放標準,以便更好的實現可交互性和透明性

  • 實現是基於特定環境的,約束和使能都必須在上下文中進行描述

  • 服務描述和實現需要很好的治理

  • 需要進行驗證式的測試之後才能決定這個服務是否好的服務

SOA和EA

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

  • 企業架構比IT範圍大很多

    • 除技術之外的業務操作、財務、人等

    • 它包含除IT之外的技術,例如製造或物流等

  • 組織實現最大化定義的一些改變

  • 對當前操作的基本控制和治理

  • 企業持續改變,帶來成本的減少並能提高商業價值

    Advertisements

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

  • 企業IT的戰略性開發

  • 一個完整的企業系統,而不只是一部分系統

  • 長期的IT演進,而不只是滿足於短期目標

SOA

  • SOA並不會增大IT系統的內容,但是會提高它們的可交互性

  • IT系統執行一些被明確定義和描述業務活動上下文的服務

  • 之前的應用是那種大的、一整塊的應用,只有很小的可交互介面,比較勉強的做集成,對交互也不提供保證。而SOA提供一些小的、模塊化的服務,這些服務介面被清晰描述和約定。

Overview of SOA

SOA架構維度

  • 成功應用SOA需要具備豐富的知識和技能

  • SOA不能解決所有IT問題,IT架構師必須知道什麼時候以及如何使用SOA

  • SOA將是一個大的投資,是從企業長期戰略來考慮的

  • 有時候,技術可能會改變戰略,但是業務需要和可能性仍舊是主要驅動力。這也是引入企業架構的原因,企業架構會依據企業的長期戰略來設計IT戰略。

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

  • The Open Group的願景是Boundaryless Information Flow.

  • 因為SOA可以帶來無邊界信息流,所以SOA在The Open Group佔據了重要地位

  • 使用服務來替代應用

SOA給企業帶來敏捷

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

  • 服務組合

  • 模型驅動開發

  • 服務虛擬化

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

SOA功能和作用

功能作用基礎設施
Service
  • 改善的信息流
  • 對外公布的能力
  • 功能組織的靈活性

Service Re-use
  • 低的軟體開發和管理費用
Service repository
Messaging
  • 配置靈活性
Messaging program
Message Monitoring
  • 商業智能Business intelligence
  • 績效度量
  • 安全攻擊檢測
Activity monitor
Message Control
  • 應用管理策略
  • 應用安全策略
PDPs and PEPs
Message Transformation
  • 數據轉換
Data translator
Message Security
  • 數據機密和集成
Encryption engine
Complex Event Processing
  • 簡化軟體結構
  • 快速適配外部不同環境的能力
  • 提高可管理性和安全性
Event processor
Service Composition
  • 快速開發新的功能組合
Composition engine
Service Discovery
  • 優化績效、功能和成本的能力
  • 更容易的系統升級
Service registry
Asset Wrapping
  • 集成現有資產的能力

Virtualization
  • 提高可靠性
  • 可以擴充滿足不同要求級別

Model-driven Implementation
  • 快速開發新功能
Model-implementationenvironment

Advertisements

你可能會喜歡