在開發IT架構時顯而易見的是,要真正實現商業利益就要從根本上改變關于系統設計的思維方法。本文是三篇關于面向服務的架構(SOA)的系列文章中的第一篇,BEA提供了有用的技巧、洞察力和一個域模型,以幫助您規劃和開發一個成功的SOA實施。
SOA:一種新的思維方式
Albert Einstein曾說過,“如果我們面臨的重大問題在思維認識水平與我們創建它們時處于同一水平上,我們不可能解決這些問題?!卑堰@個概念應用到當今的企業計算領域,如果我們不改變關于IT的思維習慣,就不可能解決IT界所面臨的提供成功商業解決方案的挑戰。對于開發人員和企業架構師,SOA為這種變革提供一種結構。要考慮的問題是:我們如何遷移到這種新水平呢?我們如何為這種根本變革做準備呢?我們如何確保證以成本最低、企業創傷最少的方式實現這種變革呢?全部答案始于正確的規劃。
SOA與其說是一種技術,不如說是一種的思維方式。它是一項大膽的基礎架構變革議程,表達我們如何通過技術和協同工作來實現文化變遷。它的突然普及不是大規模宣傳的結果,而是對SOA作為一種使業務和IT系統更密切結合的演化的認知。這種演化是震撼的,必將為企業的成功帶來深遠的影響。
SOA 是真正什么?
面向服務的架構是一種IT戰略,它把包含在各種企業應用中的分散的功能組織為可互操作的、基于標準的服務,而這些服務可以再被迅速組合和重用以滿足業務需求。
一個服務就是一個代碼模塊,它由可通過基于標準的接口訪問的服務水平協議管理。每個服務表示一部分功能,它明確地映射到業務流程中的一個步驟。服務可以從頭開始編寫,或通過公開原有孤立的應用程序中現有系統功能模塊挖掘出來。
經過一段時間后,可以建立起服務目錄,允許跨許多不同系統流暢地訪問和重用業務功能。這樣,在支持戰略變革的同時,SOA能消除數據冗余,避免信息重新錄入和技巧層面的人為錯誤。例如,使用SOA能創建一個消費者的單一視圖,在此過程中,開啟了交叉銷售和往上銷售的新的可能性,因此提供更有吸引力的用戶體驗的服務。
新的基礎架構范例
SOA的部分范例轉移是一個從應用基礎架構(Application Infrastructure)遷移到服務基礎架構(Service Infrastructure)的過程。在SOA之前,各種應用程序用點對點的連接方式孤立地組織在一起。除了利用一個聚合的服務基礎架構層(Service Infrastructure Layer)之外,SOA使用同樣的后端應用引擎和中間件,如圖1所示。
圖1. 服務基礎架構層
實施SOA
按以下步驟開始實施SOA:
使用BEA域模型有效地規劃
為了保證成功,SOA以一種新的方式要求IT和業務協同工作。開始SOA規劃時,需要在技術性和非技術性要素之間進行有效的平衡。為此BEA開發了一個域模型(如圖2所示),幫助指導您規劃必須同等重視的六個關鍵方面,以確保成功實施。
圖2. BEA域模型
最好從業務戰略與過程、架構以及成本與受益三個方面開始規劃。
業務戰略與過程:把SOA映射到業務
SOA把IT功能映射到業務流程,使業務隨著時間而改善。這個映射過程的最佳表達如下:
架構: 定義長期需求
為IT組織建立參考架構很重要。這種參考架構不是當前的狀態圖,而是一個長遠視圖,合并了未來2到3年架構上的發展需要?;ㄐr間來定義架構的指導原則和策略,但要避免使這些指導原則走入死胡同。優先考慮SOA系統的靈活性和模塊化。
成本和受益:直接證明業務價值
SOA反對四處出擊,重要的是按成本受益順序確定服務開發的優先級,這樣SOA從一開始就顯示出ROI。通過仔細的規劃,啟動成本要限制在現有預算內。經過一段時間后,服務模塊的重用會確保以后每個新業務應用程序的啟動成本很低。在實施開始時設置好基線,確??蓽y量性,避免臨時修路的效果。
使用SOA成熟度模型
BEA的SOA成熟度矩陣(如圖3所示)幫助監視SOA效果,這樣您可以檢查不同開發階段的進度。這個矩陣被劃分成三個階段:探索(Exploring)、擴展(Expanding)和開拓(Exploiting)??梢允褂孟馚EA Online Self-Assessment Tool這樣的工具來評估架構的成熟度。
圖3:BEA的SOA成熟度矩陣
如圖所示,采納通常不是一種要么全有要么全無的方法。典型的采納是一種分階段的方法,這就是為什么在本文里其他題目(比如定義長期的架構和發現直接的業務價值)是很重要的。
結束語 本文的目的是為您提供成功組織SOA規劃的指導方針,我們相信,采用這個方法能使您最平穩地實施SOA,使您的企業發展和業務敏捷性達到一個新的高度。
(責任編輯:銘銘)