通過將這些原則應用到面向服務的體系結構設計,可以幫助通過 IT 靈活性實現業務靈活性遠景。
引言
面向服務的體系結構(Service-Oriented Architecture,SOA)提供了支持業務靈活性的 IT 靈活性遠景。在本文中,我們將重點討論 IT 靈活性的兩個特定方面:流程實現的分離和簡化。如何說明和實現各個服務對 IT 靈活性的這些方面有很大的影響,因此也對業務靈活性有很大的影響。我們此處的目標是提供支持 SOA 遠景的服務說明和實現指南。本文的論述結構如下:
我們在文中所給出的設計原則旨在通過改善流程實現的分離和簡化來提高 IT 靈活性,因此,我們將通過對這些理念進行更為深入的分析來完成我們的介紹。
分離
SOA 原則非常強調將服務使用者和服務提供者分離開來,關于此類分離實際的含義,有很多不正式但非常有用的約定。分離背后的一個基礎概念就是,對服務提供者的修改不應要求在服務使用者中進行相應的修改。例如,將當前在特定操作系統上運行的服務重新部署到另一個平臺的決定完全可能不要求對服務使用者進行更改。一個主要的 SOA 指導原則就是,要減少使用者和提供者之間的依賴關系。
分離應用于技術層面,強調 Web 服務和異步消息交付之類的技術,以允許使用者獨立于服務提供者選擇實現和可用性選項。我們還可以通過各種方式讓 SOA 基礎結構實現技術分離,如:
表 1. 分離技術
依賴項 | 所需的分離 | 分離技術 |
平臺 | 服務硬件、操作系統或實現語言的選擇不應對服務使用者的選擇進行約束。 | 服務采用不會約束服務使用者平臺的標準服務公開機制。通常使用 Web 服務技術。 |
位置 | 對服務實現位置的更改應盡可能少地影響客戶機。 | SOA 基礎結構提供了運行時服務定位和請求路由機制。 |
可用性 | 各個服務可用性特征不應影響業務流程的整體可用性。例如,不應要求對服務和使用者的維護計劃進行同步。 | SOA 基礎結構具有合適的存儲與轉發特征,提供了可靠的異步調用機制。 |
版本 | 應該可以在不要求所有服務使用者同時升級的前提下引入新版本的服務。 | SOA 基礎結構提供了消息轉換和擴充功能。即使服務提供者接口本身(使用者和提供者之間的基礎結構中介)發生了更改,服務使用者也可訪問基礎結構提供的一致接口。 |
服務應該設計為與要部署到其中的 SOA 基礎結構兼容,特別是,服務應確保避免不必要的耦合。舉個相反的例子,有狀態服務接口將傾向于通過將使用者與特定提供者實例關聯來增加使用者和提供者間的耦合。
分離的概念也同樣適用于非技術的業務層次。服務使用者應該盡可能與服務提供者實現的業務邏輯細節分離。為了實現此類分離,同樣也需要進行細心的設計。在下面的服務設計原則部分,我們將討論將服務接口表述為有意義的業務操作(而不是細粒度的原語方法)的好處。
共10頁: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一頁 |