如圖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個元素來定義:
服務可以從現有應用程序公開,也可以從新開始構建,但是應該首先實現哪個服務呢?處于企業核心的簡單服務是最佳選擇,可以從對業務單元最不可知的服務開始,然后逐漸轉向更加特定于業務單元的服務。這種方法允許團隊習慣于在不過分關注復雜性的情況下構建和重用服務。類似地,應該從技術上較容易的服務開始,然后一步一步轉向技術上的難點。最早構建的服務中有一些是基礎架構服務,比如日志記錄、審計、錯誤處理以及類似功能。
服務路線圖是從識別企業中已有的IT項目和功能開始的。接下來,企業需要開發使架構完整的項目以及交付業務價值的單個項目,并按照重要性對這些項目進行排序。
一開始,需要了解現有應用程序和項目的情況,以便確定可以在哪里重用現有功能。對于那些完全特定于其所在的應用程序或為其開發的項目的功能,此時就完全可以不用考慮。
一定要知道以下內容:
這些數據將幫助您了解當前的項目和應用程序,并幫助識別通用功能。
SOA要求在人員的協作方式方面有所變化。有必要在IT部門之間建立更緊密的協作,因為這樣能夠推動全體人員都重視交付業務價值,而不是只在單個功能性部門中。
要想在此領域中獲得成功,有兩個方面是必不可少的。首先,必須提供足夠的培訓,以便讓團隊不僅能夠了解SOA的技術方面,還能了解它所需要的文化變化。沒有提供這些關鍵消息的企業將很難繼續進行下去。
其次是組織和管理,要將SOA的采用當作是一個企業改變的計劃,而不僅僅是最新的技術方向。從高級管理人員獲取并保持支持將有助于企業的各個部門進行無縫協作,并確保您具有足夠的權限來獲得服從。
不同企業進行組織和管理的方式各不相同,這取決于企業的成熟度和發展方向。對于最初的SOA實現來說,自頂向下的集中式管理是最有效的,接下來是聯邦或部分聯邦的管理,最后是一個自治程度更高的層次系統。這種結構便于整體而有效地查看結構、資金、操作流程和工具、標準、技能變化管理以及指導原則。它還有助于根據以下(以及其他)SOA常見問題來決定、制定和改進流程:
最后,組織和管理功能將確保該過程以及通過SOA項目交付的業務價值是可度量的。如果未達到指標,就可以采取更經濟有效的矯正措施。
在這個系列文章中,我的目標就是指導您使用BEA的域模型作為規劃、實現和評審的框架,在您的企業中規劃和部署SOA。本文主要關注長期規劃,指出了SOA依賴于成功地把重用文化制度化、為什么要了解當前的IT項目(從而了解通用功能),以及如何建立組織和管理模型。想要了解有關域模型和BEA的SOA解決方案的更多信息,請訪問BEA SOA資源中心。
(責任編輯:銘銘)