軟件測試之成功規劃SOA:進行長期SOA規劃 SOA架構關鍵字:
摘要:在“成功規劃SOA”系列文章的第一篇文章:Successfully Planning for SOA(中文版,dev2dev,2005年12月)中,我討論了什么是面向服務的架構(Service-Oriented Architecture,SOA),以及如何確保它為您的業務交付價值。我特別關注了域模型的業務策略與流程、架構以及成本和收益等方面。第二篇文章討論了如何創建有效的SOA路線圖。在這最后一篇文章中,我將介紹域模型的其余3個方面:構件塊(Building Blocks)、項目和應用程序(Projects and Applications),以及組織和管理(Organization and Governance),并將重點放在如何把它們集成到長期項目規劃中去。
進行長期SOA規劃
如圖1所示,BEA SOA域模型是一個強大的工具,有助于指導客戶實施SOA規劃戰略。圖中重點顯示的6個主要部分應給予同等重視,以確保實現成功。
圖1. BEA域模型
本系列前面的文章考察了開始3個部分——業務策略與流程(Business Strategy and Process)、架構(Architecture)以及成本和收益(Cost and Benefits)。然而,實現開始后,對SOA的規劃并沒有終止,而是繼續貫穿于SOA項目的每個階段。
當進入迭代和增量階段后,域模型的最后3個部分對于確保動態評估以及項目的靈活性都相當有用。對正在進行的項目進行有效評估可以使您在發現沒有成功地交付業務價值時馬上進行糾正。本文的其余部分將更詳細地分析其中每個部分,并說明它們對于SOA長期規劃的作用。
構件塊:利用(并重用)資產
SOA依賴于成功地將重用制度化。SOA的構建塊是分散、可重用的服務和架構元素,可以用于構成復合的應用程序和服務基礎架構。每個構建塊在實現之后就會被添加到SOA功能的總體目錄中。隨著該目錄的增長,對于未來要開發的項目來說,需要開發的新代碼和服務基礎架構就將減少,維護成本降低,而且ROI也肯定會穩步增加。
明確地定義一個服務,并能夠以一種一致和可重復的方式將其交付到實際部署中,這就是SOA項目成功的關鍵所在。服務最好通過3個元素來定義:
◆ 服務實現:服務的實現由實際代碼、應用程序接口或包含(將通過此服務公開的)功能的其他技術資產組成。
◆ 服務接口:服務接口為服務的用戶提供一種基于標準的方法,用于根據它所提供的契約來訪問其功能。
◆ 服務契約:服務契約指定服務的目的、功能、約束和使用。契約細節的例子包括安全性需求、響應速度、吞吐量和可用性。
服務可以從現有應用程序公開,也可以從新開始構建,但是應該首先實現哪個服務呢?處于企業核心的簡單服務是最佳選擇,可以從對業務單元最不可知的服務開始,然后逐漸轉向更加特定于業務單元的服務。這種方法允許團隊習慣于在不過分關注復雜性的情況下構建和重用服務。類似地,應該從技術上較容易的服務開始,然后一步一步轉向技術上的難點。最早構建的服務中有一些是基礎架構服務,比如日志記錄、審計、錯誤處理以及類似功能。
項目和應用程序:實現SOA路線圖
服務路線圖是從識別企業中已有的IT項目和功能開始的。接下來,企業需要開發使架構完整的項目以及交付業務價值的單個項目,并按照重要性對這些項目進行排序。
文章來源于領測軟件測試網 http://www.kjueaiud.com/