專利名稱:用于數(shù)據(jù)處理環(huán)境中的動態(tài)供應(yīng)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及數(shù)據(jù)處理系統(tǒng)、面向服務(wù)的體系結(jié)構(gòu)和用戶接口。具體地說,本 發(fā)明提供了一種用于在諸如服務(wù)交付環(huán)境之類的數(shù)據(jù)處理系統(tǒng)環(huán)境中動態(tài)地引入要在供 應(yīng)解決方案期間使用的新組件的裝置和計算機(jī)方法。
背景技術(shù):
隨著面向服務(wù)的體系結(jié)構(gòu)的不斷普及,開始使用面向服務(wù)的模型開發(fā)解決方案。 當(dāng)需要在數(shù)據(jù)中心環(huán)境內(nèi)部署基于服務(wù)的解決方案時,供應(yīng)必須確保已供應(yīng)和啟動解決方 案使用的所有服務(wù)。無法實現(xiàn)上述操作將導(dǎo)致解決方案在運行時失敗?,F(xiàn)有的系統(tǒng)支持在實現(xiàn)系統(tǒng)時定義的組件。對于這些組件,參數(shù)和相關(guān)性都是公 知的。但是,隨著解決方案變得更為復(fù)雜,無法靜態(tài)地定義交付托管環(huán)境時的所有必要的組 件及其要求。由于經(jīng)由常規(guī)用戶接口定義用于收集有關(guān)每個必要組件(prerequisite)及其參 數(shù)的信息的屏幕,因此有必要能夠在引入組件時指定每個服務(wù)/組件的要求以及接下來使 用此信息在提交供應(yīng)請求期間選擇呈現(xiàn)給用戶的屏幕。由于提交請求的用戶所扮演的角色 和具有的專業(yè)知識可能不同于定義服務(wù)/組件的用戶并因此可能缺乏必要的知識,所以還 必須在引入服務(wù)時定義每個參數(shù)的限制。但是,傳統(tǒng)的供應(yīng)系統(tǒng)和用戶接口并未充分考慮到在運行時添加組件。
發(fā)明內(nèi)容
本發(fā)明的原理提供了用于在諸如服務(wù)交付環(huán)境之類的數(shù)據(jù)處理系統(tǒng)環(huán)境中動態(tài) 地引入要在供應(yīng)解決方案期間使用的新組件的技術(shù)。例如,一種在管理數(shù)據(jù)處理系統(tǒng)中組件供應(yīng)的供應(yīng)系統(tǒng)中的動態(tài)地在所述數(shù)據(jù)處 理系統(tǒng)中供應(yīng)一個或多個新組件的自動化方法包括所述供應(yīng)系統(tǒng)執(zhí)行以下步驟。所述供應(yīng) 系統(tǒng)在所述數(shù)據(jù)處理系統(tǒng)的運行時期間接受新組件的注冊,其中所述新組件在所述運行時 期間之前未在所述數(shù)據(jù)處理系統(tǒng)中事先注冊,并且進(jìn)一步地,其中所述注冊包括獲取有關(guān) 一個或多個必要組件和與所述新組件關(guān)聯(lián)的配置中的至少一個的信息。所述供應(yīng)系統(tǒng)響 應(yīng)于供應(yīng)請求而允許選擇已注冊的新組件。所述供應(yīng)系統(tǒng)通過使能在所述數(shù)據(jù)處理系統(tǒng)中 使用所述已注冊的新組件來實現(xiàn)對所述數(shù)據(jù)處理系統(tǒng)的修改(例如,擴(kuò)展所述數(shù)據(jù)處理系 統(tǒng))。例如,在服務(wù)交付環(huán)境中提交供應(yīng)請求涉及選擇被托管的解決方案所需的服務(wù)和 中間件組件。這些要求可包括-必要的中間件(例如,數(shù)據(jù)庫、處理和門戶服務(wù)器等)以及 服務(wù)組件(安全、監(jiān)視等)的規(guī)范。當(dāng)指定這些必要組件和服務(wù)中的每個組件和服務(wù)時,用 戶指定配置參數(shù)(例如,服務(wù)器位置、端口、用戶標(biāo)識符、密碼等)。這些參數(shù)對于每個中間 件組件而言都是不同的。有利地,本發(fā)明的原理提供了用于在服務(wù)交付環(huán)境中動態(tài)地引入要在供應(yīng)解決方案期間使用的新組件的技術(shù),以便減少或消除現(xiàn)有技術(shù)中的缺點。例如,通過允許在運行時 動態(tài)地引入新的供應(yīng)組件,同時提供所述組件的必要條件和配置的元數(shù)據(jù)描述以及稍后在 組件供應(yīng)中使用此信息的供應(yīng)系統(tǒng)而實現(xiàn)了此目標(biāo)。通過結(jié)合附圖閱讀下面對本發(fā)明的示例性實施例的詳細(xì)說明,本發(fā)明的上述和其 他目標(biāo)、特性和優(yōu)點將變得顯而易見。
圖1示出了其中可實現(xiàn)示例性實施例的數(shù)據(jù)處理系統(tǒng)網(wǎng)絡(luò)的圖形表示;圖2示出了其中可實現(xiàn)示例性實施例的數(shù)據(jù)處理系統(tǒng)的方塊圖;圖3示出了根據(jù)一個示例性實施例的管理系統(tǒng)的邏輯體系結(jié)構(gòu)的示意圖;圖4示出了根據(jù)示例性實施例的在將新組件引入供應(yīng)系統(tǒng)期間使用的樣例XML描 述符的實例;圖5包含示出根據(jù)一個示例性實施例的在注冊新組件和新服務(wù)期間執(zhí)行的步驟 的流程圖;圖6A和6B包含示出根據(jù)示例性實施例的在提交供應(yīng)請求的用戶接口提交中選擇 已注冊的組件和服務(wù)期間執(zhí)行的步驟的流程圖;圖6A示出了整體流程,而圖6B進(jìn)一步示出 了圖6A中涉及根據(jù)示例性實施例的針對每個單獨組件重復(fù)的步驟的步驟606 ;以及圖7包含示出根據(jù)一個示例性實施例的在擴(kuò)展現(xiàn)有環(huán)境期間執(zhí)行的步驟的流程 圖。
具體實施例方式應(yīng)該理解,術(shù)語“運行時”通常指計算機(jī)程序(或系統(tǒng))從程序開始執(zhí)行到程序終 止之間的運行。具體而言,根據(jù)本發(fā)明的原理,術(shù)語“運行時”指客戶實際使用系統(tǒng)的時間 (處于不能再對系統(tǒng)的設(shè)計和實施方式進(jìn)行更改的生產(chǎn)階段),與系統(tǒng)仍處于設(shè)計和開發(fā) 階段相對。在一個優(yōu)選實施例中,術(shù)語“組件”指可以單獨安裝在一個或多個計算機(jī)上并且然 后可以由其他中間件組件或應(yīng)用使用的一個中間件。例如,組件可以是諸如由Oracle數(shù)據(jù) 庫服務(wù)器、IBM Filenet或WeblogicApplication Server執(zhí)行的軟件。在更一般的情況下, “組件”可以是任何能夠被安裝和配置為由其他組件或解決方案使用的元素。在一個優(yōu)選實施例中,術(shù)語“解決方案”指提供特定業(yè)務(wù)能力的軟件應(yīng)用,例如人 力資源應(yīng)用、在線銀行應(yīng)用或貸款核準(zhǔn)應(yīng)用。解決方案通常部署在已安裝的中間件組件之 上的一個或多個計算機(jī)系統(tǒng)上。在更一般的情況下,術(shù)語“解決方案”可以指一組提供特定 業(yè)務(wù)能力的組件,這些組件將其他已供應(yīng)的組件用作必要組件。現(xiàn)在參考附圖,具體地說,參考圖1-2,它們提供了其中可以實現(xiàn)各實施例的數(shù)據(jù) 處理環(huán)境的示意圖。應(yīng)該理解,圖1-2僅是示意性的,并非旨在斷言或暗示對其中可以實現(xiàn) 各實施例的環(huán)境的任何限制??梢栽诓黄x示例性實施例的精神和范圍的情況下對所示環(huán) 境做出許多更改。現(xiàn)在參考附圖,圖1示出了其中可以實現(xiàn)示例性實施例的數(shù)據(jù)處理系統(tǒng)網(wǎng)絡(luò)的圖 形表示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是其中可以實現(xiàn)各實施例的計算機(jī)網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,網(wǎng)絡(luò)102是用于提供網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的各種設(shè)備 和計算機(jī)之間的通信鏈路的介質(zhì)。網(wǎng)絡(luò)102可以包括諸如有線、無線通信鏈路或光纜之類 的連接。在所示實例中,服務(wù)器104和服務(wù)器106連同存儲單元108—起與網(wǎng)絡(luò)102相連。 此外,客戶機(jī)110、112和114也與網(wǎng)絡(luò)102相連。這些客戶機(jī)110、112和114可以例如是 個人計算機(jī)或網(wǎng)絡(luò)計算機(jī)。在所示實例中,服務(wù)器104將諸如引導(dǎo)文件、操作系統(tǒng)映像以及 應(yīng)用之類的數(shù)據(jù)提供給客戶機(jī)110、112和114??蛻魴C(jī)110、112和114在此實例中是服務(wù) 器104的客戶機(jī)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可以包括其他服務(wù)器、客戶機(jī)以及其他未示出的 設(shè)備。在所示實例中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是因特網(wǎng),其中網(wǎng)絡(luò)102代表全球范圍內(nèi)使 用傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)協(xié)議集來相互通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的集合。在因特網(wǎng) 的核心是主節(jié)點或主機(jī)之間的高速數(shù)據(jù)通信線路的主干,它包括數(shù)以千計的商業(yè)、政府、教 育以及其他路由數(shù)據(jù)和消息的計算機(jī)系統(tǒng)。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100也可以被實現(xiàn)為 許多不同類型的網(wǎng)絡(luò),例如企業(yè)內(nèi)部互聯(lián)網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。圖1旨在作為 一個實例,并非旨在作為對不同實施例的體系結(jié)構(gòu)限制?,F(xiàn)在參考圖2,它是其中可以實現(xiàn)示例性實施例的數(shù)據(jù)處理系統(tǒng)的方塊圖。數(shù)據(jù)處 理系統(tǒng)200是計算機(jī)(如圖1中的服務(wù)器104或客戶機(jī)110)的實例,實現(xiàn)所述實施例的過 程的計算機(jī)可用代碼或指令可以位于其中。在所示實例中,數(shù)據(jù)處理系統(tǒng)200采用包括北橋及存儲控制器集線器(MCH) 202和 南橋及輸入/輸出(I/O)控制器集線器(ICH) 204的集線器體系結(jié)構(gòu)。處理器206、主存儲 器208以及圖形處理器210與北橋及存儲控制器集線器202相連。圖形處理器210可以通 過加速圖形端口(AGP)與MCH相連。在所示實例中,局域網(wǎng)(LAN)適配器212與南橋及I/O控制器集線器204相連并 且音頻適配器216、鍵盤和鼠標(biāo)適配器220、調(diào)制解調(diào)器222、只讀存儲器(ROM) 224、通用串 行總線(USB)端口和其他通信端口 232,以及PCI/PCIe設(shè)備234通過總線238與南橋及I/ 0控制集線器204相連,硬盤驅(qū)動器(HDD) 226和⑶-ROM驅(qū)動器230通過總線240與南橋及 I/O控制集線器204相連。PCI/PCIe設(shè)備可以包括例如以太網(wǎng)適配器、外接卡以及筆記本 計算機(jī)的PC卡。PCI使用卡總線控制器,而PCIe則不使用。ROM 224可以例如是閃速二進(jìn) 制輸入/輸出系統(tǒng)(BIOS)。硬盤驅(qū)動器226和CD-ROM 230可以使用例如集成驅(qū)動器電子 設(shè)備(IDE)或串行高級技術(shù)附件(SATA)接口。超級I/0(SI0)設(shè)備236可以與南橋及1/0 控制集線器204相連。操作系統(tǒng)在處理器206上運行并且協(xié)調(diào)和提供對圖2中的數(shù)據(jù)處理系統(tǒng)200內(nèi)的 各種組件的控制。所述操作系統(tǒng)可以是諸如Microsoft Windows XP(Microsoft和 Windows是Microsoft Corporation在美國和/或其他國家/地區(qū)的商標(biāo))之類的商用操 作系統(tǒng)。諸如Java 編程系統(tǒng)之類的面向?qū)ο蟮木幊滔到y(tǒng)可以與操作系統(tǒng)一起運行并從在 數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的Java程序或應(yīng)用來提供對操作系統(tǒng)的調(diào)用(Java和所有基于 Java的商標(biāo)是Sun Microsystems, Inc.在美國和/或其他國家/地區(qū)的商標(biāo))。操作系統(tǒng)、面向?qū)ο蟮木幊滔到y(tǒng)以及應(yīng)用或程序的指令位于諸如硬盤驅(qū)動器226 之類的存儲設(shè)備上,并可以加載到主存儲器208中以便由處理器206執(zhí)行。示例性實施例的過程可以由處理器206使用計算機(jī)實現(xiàn)的指令來執(zhí)行,所述計算機(jī)實現(xiàn)的指令可以位于諸 如主存儲器208、只讀存儲器224之類的存儲器之中,也可以位于一個或多個外圍設(shè)備中。圖1-2中的硬件可以根據(jù)實施方式而不同。除了圖1-2中所示的硬件以外,或替 代圖1-2中所示的硬件,還可以使用諸如閃存、等效的非易失性存儲器或光盤驅(qū)動器之類 的其他內(nèi)部硬件或外圍設(shè)備。此外,示例性實施例的各過程還可以應(yīng)用于多處理器數(shù)據(jù)處 理系統(tǒng)。在某些示例性實例中,數(shù)據(jù)處理系統(tǒng)200可以是個人數(shù)字助理(PDA),所述PDA通 常具備閃存以提供用于存儲操作系統(tǒng)文件和/或用戶生成的數(shù)據(jù)的非易失性存儲器??偩€ 系統(tǒng)可以包括諸如系統(tǒng)總線、I/O總線和PCI總線之類的一條或多條總線。當(dāng)然,可使用在 與通信結(jié)構(gòu)或體系結(jié)構(gòu)相連的不同組件或設(shè)備之間提供數(shù)據(jù)傳輸?shù)娜魏晤愋偷慕Y(jié)構(gòu)或體 系結(jié)構(gòu)來實現(xiàn)所述總線系統(tǒng)。通信單元可以包括一個或多個用于發(fā)送和接收數(shù)據(jù)的設(shè)備, 例如調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。存儲器可以例如是主存儲器208或諸如在北橋及存儲控制 器集線器202中找到的高速緩存。處理單元可以包括一個或多個處理器或中央處理單元 (CPU)。圖1-2中所示的實例及上述實例并非旨在暗示體系結(jié)構(gòu)限制。例如,數(shù)據(jù)處理系統(tǒng) 200還可以是除了采用PDA形式以外的平板計算機(jī)、膝上型計算機(jī)或電話設(shè)備。示例性實施例提供了用于編譯源代碼的計算機(jī)實現(xiàn)的方法、數(shù)據(jù)處理系統(tǒng)和計算 機(jī)可用程序代碼。示例性實施例的計算機(jī)實現(xiàn)的方法可以在諸如圖1中示出的數(shù)據(jù)處理系 統(tǒng)100或圖2中示出的數(shù)據(jù)處理系統(tǒng)200之類的數(shù)據(jù)處理系統(tǒng)中執(zhí)行。圖3示出了根據(jù)示例性實施例的系統(tǒng)的邏輯體系結(jié)構(gòu)的示意圖。處理被分為三個 主要部分(1)新組件和新服務(wù)的注冊,(2)在提交供應(yīng)請求的用戶接口中選擇已注冊的組 件和服務(wù),以及(3)擴(kuò)展現(xiàn)有環(huán)境。用戶經(jīng)由管理用戶接口(301)或通過將采用預(yù)定格式 的組件描述符直接提供給組件注冊管理器(304)來將新組件引入系統(tǒng)。在一個優(yōu)選實施 例中,使用XML(可擴(kuò)展標(biāo)記語言)指定組件描述,但是本領(lǐng)域的技術(shù)人員可以找到其他描 述組件的方法(例如,統(tǒng)一建模語言或UML、文本、JAVA屬性文件)。如果經(jīng)由用戶接口或 UI (301)引入新組件,則管理用戶接口(301)的組件注冊處理子組件(302)處理信息并將組 件描述符傳遞到組件注冊管理器(304)。組件注冊管理器(304)使用數(shù)據(jù)管理器(305)處 理組件描述符,生成新組件和現(xiàn)有組件之間的交叉引用并將信息存儲在數(shù)據(jù)庫(306)中。 它還使用策略管理器(307)處理新組件的策略并將其保存在存儲庫(308)中。組件描述符 中可以存在的策略的一個實例為共享策略,此類策略將指定組件是在供應(yīng)系統(tǒng)中的所有中 間件棧間共享、在單個中間件棧上部署的所有解決方案(產(chǎn)品)間共享,還是在單個解決方 案的所有使用者(用戶)間共享。策略的另一實例為并置策略,此類策略描述是否可以將 組件與其他組件部署在同一刀片上以及在可以的情況下,能夠與哪個組件并置。如上所述將組件引入系統(tǒng)之后,可以選擇所述組件以供應(yīng)新的中間件棧或擴(kuò)展現(xiàn) 有環(huán)境。用戶使用管理用戶接口(301)的供應(yīng)屏幕(303)供應(yīng)完整的中間件?;蚴褂眯陆M 件擴(kuò)展現(xiàn)有棧。在一個優(yōu)選實施例中,供應(yīng)UI (303)使用向?qū)崿F(xiàn),其中每個組件的信息顯 示在單獨的屏幕上,但是本領(lǐng)域中的技術(shù)人員可以實施其他實現(xiàn)。一旦選定了組件及其配置,請求便被傳遞到供應(yīng)選定服務(wù)器上的每個選定組件的 供應(yīng)管理器(309)。例如,在圖3中,用戶選擇供應(yīng)流程服務(wù)器(Process server) (310)、使 用DB2(311)的門戶服務(wù)器(315)、內(nèi)容管理器及其必要組件(312)、WebSphere Edge組件
7(313)并且使用遠(yuǎn)程計量和監(jiān)視服務(wù)(314)。圖4示出了可以在注冊新組件或新服務(wù)期間使用的樣例組件描述符。每個新組件 或新服務(wù)都包含以下在注冊時(通過在UI上輸入?yún)?shù)或通過包括部署描述符或通過這兩 種方法的組合)指定的信息-服務(wù)/組件名稱及版本-共享服務(wù)/中間件組件標(biāo)志,其指示需要如何提交供應(yīng)請求的;共享服務(wù)可以是 遠(yuǎn)程服務(wù),所以這些服務(wù)的服務(wù)器可以是遠(yuǎn)程URL (統(tǒng)一資源定位符)。-共享策略_跨產(chǎn)品/使用者/跨所有中間件棧等-在UI中,這具體用于在選擇執(zhí)行供應(yīng)的服務(wù)器時判定是否可以使用已安裝組件 的服務(wù)器。_預(yù)安裝標(biāo)志-是否預(yù)安裝了的新組件,還是需要/可以在供應(yīng)中間件棧以便托管 解決方案時供應(yīng)新組件。-如果在安裝中間件棧期間選擇了該組件,則影響顯示哪些服務(wù)器-必要組件要求_本地必要組件-安裝在同一機(jī)器上;必要組件必須對UI而言是“已知的”并且在 引入組件時進(jìn)行選擇-可以遠(yuǎn)程訪問的必要組件/相關(guān)性-在安全域(cell)(例如,WebSEAL和ΤΑΜ) 中必須存在的其他組件(名稱和版本)的列表。(在另一實施例中,可以一起引入一組相關(guān) 組件)。_并置策略-組件是否可以與其他組件部署在同一服務(wù)器上;還可以動態(tài)地確 定-例如,必要組件版本是否沖突;或者可以基于硬件要求;-硬件要求(可以在確定并置策略時使用)-所需的服務(wù)器類型;在一個優(yōu)選實施例中,服務(wù)器根據(jù)其使用、并置和位置(例 如,位于防火墻后)-TPM (用于執(zhí)行供應(yīng)的服務(wù)器),WebSeal服務(wù)器(位于防火墻后并僅用 于托管Webseal)而被分為三個池,-在供應(yīng)期間該組件所需的附加服務(wù)器數(shù)1、“0或更多”(UI允許多個選擇)-需要在UI(除服務(wù)器之外)上提供的具有輸入驗證類型(int/url/email/最大 長度/端口)的附加參數(shù)列表,類似于現(xiàn)有技術(shù)中存在的UI類型定義-組件是否可以被添加到已供應(yīng)的中間件棧?可以考慮其他參數(shù)。在某些實施例中,僅需輸入以上參數(shù)中的某些參數(shù),而其他參 數(shù)可以是默認(rèn)的。在其他實施例中,可以在UI中指定部署描述符的位置,而從所述描述符 讀取其他參數(shù)。在更復(fù)雜的情況下,描述符可以包括到處理器的鏈接(例如,Java類),所 述鏈接可以提供用戶接口上的字段(或提供應(yīng)用編程接口或API以獲取字段信息)或執(zhí)行 它自己的驗證或服務(wù)器選擇過程。圖5是示出新組件處理的第一部分(即,新組件或新服務(wù)的注冊)的流程圖。在圖5A中示出的基于UI的注冊中,用戶在步驟(501)選擇定義管理UI (301)的 新組件特性,如上所述輸入組件信息,從UI (301)提供的已注冊組件(502)的列表中選擇必 要組件。如果未找到所需的必要組件,也可以在此步驟注冊該組件。管理UI的組件注冊子 組件(302)執(zhí)行最小程度上的信息處理(503),然后將信息傳遞到組件注冊管理器(304)。
8所述組件注冊管理器在步驟504處理信息,交叉引用新組件及其必要組件,提取相關(guān)策略, 然后使用策略管理器(307)和數(shù)據(jù)管理器(305)將信息存儲在數(shù)據(jù)庫(306、308)中。在備 選實施例中,所有處理均可以通過用戶接口完成或者可以使用附加處理器。在圖5B中的使用部署描述符和命令行接口的注冊中,用戶創(chuàng)建部署描述符 (505),發(fā)出注冊組件的命令(506)。所述命令調(diào)用如上所述注冊組件(504)的組件注冊管 理器(304)。圖6A和6B是示出組件處理的第二部分(即,在提交供應(yīng)請求的UI中選擇已注冊 的組件和服務(wù))的流程圖。圖6A示出了整體處理,而圖6B顯示了處理每個單獨組件(步 驟606)的細(xì)節(jié)。在圖6A中,用戶在步驟601使用選項提交供應(yīng)請求。在步驟602,管理UI (301)允 許用戶選擇所需的組件和服務(wù)。在用戶選擇組件和服務(wù)之后(602),管理UI (301)檢驗每個 組件的必要組件,在必要時將必要組件添加到列表(603)。管理UI (301)然后確定必要的向 導(dǎo)屏幕以從用戶處獲取必要的配置信息(604)。在一個優(yōu)選實施例中,每個選定組件都導(dǎo)致 顯示向?qū)聊?。在一個備選實施例中,可以在單個頁面上呈現(xiàn)信息。在又一實施例中,相關(guān) 組件可以在單個屏幕上歸為一組,而針對不相關(guān)的組件使用不同的屏幕。諸如按物理服務(wù) 器或按必要組件分組的其他實施例也是可能的。對于每個組件和服務(wù),由在注冊期間提供 的元數(shù)據(jù)定義組件的屏幕內(nèi)容(圖5)。然后向用戶呈現(xiàn)每個單獨的屏幕(605-607)。獲取 有關(guān)下一組件屏幕的信息,確定屏幕內(nèi)容并獲取用戶輸入(607,圖6B)。當(dāng)處理了所有組件 時(608),將供應(yīng)請求提交(609)到供應(yīng)管理器(309)。圖6B進(jìn)一步示出了對圖6A中的步驟606中引用的每個單獨組件的處理。對于每 個單獨的組件,根據(jù)如圖5中所述的注冊期間提供的元數(shù)據(jù)定義屏幕內(nèi)容。首先,從數(shù)據(jù)管 理器(305)獲取組件元數(shù)據(jù)(609)。如果“預(yù)安裝”標(biāo)志設(shè)為“真”,則說明已安裝了組件。 在這種情況下,在屏幕上顯示允許用戶輸入組件的服務(wù)器名或URL(如元數(shù)據(jù)中定義)的 輸入字段(611)。如果元數(shù)據(jù)中的“預(yù)安裝”標(biāo)志設(shè)為“偽”(610),則提供服務(wù)器選擇微件 (widget)??晒┻x擇的服務(wù)器的列表包含按元數(shù)據(jù)設(shè)置過濾的服務(wù)器列表。在步驟612使 用數(shù)據(jù)管理器(305)和策略管理器(307)獲取組件服務(wù)器選擇元數(shù)據(jù)和共享策略。在步驟 613,經(jīng)由數(shù)據(jù)管理器(305)從數(shù)據(jù)庫(306)獲取指定組(例如,DMZ、Application Zone、 Management Zone等)中的可用服務(wù)器的列表;該列表可以進(jìn)一步通過在步驟612從數(shù)據(jù) 庫獲取的OS和容量要求進(jìn)行限制。此外,可以進(jìn)一步通過根據(jù)每個可用服務(wù)器上已安裝的 軟件和該請求中計劃的部署進(jìn)行檢查的必要組件限制該列表。例如,僅接受Linux服務(wù)器 或具有特定容量的服務(wù)器或已安裝必要組件的服務(wù)器。如果從策略管理器(307)獲取的策 略指示組件的“共享”標(biāo)志設(shè)為“真”(614),則將已安裝該組件或服務(wù)的服務(wù)器添加到列表 中(615)。還可潛在地通過諸如負(fù)載和安全性之類的管理策略限制已安裝組件/服務(wù)的服 務(wù)器的列表。一旦最后確定了列表,便可創(chuàng)建選擇微件(616)。在一個備選實施例中,步驟 611中的輸入字段也可以被選擇微件所替換,所述選擇微件包含已安裝該組件或服務(wù)以及 可以輸入遠(yuǎn)程服務(wù)器作為輸入的本地服務(wù)器列表。其他實施例對于本領(lǐng)域技術(shù)人員也將是 顯而易見的。在步驟617,從數(shù)據(jù)管理器(305)獲取需要用戶輸入的組件或服務(wù)參數(shù)及其類型, 并向用戶呈現(xiàn)包括服務(wù)器輸入字段(來自步驟611)或選擇微件(616)以及其他參數(shù)(來自步驟617)的最終屏幕(618),并且獲取和驗證用戶輸入(619)。字段的格式以及驗證基 于在部署描述符中指定且存儲在數(shù)據(jù)庫(306)中的組件屬性的描述。呈現(xiàn)和驗證屬性的方 法不在本披露的范圍內(nèi)并且可以利用諸如XForm或其他公知方法之類的現(xiàn)有成果。
一旦提供了環(huán)境(如圖6A和6B中所示),解決方案便可共享該環(huán)境,但是使用其 他已注冊的組件或服務(wù)擴(kuò)展該環(huán)境。圖7是示出組件處理的第三部分(S卩,擴(kuò)展現(xiàn)有環(huán)境) 的流程圖。在此,用戶檢查當(dāng)前部署的中間件棧(多個)并選擇所需的目標(biāo)環(huán)境以便供應(yīng) 新的解決方案(701)。UI限制可以通過該部署使用的已注冊組件/服務(wù)的列表(702)。該 列表將包含根據(jù)其描述可以被添加到現(xiàn)有安全域并不會與當(dāng)前安全域配置沖突的中間件 組件。它們可以是仍需供應(yīng)的新組件或現(xiàn)有的共享組件或服務(wù)。用戶然后從列表中選擇新 組件(703)并繼續(xù)指定選定組件的參數(shù),如從圖6A的步驟603開始的圖6A和6B中所示。
本發(fā)明可以采用完全硬件實施例、完全軟件實施例或包含硬件和軟件元素兩者的 實施例的方式。在一個優(yōu)選實施例中,本發(fā)明以軟件實現(xiàn),所述軟件包括但不限于固件、駐 留軟件、微代碼等。此外,本發(fā)明可以采取可從計算機(jī)可用或計算機(jī)可讀介質(zhì)訪問的計算機(jī)程序產(chǎn)品 的形式,所述計算機(jī)可用或計算機(jī)可讀介質(zhì)提供了可以被計算機(jī)或任何指令執(zhí)行系統(tǒng)使用 或與計算機(jī)或任何指令執(zhí)行系統(tǒng)結(jié)合的程序代碼。出于此描述的目的,計算機(jī)可用或計算 機(jī)可讀介質(zhì)可以是任何能夠包含或存儲由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與所述指令執(zhí) 行系統(tǒng)、裝置或設(shè)備結(jié)合的程序的有形裝置。所述介質(zhì)可以是電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)。計 算機(jī)可讀存儲介質(zhì)的實例包括半導(dǎo)體或固態(tài)存儲器、磁帶、可移動計算機(jī)盤、隨機(jī)存取存 儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當(dāng)前實例包括光盤-只讀存儲器 (CD-ROM)、光盤-讀 / 寫(CR-R/W)和 DVD。適于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括至少一個直接或通過系統(tǒng) 總線間接連接到存儲器元件的處理器。所述存儲器元件可以包括在程序代碼的實際執(zhí)行期 間采用的本地存儲器、大容量存儲裝置以及提供至少某些程序代碼的臨時存儲以減少必須 在執(zhí)行期間從大容量存儲裝置檢索代碼的次數(shù)的高速緩沖存儲器。輸入/輸出或I/O設(shè)備(包括但不限于鍵盤、顯示器、指點設(shè)備等)可以直接或通 過中間I/O控制器與系統(tǒng)相連。網(wǎng)絡(luò)適配器也可以被連接到系統(tǒng)以使所述數(shù)據(jù)處理系統(tǒng)能夠通過中間專用或公 共網(wǎng)絡(luò)變得與其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲設(shè)備相連。調(diào)制解調(diào)器、電纜調(diào)制解 調(diào)器和以太網(wǎng)卡只是當(dāng)前可用的網(wǎng)絡(luò)適配器類型中的少數(shù)幾種。出于示例和說明目的給出了對本發(fā)明的描述,并且所述描述并非旨在是窮舉的或 是將本發(fā)明限于所公開的形式。對于本領(lǐng)域的技術(shù)人員來說,許多修改和變化都將是顯而 易見的。實施例的選擇和描述是為了最佳地解釋本發(fā)明的原理、實際應(yīng)用,并且當(dāng)適合于所 構(gòu)想的特定使用時,使得本領(lǐng)域的其他技術(shù)人員能夠理解本發(fā)明的具有各種修改的各種實 施例。盡管此處參考附圖描述了本發(fā)明的示例性實施例,但是可以理解,本發(fā)明并不限 于這些精確的實施例,在不偏離本發(fā)明的范圍或精神的情況下,本領(lǐng)域的技術(shù)人員可以做 出各種其他更改和修改。
權(quán)利要求
1.一種在管理數(shù)據(jù)處理系統(tǒng)中組件供應(yīng)的供應(yīng)系統(tǒng)中的動態(tài)地在所述數(shù)據(jù)處理系統(tǒng) 中供應(yīng)一個或多個新組件的自動化方法,所述方法包括所述供應(yīng)系統(tǒng)執(zhí)行以下步驟在所述數(shù)據(jù)處理系統(tǒng)的運行時期間接受新組件的注冊,其中所述新組件在所述運行時 期間之前未在所述數(shù)據(jù)處理系統(tǒng)中事先注冊,并且進(jìn)一步地,其中所述注冊包括獲取有關(guān) 一個或多個必要組件和與所述新組件關(guān)聯(lián)的配置中的至少一個的信息;響應(yīng)于供應(yīng)請求,允許選擇已注冊的新組件;以及通過使能在所述數(shù)據(jù)處理系統(tǒng)中使用所述已注冊的新組件來實現(xiàn)對所述數(shù)據(jù)處理系 統(tǒng)的修改。
2.根據(jù)權(quán)利要求1的方法,其中所述新組件的注冊進(jìn)一步包括用戶經(jīng)由與所述供應(yīng) 系統(tǒng)關(guān)聯(lián)的用戶接口注冊所述新組件,以便用戶經(jīng)由所述用戶接口將有關(guān)一個或多個必要 組件和與所述新組件關(guān)聯(lián)的配置中的至少一個的信息輸入所述供應(yīng)系統(tǒng)。
3.根據(jù)權(quán)利要求1的方法,其中所述新組件的注冊進(jìn)一步包括用戶通過輸入部署描 述符注冊所述新組件。
4.根據(jù)權(quán)利要求1的方法,其中所述新組件的注冊進(jìn)一步包括與所述供應(yīng)系統(tǒng)關(guān)聯(lián) 的組件注冊管理模塊處理已獲取的有關(guān)一個或多個必要組件和與所述新組件關(guān)聯(lián)的配置 中的至少一個的信息。
5.根據(jù)權(quán)利要求4的方法,其中處理步驟進(jìn)一步包括所述組件注冊管理模塊交叉引 用已獲取的與所述新組件關(guān)聯(lián)的信息的至少一部分以及與所述數(shù)據(jù)處理系統(tǒng)中已注冊的 現(xiàn)有組件關(guān)聯(lián)的相應(yīng)信息。
6.根據(jù)權(quán)利要求4的方法,其中處理步驟進(jìn)一步包括所述組件注冊管理模塊確定至 少一個可應(yīng)用于所述新組件的策略。
7.根據(jù)權(quán)利要求6的方法,其中可應(yīng)用的策略進(jìn)一步包括一個或多個指示如何在所 述數(shù)據(jù)處理系統(tǒng)中共享所述新組件的策略。
8.根據(jù)權(quán)利要求1的方法,其中所述供應(yīng)系統(tǒng)響應(yīng)于供應(yīng)請求而允許選擇已注冊的新 組件的步驟進(jìn)一步包括用戶經(jīng)由與所述供應(yīng)系統(tǒng)關(guān)聯(lián)的用戶接口選擇所述已注冊的新組 件。
9.根據(jù)權(quán)利要求8的方法,其中用于選擇的用戶接口進(jìn)一步包括用于每個允許用戶 選擇的已注冊的組件的單獨屏幕。
10.根據(jù)權(quán)利要求1的方法,還包括以下步驟將所述新組件用作供應(yīng)另一新組件的必 要組件。
11.根據(jù)權(quán)利要求1的方法,其中所述新組件包括中間件組件、操作系統(tǒng)組件以及硬件 組件中的至少一個。
12.根據(jù)權(quán)利要求1的方法,其中所獲取的信息的形式為可擴(kuò)展標(biāo)記語言中描述的元 數(shù)據(jù)。
13.根據(jù)權(quán)利要求1的方法,其中必要組件包括本地必要組件和遠(yuǎn)程必要組件中的至 少一個。
14.根據(jù)權(quán)利要求1的方法,其中必要組件包括供應(yīng)該組件所需的服務(wù)器的類型和數(shù) 量中的至少一個的規(guī)范。
15.根據(jù)權(quán)利要求14的方法,其中所述規(guī)范進(jìn)一步包括縮減服務(wù)器選擇的過濾器。
16.一件用于經(jīng)由管理數(shù)據(jù)處理系統(tǒng)中組件供應(yīng)的供應(yīng)系統(tǒng)在所述數(shù)據(jù)處理系統(tǒng)中動 態(tài)地供應(yīng)一個或多個新組件的制品,所述制品包括其中包含一個或多個程序的計算機(jī)可讀 存儲介質(zhì),其中在由計算機(jī)執(zhí)行時,所述一個或多個程序?qū)?zhí)行以下步驟在所述數(shù)據(jù)處理系統(tǒng)的運行時期間接受新組件的注冊,其中所述新組件在所述運行時 期間之前未在所述數(shù)據(jù)處理系統(tǒng)中事先注冊,并且進(jìn)一步地,其中所述注冊包括獲取有關(guān) 一個或多個必要組件和與所述新組件關(guān)聯(lián)的配置中的至少一個的信息;響應(yīng)于供應(yīng)請求,允許選擇已注冊的新組件;以及通過使能在所述數(shù)據(jù)處理系統(tǒng)中使用所述已注冊的新組件來實現(xiàn)對所述數(shù)據(jù)處理系 統(tǒng)的修改。
17.一種在管理數(shù)據(jù)處理系統(tǒng)中組件供應(yīng)的供應(yīng)系統(tǒng)中的動態(tài)地在所述數(shù)據(jù)處理系統(tǒng) 中供應(yīng)一個或多個新組件的裝置,所述裝置包括存儲器;以及處理器,其在操作上與所述存儲器耦合并被配置為在所述數(shù)據(jù)處理系統(tǒng)的運行時期 間接受新組件的注冊,其中所述新組件在所述運行時期間之前未在所述數(shù)據(jù)處理系統(tǒng)中事 先注冊,并且進(jìn)一步地,其中所述注冊包括獲取有關(guān)一個或多個必要組件和與所述新組件 關(guān)聯(lián)的配置中的至少一個的信息;響應(yīng)于供應(yīng)請求,允許選擇已注冊的新組件;以及通過 使能在所述數(shù)據(jù)處理系統(tǒng)中使用所述已注冊的新組件來實現(xiàn)對所述數(shù)據(jù)處理系統(tǒng)的修改。
18.根據(jù)權(quán)利要求17的裝置,其中所述新組件的注冊進(jìn)一步包括用戶經(jīng)由用戶接口 注冊所述新組件,以便用戶經(jīng)由所述用戶接口將有關(guān)一個或多個必要組件和與所述新組件 關(guān)聯(lián)的配置中的至少一個的信息輸入所述供應(yīng)系統(tǒng)。
19.根據(jù)權(quán)利要求17的裝置,其中所述新組件的注冊進(jìn)一步包括用戶通過輸入部署 描述符注冊所述新組件。
20.根據(jù)權(quán)利要求17的裝置,其中所述新組件的注冊進(jìn)一步包括組件注冊管理模塊 處理已獲取的有關(guān)一個或多個必要組件和與所述新組件關(guān)聯(lián)的配置中的至少一個的信息。
21.根據(jù)權(quán)利要求20的裝置,其中處理步驟進(jìn)一步包括所述組件注冊管理模塊交叉 引用已獲取的與所述新組件關(guān)聯(lián)的信息的至少一部分以及與所述數(shù)據(jù)處理系統(tǒng)中已注冊 的現(xiàn)有組件關(guān)聯(lián)的相應(yīng)信息。
22.根據(jù)權(quán)利要求20的裝置,其中處理步驟進(jìn)一步包括所述組件注冊管理模塊確定 至少一個可應(yīng)用于所述新組件的策略。
23.根據(jù)權(quán)利要求22的裝置,其中可應(yīng)用的策略進(jìn)一步包括一個或多個指示如何在 所述數(shù)據(jù)處理系統(tǒng)中共享所述新組件的策略。
24.根據(jù)權(quán)利要求17的裝置,其中所述供應(yīng)系統(tǒng)響應(yīng)于供應(yīng)請求而允許選擇已注冊的 新組件的步驟進(jìn)一步包括用戶經(jīng)由用戶接口選擇所述已注冊的新組件。
25.根據(jù)權(quán)利要求24的裝置,其中用于選擇的用戶接口進(jìn)一步包括用于每個允許用 戶選擇的已注冊的組件的單獨屏幕。
全文摘要
披露了用于在諸如服務(wù)交付環(huán)境之類的數(shù)據(jù)處理系統(tǒng)環(huán)境中動態(tài)地引入要在供應(yīng)解決方案期間使用的新組件的技術(shù)。例如,在管理數(shù)據(jù)處理系統(tǒng)中組件供應(yīng)的供應(yīng)系統(tǒng)中,一種在所述數(shù)據(jù)處理系統(tǒng)中動態(tài)地供應(yīng)一個或多個新組件的自動化方法包括所述供應(yīng)系統(tǒng)執(zhí)行以下步驟。所述供應(yīng)系統(tǒng)在所述數(shù)據(jù)處理系統(tǒng)的運行時期間接受新組件的注冊,其中所述新組件在所述運行時期間之前未在所述數(shù)據(jù)處理系統(tǒng)中事先注冊,并且進(jìn)一步地,其中所述注冊包括獲取有關(guān)一個或多個必要組件和與所述新組件關(guān)聯(lián)的配置中的至少一個的信息。所述供應(yīng)系統(tǒng)通過使能在所述數(shù)據(jù)處理系統(tǒng)中使用所述已注冊的新組件來實現(xiàn)對所述數(shù)據(jù)處理系統(tǒng)的修改。
文檔編號H04M1/24GK102007756SQ200980113842
公開日2011年4月6日 申請日期2009年4月24日 優(yōu)先權(quán)日2008年4月24日
發(fā)明者A·A·卡爾夫, A·塞加爾, A·莫因德拉, R·A·倫德爾 申請人:國際商業(yè)機(jī)器公司