專家答疑 構建成功SOA四要素

2021-08-23 12:50:08 字數 2163 閱讀 7382

權利和責任是一起來的。soa的承諾為服務重複使用和實現乙個完全整合的企業提供了巨大的機會。但是,人們沒有 想到的是soa實現的靈活性將導致企業it部門出現混亂。要恰當地控制soa的權利同時為企業提供價值,某些控制是非常重要的。在乙個普遍存在的和透明的 框架中採用服務發現、服務安全、服務管理和政策治理等方法對於任何企業成功地實施soa都是非常重要的。

權利和責任是一起來的。soa計算模式為整合企業和實現重複使用提供了巨大的承諾。但是,隨著這個權利出現了適當地使用的責任。如果乙個機構不能充分地控制soa原則產生的靈活性,就會出現混亂。

有有效地實現面向服務的好處,必須要為了機構的利益控制soa固有的靈活性。有效的soa以合適的比例應用服務發現、服務治理、服務安全和服務 管理。這些部分的每乙個重要的部分都必須要單獨地理解,因為它們都是相互關聯的。當它們結合為乙個無縫的架構的時候,這個整體就超過了其元件的總和。

發布-發現-繫結概念

在soa的核心是發布-發現-繫結(publish-find-bind)概念。圖1解釋了這種松耦合計算的範例。

在這種計算範例之下,乙個服務提供商發布其服務(作為服務端點)並且等待啟動這些服務。(第一步--發布)要發現從使用其服務中受益最多的那些消費者。提供商通過發布其註冊處中的產品「宣傳」其服務。這個註冊處(通常是符合uddi或者ebxml標準的)維護乙個在企業中發布的全部服務的資料庫以及這些服務的細節以便幫助消費者的發現過程。在實踐中,這個資訊通常包括乙個wsdl檔案(包含其呼叫簽名)以及服務所在的端點的url位址。這個註冊處還包含乙個全面的庫以儲存每乙個服務的功能和特點等情況的額外細節。

一旦乙個服務在企業的註冊處發布,乙個有興趣的消費者也許就會查詢這個註冊處尋找能夠滿足他的需求的服務。(第二步--發現)接下來,開發人員 使用他們在註冊處發現的服務建造自己的系統。松耦合協作中的最後乙個步驟(第三步--繫結)在執行時間發生。在執行時間,消費者使用在「發現」操作期間由 註冊處提供的端點url與提供商繫結在一起。

根據發布-發現-繫結松耦合的範例,提供商和消費者需要在使用這個服務之前相互熟悉。這個概念的力量引起了重要的混亂的機會。例如,如何保證只 有獲得授權的消費者才能訪問乙個指定的服務?如何保證所有的服務提供商都能適當地保證自己的服務安全防止非授權的消費者使用?如何保證在整個企業的soa 實施過程中遵守機構的標準?要管理在松耦合模式中的權利,必須採用額外的一些控制層面以保證在保持秩序的同時實現soa的好處。

發布時間治理

沒有對企業soa的控制,沒有限制數量的內部服務提供商將暴露和發布允許任何使用者使用的所有形式的服務。必須要在發布時間在這個過程中引進乙個治理層以保證僅僅發布高質量的服務,並且保證這些服務符合企業的標準。這種做法稱作變換時間治理。

採用變換時間治理,註冊處根據企業建立的一套規則驗證發布的服務,並且拒絕任何企圖發布不符合所有已經制定的政策的服務的那些服務提供商。企業 級消費者不能使用任何遭到拒絕的服務。這些政策在把一項服務註冊成為一項企業服務之前將根據發布的服務進行任何數量和任何形式的檢查。

圖2顯示了變換時間治理功能在松耦合生命週期(步驟1a--驗證)中發生的地方。這個治理工具(有時候是註冊產品的一部分)管理所有的企業soa政策。

執行時間媒介

在乙個企業soa中注入控制,必須要在所有的消費者與提供商的互動之間注入乙個媒介。然後,這種媒介(通常是指乙個政策強制執行點)能夠執行許多必要的功能,實時地給乙個soa帶來秩序:

1.強制執行執行時間治理

2.與安全有關的功能

3.管理活動

這些功能的執行對於消費者和提供商都是透明的。圖3顯示了向發布-發現-繫結範例中引進這種媒介的過程。

在變換時間發布和治理驗證(步驟1和1a),這個註冊處通知強制執行政策點它將作為指定的服務(步驟1b)的媒介。然後,這個強制執行政策點使 用新的端點回應這個註冊處。企業能夠在這個新的端點訪問原來的服務。隨後,所有向這個註冊處查詢這個服務的全部詢問都將返回在強制執行政策點上建立的新端 點(步驟2)。這個過程稱作端點重寫。所有企業級的與這項服務的互動都將通過這個媒介。

所有試圖與指定的服務繫結在一起的消費者(步驟3)事實上都將與作為提供商的強制執行政策點繫結在一起。這個媒介正是能夠在這個點上執行其重要 的功能。一旦這個強制執行政策點完成了它的工作(假如一切順利的話),消費者就與提供商繫結在一起了(步驟4)。從那時開始,這個強制執行政策點的工作就 完成了,它就把自己從這個互動中刪除了(也就是說它有效地實現了消費者與提供商之間的硬線連線)。

構建成功的 SOA 專案

從架構師的角度了解面向服務的體系結構 soa 開發過程的主要階段。了解實現成功的 soa 專案方面的經驗教訓和最佳實踐,包括組織準備情況 使用者的角色 對流程進行轉換 基於資產的支援和工具要求。引言saugatuck technology gartner 及其他公司所做的行業調查表明,無論各自的基礎...

如何構建成功的軟體測試團隊

所謂偉大的測試團隊是什麼意思?擁有明星隊員的團隊是好團隊,但沒有乙個明星隊員的團隊是乙個偉大的團隊 無名氏。上述的引言使我們進入了偉大團隊及其特性的討論之中。這篇文章源於作者在不同團隊中的工作經歷,對團隊成員在時間非常緊迫和專案非常複雜的情況下的表現的觀察。本文適合於那些想尋求合適成員以求在專案中有...

jenkins專案構建成功後無法傳送郵件

系統配置中配置了所有的郵件配置,還是無法在專案構建成功後傳送郵件。網上有找過一些方法解決的方法,說是定義傳送成功時的要增加recipient list,這個我也增加了還是無法收到。關鍵是測試郵件傳送時能傳送成功。而且日誌中沒有報什麼錯,觸發器觸發成功,郵件傳送成功 開啟系統管理 系統設定 裡的ext...