定義設(shè)計(jì)計(jì)劃的制作方法
【專利說明】
【背景技術(shù)】
[0001]定義云或其它計(jì)算模型可能是包括將具有嵌套功能和配置的各種不同服務(wù)和部件鏈接成一個(gè)工作模型的復(fù)雜體驗(yàn)。由于多個(gè)服務(wù)器提供商和需要進(jìn)行的一組變化連接類型,這個(gè)過程可能需要多個(gè)工具和各種文件處理。
【附圖說明】
[0002]圖1-9是用于定義設(shè)計(jì)計(jì)劃(design plan)的示例性用戶界面的示例性屏幕視圖。
[0003]圖10描繪根據(jù)一示例的系統(tǒng)。
[0004]圖11是描繪根據(jù)一示例的存儲(chǔ)資源和處理資源的框圖。
[0005]圖12是描繪為實(shí)現(xiàn)一示例所采取的步驟的流程圖。
[0006]具體實(shí)現(xiàn)方式
[0007]介紹:設(shè)計(jì)計(jì)劃表示其中各部件互連以便實(shí)現(xiàn)期望結(jié)果的系統(tǒng)。設(shè)計(jì)計(jì)劃可表示各種類型的拓?fù)?、工作流和體系結(jié)構(gòu)。示例性計(jì)劃可表示云體系結(jié)構(gòu),其中部件可包括基礎(chǔ)設(shè)施部件,例如服務(wù)器、存儲(chǔ)器和網(wǎng)絡(luò);位于基礎(chǔ)設(shè)施上的平臺(tái)部件;依賴于平臺(tái)來執(zhí)行的應(yīng)用部件;以及利用應(yīng)用部件來產(chǎn)生期望功能的服務(wù)部件。在另一示例中,設(shè)計(jì)計(jì)劃可表示服務(wù)、網(wǎng)絡(luò)元件或其它部件的拓?fù)?。對于工作流,每個(gè)部件可表示過程中的步驟。每個(gè)這樣的部件可由廣義計(jì)劃元件(plan element)表示。計(jì)劃元件是用于識別給定部件、規(guī)定部件的默認(rèn)參數(shù)并識別那個(gè)部件的連接兼容性的電子數(shù)據(jù)。兼容性定義了在設(shè)計(jì)計(jì)劃內(nèi)可以或允許連接至所表示的部件的部件或部件類型。
[0008]可通過創(chuàng)建在本文被稱為計(jì)劃工件(plan artifact)的工件來定義設(shè)計(jì)計(jì)劃。計(jì)劃工件是表示設(shè)計(jì)計(jì)劃的電子數(shù)據(jù),其可被電子化處理以實(shí)例化該設(shè)計(jì)計(jì)劃。工件例如可采取任何數(shù)量的電子形式,包括但不限于數(shù)據(jù)文件、文檔、腳本和可執(zhí)行模塊。在例如設(shè)計(jì)計(jì)劃表示服務(wù)拓?fù)涞膱龊?,?jì)劃工件可以是以與諸如T0SCA(面向云應(yīng)用的拓?fù)浜蜆I(yè)務(wù)流程規(guī)范)的標(biāo)準(zhǔn)兼容的格式規(guī)定所定義的拓?fù)涞碾娮訑?shù)據(jù)。以云體系結(jié)構(gòu)示例繼續(xù),計(jì)劃工件可表示基礎(chǔ)設(shè)施層、平臺(tái)層、應(yīng)用層、服務(wù)層或其任何組合。
[0009]下面描述的各種實(shí)施例被研發(fā)出來,用于定義設(shè)計(jì)計(jì)劃。實(shí)施例允許用戶與虛擬畫布(virtual canvas)交互,來選擇各種節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)表示廣義計(jì)劃元件。交互打開面向?qū)ο蟮慕缑娌藛?,允許用戶選擇期望節(jié)點(diǎn)以及節(jié)點(diǎn)在虛擬畫布上的放置。與虛擬畫布交互,用戶能夠修改所表示的計(jì)劃元件的參數(shù)。
[0010]另外的交互鏈接節(jié)點(diǎn)對,其又定義對應(yīng)的計(jì)劃元件對之間的連接??苫谒硎镜拿總€(gè)計(jì)劃元件的連接兼容性和節(jié)點(diǎn)在虛擬畫布上的相對定位來自動(dòng)化關(guān)于哪些節(jié)點(diǎn)被鏈接的決定。彼此相鄰的節(jié)點(diǎn)被自動(dòng)鏈接,只要連接對應(yīng)的計(jì)劃元件不違反它們的連接兼容性。也可基于由用戶定義的虛擬畫布路徑來定義或修改鏈接。例如,用戶可掃過畫布上穿過一組節(jié)點(diǎn)的路徑。那組節(jié)點(diǎn)將被鏈接,只要連接對應(yīng)的計(jì)劃元件不違反連接兼容性。
[0011]每個(gè)節(jié)點(diǎn)之間的鏈接視覺地顯示在虛擬畫布上。每個(gè)鏈接表示對應(yīng)的計(jì)劃元件之間的連接。那個(gè)連接至少部分地由一個(gè)或多個(gè)默認(rèn)參數(shù)定義。與給定鏈接交互的用戶能夠修改那些參數(shù)。使用所識別的節(jié)點(diǎn)、鏈接和各種參數(shù),可保存計(jì)劃工件。工件可被使用和重新使用以實(shí)例化所定義的設(shè)計(jì)計(jì)劃。
[0012]下面的描述分成幾部分。被標(biāo)記為“例證性示例”的第一部分提出用于定義設(shè)計(jì)計(jì)劃并創(chuàng)建對應(yīng)的計(jì)劃工件的所使用的用戶界面的示例性屏幕視圖。被標(biāo)記為“部件”的第二部分描述用于實(shí)現(xiàn)各種實(shí)施例的各種物理部件和邏輯部件的示例。被標(biāo)記為“操作”的第三部分描述為實(shí)現(xiàn)各個(gè)實(shí)施例所采取的步驟。
[0013]例證性示例:圖1描繪用于創(chuàng)建設(shè)計(jì)計(jì)劃工件的圖形用戶界面(GUI) 10的屏幕視圖。GUI 10包括虛擬畫布12,其表示用于定位用戶選擇的、表示各個(gè)計(jì)劃元件的節(jié)點(diǎn)的表面。在這個(gè)示例中,虛擬畫布12被示為包括用于使那些節(jié)點(diǎn)對齊的網(wǎng)格14。在設(shè)計(jì)計(jì)劃包括多個(gè)層的場合,利用控件18來選擇當(dāng)前層。利用控件20移至設(shè)計(jì)過程中的下一步驟。
[0014]移至圖2,用戶與虛擬畫布12交互,使控件22被顯示。在這個(gè)示例中,控件22是通過中心點(diǎn)24被多個(gè)節(jié)點(diǎn)按鈕26包圍而定義的針輪控件。每個(gè)節(jié)點(diǎn)按鈕26表示一個(gè)可用節(jié)點(diǎn)或一組可用節(jié)點(diǎn)。用戶與選擇的節(jié)點(diǎn)按鈕交互,以選擇將被放置在虛擬畫布12上的位于中心點(diǎn)24處的期望節(jié)點(diǎn)。在這個(gè)示例中,用戶通過輕擊屏幕來與虛擬畫布交互,GUI顯示在該屏幕上。在另一示例中,用戶可使用輸入設(shè)備例如鼠標(biāo)來在虛擬畫布上點(diǎn)擊。響應(yīng)于那個(gè)交互,控件22出現(xiàn)在與虛擬畫布12交互的點(diǎn)處的中心點(diǎn)24。以這種方式,用戶選擇用于放置選擇的節(jié)點(diǎn)的位置。
[0015]參考圖3,用戶通過與圖2所示的對應(yīng)節(jié)點(diǎn)按鈕26交互來選擇節(jié)點(diǎn)28。節(jié)點(diǎn)28定位成使得其有效地代替控件22的中心點(diǎn)24。在圖4中,用戶再次輕擊顯示GUI 10的屏幕,使控件22再次出現(xiàn)在虛擬畫布12上的與輕擊對應(yīng)的位置處的中心點(diǎn)24。在這里,用戶可再次與選擇的的節(jié)點(diǎn)按鈕26交互,以選擇用于定義設(shè)計(jì)計(jì)劃的第二節(jié)點(diǎn)。在圖5中,那個(gè)節(jié)點(diǎn)是節(jié)點(diǎn)30。
[0016]在圖6中,虛擬畫布12被填充有根據(jù)用戶與虛擬畫布12的交互而定位的多個(gè)選擇的節(jié)點(diǎn)32。如所提到的,多個(gè)選擇的節(jié)點(diǎn)32中的每個(gè)節(jié)點(diǎn)表示對應(yīng)的計(jì)劃元件。在這個(gè)示例中,多個(gè)選擇的節(jié)點(diǎn)32中的每個(gè)節(jié)點(diǎn)可由用戶單獨(dú)地選擇,以允許用戶修改對應(yīng)的計(jì)劃元件的一個(gè)或多個(gè)默認(rèn)參數(shù)。在這里,用戶選擇給定節(jié)點(diǎn),使控件34被顯示,用戶可通過控件34指定所表示的元件的參數(shù)。目前假設(shè)期望數(shù)量的節(jié)點(diǎn)已被選擇,用戶可選擇控件20,其在這個(gè)示例中使在多個(gè)選擇的節(jié)點(diǎn)36之間自動(dòng)建立鏈接。
[0017]在圖7中描繪所建立的鏈接36。給定節(jié)點(diǎn)對之間的每個(gè)鏈接36表示對應(yīng)計(jì)劃元件對之間的連接。在這個(gè)示例中,這些鏈接基于由多個(gè)選擇的節(jié)點(diǎn)32表示的計(jì)劃元件的連接兼容性和多個(gè)選擇的節(jié)點(diǎn)32在虛擬畫布12上的相對位置來自動(dòng)產(chǎn)生。在這里,如位于網(wǎng)格14上的相鄰節(jié)點(diǎn)被鏈接,只要相關(guān)的計(jì)劃元件的連接兼容性不被違反。每個(gè)鏈接36包括標(biāo)記38,用戶可與該標(biāo)記38交互。與給定標(biāo)記38的交互使鏈接特性控件(link propertycontrol)40被顯示,用戶可通過該鏈接特性控件40指定對應(yīng)連接的參數(shù)。
[0018]移至圖8,圖7自動(dòng)選擇的鏈接可能不反映用戶所期望的鏈接。在圖8中,用戶在虛擬畫布12上掃過路徑42。虛擬畫布路徑42以期望的順序穿過一組用戶選擇的多個(gè)節(jié)點(diǎn)?;谀莻€(gè)順序和相關(guān)的計(jì)劃元件的連接兼容性,在那組節(jié)點(diǎn)之間創(chuàng)建鏈接,如在圖9中所描繪的。
[0019]參考圖9,使用位于虛擬畫布12上的期望節(jié)點(diǎn)和鏈接以及任何期望節(jié)點(diǎn)和鏈接參數(shù)組,用戶可選擇控件20來保存定義相關(guān)的計(jì)劃元件和對應(yīng)的連接的計(jì)劃工件。在例如工件表示云體系結(jié)構(gòu)的場合,工件可被使用和重新使用,以實(shí)例化使用由計(jì)劃元件表示的部件和由在用戶選擇的節(jié)點(diǎn)32之間的各種鏈接表示的連接的那個(gè)云體系結(jié)構(gòu)。
[0020]部件:圖10和圖11描繪用于實(shí)現(xiàn)各種實(shí)施例的物理和邏輯部件的示例。在圖10中,各種部件被識別為引擎54-58。在描述引擎54-58時(shí),焦點(diǎn)在每個(gè)引擎的指定功能上。然而,如在本文使用的,術(shù)語“引擎”指硬件和被配置為執(zhí)行指定功能的程序的組合。如以后關(guān)于11所示的,每個(gè)引擎的硬件例如可包括處理器和存儲(chǔ)器,而程序是存儲(chǔ)在該存儲(chǔ)器上并由處理器可執(zhí)行來執(zhí)行指定功能的代碼。在另一示例中,硬件可以是用于存儲(chǔ)代碼的存儲(chǔ)器。
[0021]圖10描繪用于定義計(jì)劃工件的系統(tǒng)48。系統(tǒng)48被示為與數(shù)據(jù)儲(chǔ)存庫50和實(shí)例化服務(wù)52通信。數(shù)據(jù)儲(chǔ)存庫50通常表示用于存儲(chǔ)電子數(shù)據(jù)的任何存儲(chǔ)器。實(shí)例化服務(wù)52通常表示被配置為處理計(jì)劃工件以實(shí)例化對應(yīng)的設(shè)計(jì)計(jì)劃的硬件和程序的任何組合。
[0022]系統(tǒng)48包括界面引擎54、元件引擎56和計(jì)劃引擎58。界面引擎54被配置為使虛擬畫布以及用于從多個(gè)可用節(jié)點(diǎn)中進(jìn)行選擇的控件被顯示。節(jié)點(diǎn)可以是特定用戶可用的節(jié)點(diǎn),如在儲(chǔ)存庫50中的數(shù)據(jù)所定義的。在圖1-9的示例中,虛擬畫布12和控件22是通過引擎54被顯示的虛擬畫布和控件的示例。響應(yīng)于用戶與控件的交互,界面引擎54負(fù)責(zé)根據(jù)用戶與控件的交互,使用戶選擇的位于虛擬畫布上的多個(gè)節(jié)點(diǎn)被顯示。在圖6-9中描繪的多個(gè)選擇的節(jié)點(diǎn)32是示例。
[0023]界面引擎54可在檢測到用戶在特定位置處與虛擬畫布交互時(shí)使控件被顯示。例如,用戶可在那個(gè)位置處觸摸顯示器,或如果使用鼠標(biāo)則點(diǎn)擊那個(gè)位置。