專利名稱:管理對面向服務的體系結構的對象的操作要求的注冊表的制作方法
技術領域:
本發(fā)明涉及用于面向服務的(軟件)體系結構(SOA)的注冊表 (registry)和使用所述注冊表的方法。
背景技術:
在面向服務的(軟件)體系結構(SOA)中,使得各種處理對象作為 可以以標準化方式訪問的獨立服務而在網絡中對于用戶可用。SOA的對象 基于形式化定義而交互操作(interoperate),所述形式化定義與下層的硬 件和軟件平臺以及編程語言無關。接口定義封裝具體實現方式。SOA獨立 于具體開發(fā)技術(例如java和.NET)。結果,因為接口遵從標準并且與 處理邏輯的下層實現方式無關,所以軟件對象變得非??稍儆?。例如,C# 服務可以被Java應用所使用,反之亦然。SOA的多數定義使用通過 HTTP/HTTPS在TCP/IP上傳送的SOAP請求。但是,SOA可以使用任何 基于服務的技術。管理SOA是復雜且困難的任務。保持諸如web服務之類的處理對象 的整個景觀的概觀對于確保使用各種處理對象的應用正確地操作而言是重 要的,所述處理對象中的一些可以隨時間而動態(tài)地改變。本發(fā)明的申請人 因此開發(fā)了一種在商品名稱CentraSite 下可用的集中式注冊表/存儲庫 (repository)。CentraSite是集中式注冊表,包括對SOA的處理對象尤其是web服務 的描述??梢酝ㄟ^web服務描述語言(WSDL)文件來描述web服務。 WSDL文件通常包含關于相應web服務的功能、數據、數據類型和交換協(xié) 議的信息。想要向某個web服務發(fā)送請求的客戶端可以或者從web服務本 身或者從CentraSite獲得WSDL文件,以査明如何訪問web服務。 CentraSite提供各種用于訪問存儲在注冊表中的信息和用于其管理的API。SOA的對象除了執(zhí)行它們各自的處理操作之外還必須滿足另外的操作 要求,這些操作要求例如涉及服務質量(例如,對請求的某一響應時間或 者處理在每個時間單位內的吞吐量)、訪問限制(例如,僅允許某組受限 的用戶和/或計算機系統(tǒng)執(zhí)行處理)、對用于認證參與者的過程的要求等等。也可以存在對SOA對象的生命周期的操作要求,例如"一周內不得兩次改變處理"或者"不得在生產中使用處理除非該處理已被測試至少四 周"。處理對象在SOA的抽象層次中的位置越高(例如,與基礎設施web 服務相對的用戶應用),這些另外的要求就越可能被以高層用戶的術語而 不是IT系統(tǒng)工程師的精確技術術語來表述。在更高的層次上,用于表述這 種要求的典型方法是使用非形式化的文字處理文檔。但是,為了能夠在技 術上實施這種非形式化要求,它們必須被通過例如利用web服務策略框架 而反映在支配實際處理的的具體技術斷言(assertion)或規(guī)則中。將非形式化要求與正確的技術斷言關聯(例如用于指定對處理的響應 時間的上限) 一般要求有經驗的IT人員。這更加適用,因為對于技術斷言 的每個領域(例如,處理性能、認證、授權、加密等等),相應的位置上 可能是另一種實施方法,該方法要求一種不同并且經常是專用的技術來表 達斷言。顯然,對于SOA的各種處理對象,將非形式化要求映射到正確 的技術斷言是十分困難的。一個有關困難在于所創(chuàng)建的用于SOA對象的技術斷言對變化需要的 不斷適應。在現有技術中,技術斷言通常以分散的方式存儲,使得修改它 們變得更加困難,或者甚至使得調査它們是否真正反映最初的非形式化操 作要求變得更加困難。US 20020188627公開了受制于一種或多種策略的數據元素。策略可以 以兩種格式來表達,即HTML和XML。這兩種表示法是高度結構化的, 如果對任一策略的修改變得必要,則這些表示法僅對熟練的IT專家是有用 的。因此本發(fā)明要解決的技術問題是提供一種用于SOA的改進的注冊 表,用于輔助對SOA的對象的非形式化操作要求和分配給SOA對象的相應技術斷言之間的關聯。 發(fā)明內容在本發(fā)明的一個方面中,該問題是通過一種用于包括多個處理對象的面向服務的體系結構(SOA)的注冊表解決的,所述注冊表包括多個對多 個SOA對象的非形式化操作要求、多個用于多個SOA對象的技術斷言以 及多個鏈接,所述多個鏈接將每個非形式化操作要求鏈接到注冊表的至少 一個技術斷言。因此,除了一方面包含非形式化操作要求和另一方面包含涉及SOA 的處理對象的技術斷言之外,本發(fā)明的實施例的注冊表鏈接兩個組的元 素。結果,即使高層用戶也可以通過僅參考非形式化操作要求來控制SOA 的處理對象的操作,而不用必須執(zhí)行技術斷言的任何低層實現方式。在一個示例中,注冊表針對每個鏈接包括相應的非形式化操作要求的 中間表示法。中間表示法優(yōu)選地仍然可讀,但是比非形式化操作要求更加 結構化。因此,試圖將處理要求用于SOA的對象的低層IT人員和注冊表 的高層用戶都可以理解。根據另一方面,注冊表包括圖形用戶界面(GUI),所述圖形用戶界 面示出至少一個非形式化操作要求和至少一個被鏈接技術斷言的中間表示 法。注冊表的這種唯一的GUI輔助對技術斷言和SOA對象的有關操作要 求進行的修改。圖形用戶界面在一個實施例中適用于示出鏈接到同一非形 式化操作要求的至少兩個技術斷言,其中,所述至少兩個技術斷言可以通 過布爾表達式而被組合。利用布爾表達式,用戶可以容易地定義對各種 SOA對象的復雜操作要求,而無需任何對用于處理SOA對象的技術斷言 進行低層編碼的技能。此外,注冊表可以包括至少一個鏈接,該鏈接將單個非形式化操作要 求鏈接到對多個SOA對象有效的技術斷言。注冊表中的這種一對多的鏈 接縮短了高層用戶對用于所有SOA對象的技術斷言的總定義時間。本發(fā)明的注冊表的實施例的進一步有利修改在進一步的從屬權利要求 中限定。根據另一方面,本發(fā)明涉及一種方法,該方法用于將多個針對SOA對象的非形式化操作要求連接到多個用于SOA的技術斷言,其中,該方法包括對上述實施例的任一個中的注冊表的使用。
在下面的詳細描述中,參照下面的附圖來進一步描述本發(fā)明的當前優(yōu)選的實施圖l:包括多個交互處理對象及其注冊表的簡化SOA;圖2:包含用于SOA對象的示例性技術斷言的WSDL文件;圖3:用于鏈接本發(fā)明的示例性實施例的注冊表中的非形式化要求和 技術斷言的圖形用戶界面的示例;以及圖4a、圖4b:用于定制將被鏈接到本發(fā)明實施例的注冊表中的非形 式化處理要求的新技術斷言的模板的配置窗口。
具體實施方式
圖1示出簡化的SOA的示例。處理B在執(zhí)行的情況下調用各種其他 處理BPl…BPn,處理BPl…BPn調用web服務WSl至WSn。圖1中所示 的SOA的web服務之間的操作依賴性被簡化。例如,可能存在處理 BPx,其在執(zhí)行期間不是僅調用單個web服務,而是調用多個web服務 WSx、 WSy、 WSz (圖1中未示出)。在圖1的示例性SOA中,每個 SOA對象設有策略P。但是,這不是必要的。相反,僅SOA對象的子集 可以設有策略,或者單個對象可以具有多于一個的所分配策略。每個策略 P包括一個或多個低層技術斷言。用于SOA對象中的至少一些的斷言可以涉及處理的不同技術方面。 SOA對象的策略例如可以包含涉及認證、授權、加密、簽名、其可用性、 響應時間、吞吐量、并發(fā)用戶數等的斷言。各種策略的所有斷言被存儲在 注冊表10中(參考圖1的虛線箭頭)。圖2通過示出用于描述SOA的web服務的WSDL文件的一部分的示 例而圖示出如何實現低層技術斷言的示例。由圖2可見,WSDL文件的突出顯示部分包括針對相應web服務所作出的數個技術斷言15,例如200ms 的確認間隔。顯然,正確地定義這種技術斷言要求相當多的IT技能。SOA 的許多高層用戶,例如使用基于SOA的仿真軟件的自然科學家或者使用 SOA來管理商業(yè)處理的商業(yè)人員,不具有這種IT技能。普通的IT人員一 般可能勝任在這種WSDL文件中作出必要的定義。但是,這種人員通常缺 乏對將由SOA執(zhí)行的科學或商業(yè)處理的理解,并且因此無法定義有益于 整個處理的有意義的技術斷言。本發(fā)明因此使用中心注冊表和存儲庫IO來存儲對各種SOA對象的非 形式化操作要求和相應的技術斷言,例如適當的WSDL文件。另外的信息 被存儲在注冊表10中,所述信息鏈接這兩組的元素。如下面參照圖3所 述,以面向高層用戶的語言所表達的非形式化表述的操作要求因此可以被 以逐步方式轉換為技術斷言,該技術斷言最終可以被專用軟件組件來處理 以供實施。使用至少一個中間表示法的逐步轉換記錄了所有表示法之間的關系。 其允許捕獲可能(仍然)不具有預定義的低層技術斷言的非形式化操作要 求。這對于捕獲這種用于文檔編制目的的"缺少的鏈接"和對于關注后來 在相應的低層表示法上變得可用的情況是有用的。中間表示法具有可以被 IT技術員和高層用戶理解并檢查的另外優(yōu)點。轉換處理的基礎是具有低層技術上可強制的斷言作為其葉子的分類系 統(tǒng)(taxonomy)。該分類系統(tǒng)被存儲在中心注冊表和存儲庫10中。分類 系統(tǒng)將所有這種技術斷言組合并且將其分組為像"運行時間(runtime) "或"設計時間"或"改變"等的域。鏈接到技術斷言的是對它們 所表示的這種處理約束(例如,"最大響應時間")的易理解的描述。此 外,在一些域中可以允許"自由文本"條目。對于每個這種低層技術斷 言,存在附接到分類系統(tǒng)的專用翻譯器組件,該翻譯器組件允許從低層表 示法生成可讀表示法。因此,即使是技術上沒有經驗的用戶也可以評估最 初非形式化的操作要求是否已被正確地轉換。為給定的非形式化要求生成低層技術斷言的反向處理被參照由注冊表 IO所提供并且在圖3中所示出的圖形用戶界面(GUI)來說明。轉換開始于非結構化的表述,例如文字處理文件21。文字處理文件21被存儲在中心注冊表10中,由于SOA對象也被在注冊表10中表示,因此文字處理文 件21可以被附接于其所應用于的SOA對象(圖3中未示出)。這通過注 冊表10的以下數據模型而變得可能,所述數據模型允許創(chuàng)建操作要求的 非形式化表述與一個或多個SOA對象之間的關聯。如圖3所示,非形式化文檔21的包括非形式化要求的部分25可以被 突出顯示。在GUI20的有關窗口28中,用戶可以從要求文檔21的突出部 分25中構建一個或多個半形式化表示法29。這是上述中間表示法的另一 個示例。在--個實施例中,部分25和相應斷言之間的鏈接是通過選擇文檔部 分25所涉及的(一個或多個)域(來自前述分類系統(tǒng))并且通過選擇適 當的低層技術斷言而完成的。這種選擇可以涉及新斷言的模板的顯示,該 新斷言然后可以被填充一個或多個參數來反映具體操作要求。圖4a和圖 4b示出用于定制"運行時間"域的模板的具有各種參數的許多輸入可能性 的示例性窗口 30和31。非形式化文檔21中的部分25可以引起多個低層技術斷言29,這些技 術斷言可以通過布爾表達式"AND (與)"、"OR (或)"等(圖3中 未示出)而被組合。由定制模板得到的低層技術斷言29也可以被存儲在 注冊表中并且被附接到同一 SOA對象。另外,這些斷言被鏈接到文檔中 的包含最初的非形式化操作要求的突出顯示部分25。所述轉換處理也可以是多級處理,其中,非形式化要求文檔最初被轉 換為第一中間表示法,其在另一轉換步驟中在第二中間表示法中變得更加 形式化,直到最終獲得低層技術斷言。不管中間表示法的數目,整個轉換處理允許檢查和驗證從非形式化到 形式化且機器可執(zhí)行的表示法的翻譯并且允許容易地識別將適用于改變高 層要求的低層約束。在一個實施例中,可以通過文本挖掘(text mining)功能來分析部分25的非結構化文本以找到可能與到更低層斷言的轉換有關的段落。這些段 落可以被突出顯示并被用一個或多個適當的低層斷言來自動注釋。然后,這些提議必須被用戶校驗或校正。在另一個實施例中,非形式化操作要求文檔涉及一組SOA對象,或者涉及一種類型的SOA對象(例如,應用于所有的web服務)或者涉及 "垂直"組的交互SOA對象(例如,整個處理、使該處理受影響的兩個 web服務,以及部署這些web服務的應用服務器)。上述轉換處理在這種 情形下允許將非形式文本中的段落與附接到多個SOA對象的技術斷言相 聯系。
權利要求
1.一種用于包括多個處理對象(B、BP1…BPn、WS1…WSn)的面向服務的體系結構的注冊表(10),該注冊表(10)包括a.多個用于所述多個面向服務的體系結構的對象(B、BP1…BPn、WS1…WSn)的非形式化操作要求(25);b.多個用于所述多個面向服務的體系結構的對象的技術斷言(15);以及c.多個鏈接,將每個非形式化操作要求(25)鏈接到所述注冊表(10)的至少一個技術斷言(15)。
2. 如權利要求1所述的注冊表(10),還針對每個鏈接包括相應的非 形式化操作要求(25)的中間表示法(29)。
3. 如權利要求2所述的注冊表,還包括至少一個未被鏈接到技術斷言 (15)的非形式化操作要求(21)的中間表示法(29)。
4. 如權利要求2或3中任一項所述的注冊表(10),包括示出至少一 個非形式化操作要求(25)和至少一個被鏈接的技術斷言(15)的中間表 示法(29)的圖形用戶界面(20)。
5. 如在前權利要求中任一項所述的注冊表(10),其中,所述圖形用 戶界面(20)適用于將至少兩個技術斷言(15)鏈接到同一非形式化操作 要求(25),其中,所述至少兩個技術斷言(15)可以通過布爾表達式而 被組合。
6. 如權利要求4或5所述的注冊表(10),其中,所述圖形用戶界面 (20)適用于示出模板,該模板用于選擇將被鏈接到非形式化操作要求 (25)的適當技術斷言(15)。
7. 如在前權利要求中任一項所述的注冊表(10),還包括將用于所述 多個面向服務的體系結構的對象(B、 BPl…BPn、 WSl…WSn)的技術斷 言(15)分組為域的分類系統(tǒng)。
8. 如在前權利要求中任一項所述的注冊表,還包括至少一個將單個非 形式化操作要求(25)鏈接到對于多個面向服務的體系結構的對象(B、BPl…BPn、 WSl…WSn)有效的技術斷言的鏈接。
9. 一種用于實現如在前權利要求中任一項所述的注冊表(10)的計算 機程序。
10. —種方法,用于將多個對面向服務的體系結構的的對象(B、 BPl…BPn、 WSl…WSn)的非形式化操作要求(25)鏈接到多個技術斷 言(15),該方法包括對如權利要求1-8中任一項所述的注冊表(10)的 使用。
全文摘要
本發(fā)明涉及用于包括多個處理對象(B、BP1…BPn、WS1…WSn)的面向服務的體系結構的注冊表(10)。注冊表(10)包括多個對多個面向服務的體系結構的對象(B、BP1…BPn、WS1…WSn)的非形式化操作要求(25);多個用于多個面向服務的體系結構的對象(B、BP1…BPn、WS1…WSn)的技術斷言(15);以及多個鏈接,將每個非形式化操作要求(25)鏈接到所述注冊表(10)的至少一個技術斷言(15)。
文檔編號H04L29/08GK101266613SQ20081008542
公開日2008年9月17日 申請日期2008年3月14日 優(yōu)先權日2007年3月14日
發(fā)明者哈拉德·斯隆寧, 比約恩·布拉烏爾 申請人:軟件股份公司