治理、質量和管理:讓鬆散耦合執行起來

isoa發表於2008-07-08
隨著面向服務架構(SOA)按照IT的一般方法很好的得以建立,公司正在專注一些為使SOA執行而進行的具有挑戰性的關鍵事務。那些在SOA採納路徑上一路走好的企業已經充分地懂得,建立和開發服務的技術挑戰遠沒有建立鬆散耦合的障礙顯著,與業務相關的服務利用持續改變的業務流程。實際上,建立鬆散耦合的挑戰只比與組織的SOA採納相關聯挑戰稍微弱一些。

  當SOA抽象與異質性、點到點整合及緊密耦合應用邏輯相聯絡的複雜性,它引入了另一種不同的複雜性:分散式、鬆散耦合及動態組成服務的管理。在過去的幾年中,企業開發了許多處理這種新的複雜形式的方法:隔離失敗和提供抽象終端差異性的機制的管理方案,提供保證變化在顯著變化的環境中可傳播性的機制的質量方案,及提供對面向服務的系統開發的整體檢視的治理方法,改革和版本管理問題的緩解,及對於業務作為一個整體運轉的核心的執行政策。

  ZapThink已經對SOA治理、質量和管理的那些備受議論的領域撰寫過許多文章了,但直到最近,我們才認識到那些不同的市場區隔以他們自己的權利成為了同一個問題的不同解決方案:使鬆散耦合的幻想成為現實。在組合上,SOA治理、質量及管理形成一個完美的三連擊,其能使所在一個持續變化的IT和業務環境中所預見到的鬆散耦合困難變為現實。

  執行質量和管理之間的聯絡

  這個三連擊的一部分就是執行SOA質量和SOA管理的聯絡。維持高質量、面向服務的系統的挑戰在Quality SOA ZapFlash已經有詳細的介紹。總之,如果一項服務在隔離的環境下工作,那麼如果他是如何組成的方面或後設資料作為一個整體對系統效能影響的一些變化。大體上,單元測試單個服務實現完全不足以決定該服務實際上在後設資料控制的服務中組合環境中是否完成任務。

  有效保證SOA質量的唯一方法就是持續地這樣做,衡量質量不僅以一個離散的、原子服務在生產中持續進行測量,還要測量所有相關的後設資料、組合邏輯、政策及潛在計劃。大多數企業對與在生產重,持續測試他們系統的思想不熟悉或是說不適應。儘管如此,就像我們在大量的ZapFlashes如抓住SOA變革和版本管理 和 SOA質量和治理:滿足敏捷的元需求所闡述的,架構就是業務,而且因為業務持續在變,一個質量保證(QA)模型要求環境的複製以保證質量,而這將是異常昂貴的,不可能進行管理,而且是無效率的。

  使執行質量在生產中進行實際上的工作需要一個機制,以隔離來自於迴歸和不可預測影響的失敗。通過實現作為服務合約和政策的測試模型來達到這個要求,同時在一個“測試模型“中最小化服務的單邊效應以避免資料和行為的任何不必要的委託。政策驅動測試的想法和質量的執行時間執行覆蓋了那些執行時間服務管理。許多SOA管理解決方案提供政策執行、異常管理、錯誤恢復、及根源分析。執行時間質量工具的效能配對通過最小化那些變革的影響的解決方案便利了翻譯的過程是恰到好處的。

  進一步來說,這裡有一個“管理——質量反饋路徑”存在於工具方法之間用於管理,當系統接近一個不理想的狀態其將提供視覺化,而且其提供允許將系統作為一個整體的增量測試和質量管理的機制。這個反饋通過確保任何服務相關的變化不會打破任何東西——鬆散耦合的一個基本需求,幫助保證鬆散耦合。

  SOA管理和治理之間的聯絡

  同樣地,在SOA治理和管理之間也存在一個聯絡,其便利了鬆散耦合。SOA治理有三個截然不同的,但是也是相關的部分:設計時間治理,其提供創造、開發及消耗服務的規則和政策;執行時間治理,其管理在作為一個整體的架構的生產和效能中服務的行為;及改變時間治理,其詳細說明企業如何在對現存的業務和政策所帶來的擾動最小的情況下在整個系統實現變革。

  SOA管理產品專注於政策執行、基於規則的路由及決策制定及異常處理的方面。如上所述,由治理工具管理的政策能通過活躍的SOA管理工具在執行時間執行。當SOA治理工具如服務於系統記錄的序號產生器和知識庫去管理與服務相關的後設資料時,SOA管理方法提供了確保服務消耗於生產中,並與在那些系統中建立的政策相符的方法。SOA管理工具還能發現並防止無賴服務的發生,並檢查服務互動性以使SOA治理方法的的價值得以體現。加之,執行SOA管理通過執行在分散式環境中行政的和贊成的變革幫助了變化時間治理問題,同時最小化了質量和效能問題。

  進一步,有效的SOA治理要求有效的管理提供在執行系統中所要求的視覺化,以反饋治理流程。這個“管理——治理反饋迴路“是確保在不過分限制架構的敏捷性的情況下不僅企業能治理他們整個的SOA專案,而且提供有效的控制和管理的一部分。這個反饋路徑通過確保業務需求的變化對整個系統的行為不產生不利影響及因其已經存在於該點從實現上進行退耦業務邏輯協助保證了鬆散耦合。

  SOA治理和質量的聯絡

  上述討論所暗含的想法就是改變時間管理和治理。為了防止SOA Butterfly Effect,企業不得不有效的管理和治理變革,所以變化將不會對服務的複雜環境產生混亂的影響。這意味著不僅要通過在執行時間上的管理方法抓住和防止失敗,還要通過執行時間質量和測試方法分段實驗和測試那些變化。

  設計時間治理也要求企業在不受控制的服務滲透到IT環境之前執行服務開發實踐。治理和質量方法之間的有效整合通過提供對與已建立的政策和方法之間的分離的視覺化使該執行成為可能,以限制那些不相適應的服務的擴散速度。

  在一個持續變化的系統中維持持續的質量的挑戰是維護有效治理的方面,比如說SOA治理和質量工具和方法的聯合以使該為題更便於管理。SOA質量工具通過指示政策和變化如何影響整個系統提供對於治理系統的反饋,同樣地,治理系統和方法通過提供在設計和執行時間上影響服務的持續變化約束餵養質量生命週期。這個“質量——治理反饋路徑”通過確保任何設計時間變化對執行系統沒有任何影響和在他們的服務客戶和供應者中服務客戶不需要艱辛地程式設計治理規則促進了鬆散耦合的實現。

  SOA GQM套裝的出現

  企業投入了太多注意力到單個的服務開發、執行時間執行環境及作為他們的SOA基礎設施的內部服務通訊。實際上,處理服務基礎設施的執行時間方面是做SOA工作的一個相當瑣碎的部分。實際上,大多數企業的基礎設施的種類是為實現他們的物件導向的專案,只能較容易地在舊的整合中介軟體之上創造緊密耦合的網路服務APIs,因為他們能便利鬆散耦合、組成服務的建立。既然企業在尋找後者而不是前者作為SOA存在的理由,企業投注大量的精力在SOA的治理——質量——管理方面是勢在必行的,而不是如何開發一個服務結構和執行一個服務實現。這並不是說SOA基礎設施,如Enterprise Service Bus (ESB)的努力是不必要的,但是不僅僅是這樣的!企業想實現他們的SOA對於在一個持續變化的環境中保證鬆散耦合和組成是不夠的。

  所以,企業應該專注於SOA的種類——作為SOA目標核心的具體實現技術:SOA治理質量管理(GQM)套裝。該套裝作為單個供應商產品解決方案也許沒有實現的必要,即使它看上去市場也許會以這種方式趨同。與它是否作為單個供應商解決方案還是最佳應用的集合而實現無關,SOA GQM套裝是便利於上述在這個ZapFlash中所提到的三個反饋路徑工具和效能的集合,說明如下:

  ZapThink已經開始在成功的SOA專案中發現這個完全的反饋路徑變為現實。現在,企業應該通過確保所有反饋路徑的實現以專注於實現GQM套裝的每一個部分。不管是通過自己開發的解決方案,還是最佳的供應商的解決方案,或是致力於提供產品的整個套裝的打包的產品,企業需要適當地表述他們的GQM需求,如果他們希望實現SOA的利益。

  ZapThink所持的觀點

  對於鬆散耦合、組合、面向業務的服務以在一個異質和持續變化的環境中實現一個平緩的成本變化真正感興趣的企業將獲得很好的服務以專注於他們的專案的具體技術部分而不是單個的ESB以作為他們的SOA成功的關鍵,而不是在GQM方面。說明GQM反饋路徑的所有部分將對有利於將鬆散耦合的幻想變為現實。加之,使GQM空間更有吸引力的是它代表了新的技術投資,而大多數企業還沒有做過。

  當今天的許多ESB投資是對已有的已經處於適當位置的基礎設施和中介軟體老調重彈,但同樣的話不能用來形容GQM工具。在之前的IT簡化的架構和技術演進中投資GQM在一個緊密耦合、私有系統的環境下是沒有必要的,而且缺乏組合系統。在這樣的環境下,測試是一個需要完成QA活動,只存在與開發和配置之間,只有當系統配置時才需要管理已完成的一些事物,總之,接著只用一個監控能力,及管理一個事後想法。儘管如此,SOA代表的鬆散耦合和組成的吸引價值在於給予企業不僅僅是使自身架構優化的機會,還有在他們的系統中做出正確的投資以允許他們可能應該在此時擁有的治理、質量及管理種類。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780828/viewspace-374566/,如需轉載,請註明出處,否則將追究法律責任。

相關文章