中小企業如何進行敏捷SOA治理?
要實現SOA所帶來的易管理、可靠性和重用性,必須先有一個有效的治理結構對服務的創建、維護、提供和消費進行調整。
然而,雖然SOA具有戰略性的優勢,但是治理往往會在企業的單個業務線上產生負作用,因此許多中小型企業在開始編制服務目錄的時候會遇到種種困難。那么應該怎樣對服務資源進行編制從而讓我們的項目取得成功呢?本文提供的治理結構可以在接受通常工作的戰術性、以項目為中心等特點的同時實現服務的戰略重要性。
對治理的需求
根據定義,服務應該是一種共享資源。如果要在利益相關人群體中共享資源卻缺乏一個有效的治理系統通常會導致資源管理與資源利用之間產生矛盾。要保持較高的ROI(比如通過避免重復性勞動)并符合SLA協議(比如通過在提供服務的同時保證合適的計算資源以滿足消費者的要求),就必須對服務進行有效地治理。治理還能幫助企業發現新的服務需求并根據變化做出調整。
對交付的要求
在對SOA進行治理的同時,也不能忘記SOA的目的是讓IT為企業實現價值。不過,企業是通過業務線(LOB)來實現利潤(或其它價值)的,因此,完全可以說業務線就是企業的動力之源,而技術項目只是業務用于實現目標的一種手段。有了這種非常直接的關系,那么如何準時地完成業務技術項目就成了關鍵。
有些關于SOA的書籍和文章建議對服務重新進行完全編制才能實現面向服務所應有的效率。如果按這種方式來的話,那么所有開發項目就都會在標準的、能夠在服務資源增長的同時保證架構質量的SOA治理中順序進行。
可惜的是這種方式通常是以缺乏架構治理(不管是正式的還是非正式的)這個假設為默認條件的。所有企業都有各種正式的和非正式的管理型技術項目,其中某些甚至已經變得很有系統性,與其它技術爭奪控制權,甚至阻礙項目的交付以至使項目無法實現其所應有的價值。而治理必須在這樣的一個環境中尋得一席之地。
對于中小型企業(SME)來說這更是一個大問題,因為他們可能沒有足夠的員工在使業務領域及時完成項目的同時處理這樣的一個過程。他們可能沒有條件組成一個單獨的服務團隊,也可能沒有足夠的架構師在不妨礙開發的情況下對所有開發活動進行審查。結果就是業務領域逐漸失去對降低成本和提高生產力的前景的信心,并因此給SOA的實現埋下了問題的種子。他們很自然地會產生疑惑,認為當前的障礙是否是一種在當前條件下無法解決的問題,只能等待下一次技術潮流涌現并取代SOA。他們可能還不知道云計算……(噓——別讓他們聽見)。
如果一個開發團隊要幫助某個業務領域實現價值,那么這個團隊就會設計一個適用于這個業務領域的軟件。但是由于這種軟件是一種緊耦合,缺乏擴展性,因此無法將它應用于其它的業務領域開發團隊。雖然這對企業來說是一種低效率的工作,可是卻無法及時地反映到業務領域上。這些團隊并不是在為企業尋找實現價值的機會——他們工作的對象是業務領域。他們認為他們的工作具有很高的價值。要減緩開發項目的速度以解決企業層次的低效率問題在這種業務領域環境下是難以行得通的。
解決這種進退兩難處境的方法通常是從上層開始推動變化并將所有服務開發平行到另外一個單獨的團隊中。這是種合理的方法,它能夠利用常用的方法提高開發能力(布魯克定律不算在內)。在各種***官的帶動下,人們希望可以組成一個能夠隨時實現服務以支持主開發團隊的工作的具有各種資源或手段的服務團隊。但是這個團隊的主要任務并不是幫助業務領域,而是幫助企業。要實現這個目標,這個服務團隊在創建服務的時候就要從戰略性上著手。它必須對業務團隊所提供的需求進行分析并決定這些需求是否對其它團隊具有通用性。它還必須對服務的擴展性和易管理性進行評估。總之,它必須小心謹慎。而小心謹慎就意味著時間。在小型企業里,項目的交付期限是很短的,通常少于一年,一般只占一個業務周期的四分之一甚至更少。那么服務團隊怎么才能在這么短的期限內還做得小心翼翼呢?
【編輯推薦】