專利名稱:基于計算機(jī)的業(yè)務(wù)過程在專用硬件上的基于模型的部署的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及由服務(wù)提供商管理的基于計算機(jī)的業(yè)務(wù)過程(businessprocess)的 自動化部署的方法,并且涉及對應(yīng)的系統(tǒng)和軟件
背景技術(shù):
物理IT (信息技術(shù))基礎(chǔ)設(shè)施難以管理。改變網(wǎng)絡(luò)配置、添加新機(jī)器或存儲設(shè)備 通常是復(fù)雜且容易出錯的手動任務(wù)。在大多數(shù)物理IT基礎(chǔ)設(shè)施中,資源利用率非常低對 于服務(wù)器而言,15%的利用率并不罕見,對于臺式計算機(jī)而言則是5%。為了解決此問題,現(xiàn) 代計算機(jī)基礎(chǔ)設(shè)施正在變得越來越可(重新)配置,并且以由服務(wù)提供商提供的數(shù)據(jù)中心 的形式更多地使用共享基礎(chǔ)設(shè)施。Hewlett Packard的UDC(公用數(shù)據(jù)中心)是已在商業(yè)上應(yīng)用并允許物理基礎(chǔ)設(shè) 施諸如服務(wù)器的處理機(jī)器、諸如盤的存儲設(shè)備、和耦合各部分的網(wǎng)絡(luò)的自動重配置的示 例。重配置可以涉及例如移動或啟動軟件應(yīng)用、改變存儲空間分配、或改變對不同過程的處 理時間的分配。貢獻(xiàn)更多可重配置性的另一種方式是通過允許在單個物理機(jī)器上主控許多 “虛擬”計算機(jī)。術(shù)語“虛擬”通常意指真實或物理的反面,并且在存在一定水平的間接性、 或資源用戶與物理資源之間的某種調(diào)解的情況下使用。另外,某些現(xiàn)代計算架構(gòu)允許重配置底層硬件。在一種情況中,可能將該架構(gòu)配置 為提供若干四路計算機(jī)。在另一種情況中,可能將其重配置為提供四倍的單處理器計算機(jī)。對上述完全可重配置性進(jìn)行建模是極其復(fù)雜的。較高級實體的模型在包含或引用 用來實現(xiàn)它們或?qū)崿F(xiàn)它們所需的較低級實體的意義上需要是遞歸的(例如,虛擬機(jī)VM,可 以根據(jù)當(dāng)前使用什么底層基礎(chǔ)設(shè)施來實現(xiàn)它(例如,如下文將更詳細(xì)地描述的,硬件分區(qū) nPAR或虛擬分區(qū)vPAR)而較快或較慢地操作)。這意味著模型需要展現(xiàn)出下一代計算機(jī)架 構(gòu)的底層可配置性-nPAR由特定的硬件分區(qū)組成。這使得模型如此復(fù)雜,以致于變得越來越難以讓自動化工具(和人)理解并處理模型,以實現(xiàn)a)業(yè)務(wù)過程,b)應(yīng)用和應(yīng)用配置, 以及c)基礎(chǔ)設(shè)施和基礎(chǔ)設(shè)施配置的設(shè)計和管理。在DMTF的用于“System Visualization,Partitioning andClustering”的簡檔 http//www. dmtf. org/apps/org /workgroup/redundancy/中舉例說明了對系統(tǒng)的完全可 重配置性和遞歸性質(zhì)進(jìn)行建模的需要。建模方面的困難的另一示例是W02004090684,其涉及對系統(tǒng)進(jìn)行建模以便執(zhí)行處 理功能。它記載了“潛在的大量組件可能使得該方法不切實際。例如,具有所有其硬件組件、 主機(jī)、交換機(jī)、路由器、臺式計算機(jī)、操作系統(tǒng)、應(yīng)用、業(yè)務(wù)過程等的IT系統(tǒng)可以包括幾百萬 個對象??赡茈y以采用任何手動或自動化方法來創(chuàng)建此類大量組件及其關(guān)系的單體模型。 這個問題由于具有頻繁添加/移動/改變的IT系統(tǒng)的典型動態(tài)性質(zhì)而復(fù)雜化。其次,不存 在細(xì)節(jié)的隱藏或抽象化,以允許處理功能在隱藏較不相關(guān)的組件細(xì)節(jié)的同時集中于特定的 一組相關(guān)組件的細(xì)節(jié)。第三,由于所涉及的組件的數(shù)目,在整個系統(tǒng)上執(zhí)行任何處理可能是 不切實際的?!?
已經(jīng)進(jìn)行了自動且快速地提供計算基礎(chǔ)設(shè)施的嘗試惠普的公用數(shù)據(jù)中心、惠普 實驗室的SoftUDC、惠普的Caveo和Amazon的彈性計算云(可以在http://www. amazon. com/gp/browse. html ? node = 201590011處看到)。所有這些提供一種或另一種形式的 計算基礎(chǔ)設(shè)施,并且某些已針對測試者和開發(fā)者,例如惠普的公用數(shù)據(jù)中心。來自IDS-Scheer的Aris是一種已知的業(yè)務(wù)過程建模平臺,其具有包含關(guān)于系統(tǒng) 的結(jié)構(gòu)和預(yù)期行為的信息的模型倉庫。特別地,更詳細(xì)地對業(yè)務(wù)過程進(jìn)行建模。其意圖將系 統(tǒng)實現(xiàn)方式和文檔資料(documentation)的所有方面綁在一起。Aris UML設(shè)計器是Aris 平臺的組件,其將傳統(tǒng)業(yè)務(wù)過程建模與軟件開發(fā)相組合以開發(fā)從過程分析到系統(tǒng)設(shè)計的業(yè) 務(wù)應(yīng)用。用戶經(jīng)由web瀏覽器來訪問過程模型數(shù)據(jù)和UML內(nèi)容,從而實現(xiàn)多用戶環(huán)境內(nèi)的 處理和改變管理。其可以提供開發(fā)文檔資料的創(chuàng)建和傳送,并且可以鏈接面向?qū)ο蟮脑O(shè)計 和代碼生成(CASE工具)。其依賴于模型的人類輸入。
發(fā)明內(nèi)容
目的是提供改進(jìn)的裝置或方法。在一個方面,本發(fā)明提供了 一種由服務(wù)提供商管理的用于給定企業(yè)的具有若干功能性步驟的基于計算機(jī)的 業(yè)務(wù)過程的自動化部署的方法,該方法具有以下步驟產(chǎn)生該業(yè)務(wù)過程的模型,該模型具有用于實施所述功能性步驟的軟件應(yīng)用組件的 布置的表示,并且具有用于在指定的企業(yè)專用硬件上運行所述軟件應(yīng)用組件的計算基礎(chǔ)設(shè) 施的表示,并且適用于自動化部署,以在存在任何給定的非功能性要求的情況下滿足給定 的非功能性要求,以及將所述模型部署在該企業(yè)專用的硬件上,其中用于該服務(wù)提供商的接口用以實現(xiàn) 所述服務(wù)提供商對部署的過程的日常管理。通過給出企業(yè)專用硬件而不是如常規(guī)數(shù)據(jù)中心中那樣使用共享硬件,服務(wù)提供商 可以提供內(nèi)部服務(wù)的一些優(yōu)點與外包的服務(wù)供應(yīng)的優(yōu)點的組合。例如,企業(yè)可以減少或控 制不得不使用集中式數(shù)據(jù)中心中的共享硬件的一些限制。例如,具有專用硬件意味著硬件 的位置可以被布置為適宜于該企業(yè)。這意味著諸如WAN鏈路的帶寬或等待時間之類的限制可以通過將專用硬件的位置選擇成位于企業(yè)場地上或附近而解決。與共享數(shù)據(jù)中心的安全性相比,具有專用硬件還可以增加對安全性的信任。這例如可以通過該企業(yè)能夠控制對例 如專用硬件和數(shù)據(jù)的物理訪問而得以解決。這些益處由自動化的模型驅(qū)動部署來促進(jìn),自 動化的模型驅(qū)動部署可以幫助使得服務(wù)提供商能夠在不同類型的硬件上提供此類部署而 較少需要技術(shù)人員并且可以減少集中定位硬件的需要。這還減少了企業(yè)在內(nèi)部維持專家專 業(yè)人員的需要。該服務(wù)提供商還可以通過將一些負(fù)荷(就計算和功耗而言)分布到在服務(wù) 提供商的數(shù)據(jù)中心外部操作的硬件上而減少共享數(shù)據(jù)中心中的資源上的負(fù)荷來獲益。本發(fā)明的實施例可以具有任何附加特征,而不脫離權(quán)利要求書的范圍,并且一些 此類附加特征在從屬權(quán)利要求以及在下述的實施例中有所闡述。另一方面提供了機(jī)器可讀介質(zhì)上的軟件,所述軟件在執(zhí)行時實施上述方法。另一方面提供了一種用于由服務(wù)提供商管理的用于給定企業(yè)的具有若干功能性 步驟的基于計算機(jī)的業(yè)務(wù)過程的自動化部署的系統(tǒng),該系統(tǒng)具有模型生成部,布置為產(chǎn)生該過程的模型,該模型具有用于實施所述功能性步驟的 軟件應(yīng)用組件的布置的表示,并且具有用于在企業(yè)專用硬件上運行所述軟件應(yīng)用組件的計 算基礎(chǔ)設(shè)施的表示,并且適用于自動化部署,以在存在任何給定的非功能性要求的情況下 滿足給定的非功能性要求,以及部署部,布置為提供所述模型在該企業(yè)專用的硬件上的自動化部署,其中用于該 服務(wù)提供商的接口用以實現(xiàn)所述服務(wù)提供商對部署的過程的日常管理。其他方面可以涵蓋使用該系統(tǒng)的人類操作員所進(jìn)行的對應(yīng)步驟,以在侵權(quán)者的系 統(tǒng)部分地或主要地遠(yuǎn)離本專利所覆蓋的權(quán)限范圍并且在該權(quán)限范圍之外(如許多此類系 統(tǒng)都可行的那樣)然而人類操作員正在該權(quán)限范圍內(nèi)使用該系統(tǒng)并且從中獲益的情況下 使得能夠直接侵權(quán)或引起直接侵權(quán)。特別是優(yōu)于其他現(xiàn)有技術(shù)的其它優(yōu)點對于本領(lǐng)域的技 術(shù)人員來說將是顯而易見的。如對于本領(lǐng)域的技術(shù)人員來說顯而易見的那樣,可以將任何 附加特征組合在一起,并與任何方面組合。所述實施例僅僅是示例,范圍不受這些示例的限 制,并且在權(quán)利要求的范圍內(nèi)可以設(shè)想許多其它示例。
現(xiàn)在將參照附圖以示例的方式描述本發(fā)明的特定實施例,在附圖中圖1示出實施例的示意圖,其示出模型、自適應(yīng)基礎(chǔ)設(shè)施和管理系統(tǒng),圖2示出根據(jù)實施例的由操作員和管理系統(tǒng)進(jìn)行的某些操作步驟的示意圖,圖3示出根據(jù)實施例的某些主要動作和模型的示意圖,圖4示出根據(jù)另一實施例的采取模型信息流MIF的形式的從業(yè)務(wù)過程到已部署模 型的步驟序列的示意圖,圖5示出根據(jù)另一實施例的模型和步驟序列,圖6示出根據(jù)實施例的導(dǎo)出植基模型(grounded model)的步驟,圖7示出根據(jù)實施例的用于分布式設(shè)計的主應(yīng)用服務(wù)器和從應(yīng)用服務(wù)器的布置,圖8示出圖7的實施例的主應(yīng)用服務(wù)器的各部分,圖9示出供在實施例中使用的服務(wù)器上的虛擬實體的布置,圖10示出銷售和分銷業(yè)務(wù)過程(SD)基準(zhǔn)(Benchmark)對話步驟和事務(wù)(transaction) StJΜ 圖11示出用于SD Benchmark的示例性定制模型實例,圖12示出用于未綁定模型(unbound model)類的類圖示,圖13示出適合用于分散式SD示例的模板的示例,圖14示出分散式SD的植基模型實例,圖15示出適合用于集中式安全SD示例的模板的另一示例,圖16示出了用于在企業(yè)專用硬件上部署的系統(tǒng)的實施例,圖17、18、19和20示出了根據(jù)實施例的步驟,以及圖21示出了根據(jù)另一實施例的系統(tǒng)。
具體實施例方式定義“企業(yè)專用硬件”包含諸如物理服務(wù)器、存儲裝置和通信鏈路之類的硬件,其專用 于該企業(yè)并且因此其位置可以由該企業(yè)選擇。其不需要被該企業(yè)所擁有,其可以被租用或 作為服務(wù)成本的一部分而以任何方式對其支付費用。除非企業(yè)準(zhǔn)許,其不能被重新分配或 移除。該硬件的各部分的組成組件和標(biāo)識符一般可以由服務(wù)提供商改變以滿足企業(yè)的需 要。企業(yè)可以準(zhǔn)許服務(wù)提供商允許其他企業(yè)暫時地利用空閑容量?!胺枪δ苄砸蟆笨梢园谥T如性能、安全性、成本、可用性及其他方面將功能 性步驟實現(xiàn)得多好。其在非功能性要求的維基百科(http://en.wikipedia.org/wiki/ Non-functional_requirements)中有所解釋,如下-“在系統(tǒng)工程和要求工程中,非功能性 要求是指定可以用來判斷系統(tǒng)的操作、而不是特定行為的標(biāo)準(zhǔn)的要求。這應(yīng)與指定特定行 為或功能的功能性要求形成對比。典型的非功能性要求是可靠性、可伸縮性、和成本。非功 能性要求通常稱為系統(tǒng)的能力特性(ilities)。用于非功能性要求的其它術(shù)語是“約束”、 “質(zhì)量屬性”和“服務(wù)質(zhì)量要求”。,,“功能性步驟”可以涵蓋用于任何目的的業(yè)務(wù)過程的任何類型的功能,諸如與接收 輸入的操作員交互、檢索存儲數(shù)據(jù)、處理數(shù)據(jù)、將數(shù)據(jù)或命令傳遞至其它實體等等,通常但 不一定表示為人類可讀形式...?!耙巡渴稹币鈭D涵蓋對于其已分配并配置計算基礎(chǔ)設(shè)施且軟件應(yīng)用組件已被安裝 并配置好準(zhǔn)備開始運行的建模業(yè)務(wù)過程。根據(jù)該上下文,其還可以涵蓋已開始運行的業(yè)務(wù) 過程?!斑m合于自動化部署”可以涵蓋這樣的模型,所述模型提供機(jī)器可讀信息以使得能 夠部署基礎(chǔ)設(shè)施設(shè)計,并使得能夠由部署服務(wù)安裝并配置軟件應(yīng)用組件(或自發(fā)地或利用 由部署服務(wù)引導(dǎo)的某種人類輸入)?!皹I(yè)務(wù)過程”意圖涵蓋用于任何類型的業(yè)務(wù)目的的涉及計算機(jī)實現(xiàn)的步驟和可選 地其它步驟(諸如人類輸入或來自例如傳感器或監(jiān)視器的輸入)的任何過程,所述業(yè)務(wù)目 的諸如例如面向服務(wù)的應(yīng)用,用于銷售和分銷、庫存控制、制造過程的控制或調(diào)度。其還可 以涵蓋涉及用于非業(yè)務(wù)應(yīng)用的計算機(jī)實現(xiàn)步驟的任何其它過程,所述非業(yè)務(wù)應(yīng)用諸如教育 工具、娛樂應(yīng)用、科學(xué)應(yīng)用、包括批處理、網(wǎng)格計算等的任何類型的信息處理。可以以序列、 循環(huán)、遞歸、和分支方式組合一個或多個業(yè)務(wù)過程步驟以形成完整的業(yè)務(wù)過程。業(yè)務(wù)過程還可以涵蓋業(yè)務(wù)管理過程,諸如CRM、銷售支持、庫存管理、預(yù)算、生產(chǎn)調(diào)度等,以及用于商業(yè) 或科學(xué)目的(諸如對氣候進(jìn)行建模、對結(jié)構(gòu)進(jìn)行建模、或?qū)朔磻?yīng)進(jìn)行建模)的任何其它過程?!皯?yīng)用組件”意圖涵蓋任何類型的軟件元素,諸如可單獨或以組合方式使用以實現(xiàn) 業(yè)務(wù)過程的計算機(jī)實現(xiàn)步驟的模塊、子例程、任何量的代碼。其可以是可以被操縱以遞 送業(yè) 務(wù)過程步驟(BPStep)(諸如事務(wù)或數(shù)據(jù)庫表)的數(shù)據(jù)或代碼。由SAP產(chǎn)生的銷售和分銷 (SD)產(chǎn)品由若干事務(wù)組成,每個事務(wù)例如具有若干應(yīng)用組件?!拔唇壎P汀币鈭D涵蓋以任何方式(直接地或間接地)指定將用于業(yè)務(wù)過程的每 個計算機(jī)實現(xiàn)步驟的至少應(yīng)用組件的軟件,而沒有計算基礎(chǔ)設(shè)施的完整設(shè)計,并且可以可 選地用來計算業(yè)務(wù)過程的基礎(chǔ)設(shè)施資源需求,并且可以可選地散布在兩個或更多子模型上 或由兩個或更多子模型組成。未綁定模型還可以指定每個應(yīng)用組件所需的諸如應(yīng)用服務(wù)器 和數(shù)據(jù)庫服務(wù)器的對應(yīng)執(zhí)行組件的類型或版本,而不指定例如需要這些中的多少?!爸不P汀币鈭D涵蓋以任何方式(直接地或間接地)指定適合于業(yè)務(wù)過程的自動 部署的計算基礎(chǔ)設(shè)施的至少完整設(shè)計的軟件。其可以是計算基礎(chǔ)設(shè)施和將部署在基礎(chǔ)設(shè)施 上的應(yīng)用組件的完整規(guī)范?!敖壎P汀焙w具有植基模型到物理資源的綁定的任何模型。該綁定可以是在植 基模型中的ComputerSystems (計算機(jī)系統(tǒng))、Disks (盤)、StorageSystems (存儲系統(tǒng))、 Networks (網(wǎng)絡(luò))、NICS與在實際計算基礎(chǔ)設(shè)施中可用的真實物理部分之間的關(guān)聯(lián)的形式。 “基礎(chǔ)設(shè)施設(shè)計模板”意圖涵蓋任何類型的軟件,所述軟件通過以任何方式指示計算基礎(chǔ)設(shè) 施的至少某些部分并指示該部分之間的預(yù)定關(guān)系來確定設(shè)計選擇。這將留下有限數(shù)目的選 項要完成,以創(chuàng)建植基模型。這些模板可以指示例如可容許選擇范圍或可容許改變范圍。它 們可以通過具有如何創(chuàng)建植基模型或如何改變現(xiàn)有植基模型的指令來確定設(shè)計選擇?!坝嬎慊A(chǔ)設(shè)施”意圖涵蓋任何類型的資源,諸如用于處理、用于存儲(諸如盤或芯 片存儲器)、以及用于諸如聯(lián)網(wǎng)的通信的硬件和軟件,并且包括例如服務(wù)器、操作系統(tǒng)、虛擬 實體、和諸如監(jiān)視器的管理基礎(chǔ)設(shè)施,其用于監(jiān)視硬件、軟件和應(yīng)用。在例如配置和/或分 配資源(諸如處理時間或處理器硬件配置或操作系統(tǒng)配置或盤空間)、以及對各種資源之 間的鏈接或軟件進(jìn)行實例化的意義上,可以“設(shè)計”所有這些項目。可以或可以不在多個業(yè) 務(wù)過程之間共享資源。資源的配置或分配還可以涵蓋改變現(xiàn)有資源配置或分配。計算基礎(chǔ) 設(shè)施可以涵蓋所有物理實體或所有虛擬化實體、或虛擬化實體、用于主控虛擬化實體的物 理實體和用于運行軟件應(yīng)用組件而沒有虛擬化層的物理實體的混合物?!坝嬎慊A(chǔ)設(shè)施的部分”意圖涵蓋例如諸如服務(wù)器、盤、聯(lián)網(wǎng)硬件和軟件的部分?!胺?wù)器”可以意指用于運行諸如可用于外部客戶端的服務(wù)的應(yīng)用軟件的硬件處 理器、或形成能夠被諸如另一服務(wù)器的主控實體主控并最終被硬件處理器主控的虛擬服務(wù) 器的軟件元素?!癆lService”是用戶消費的信息服務(wù)。其實現(xiàn)業(yè)務(wù)過程?!皯?yīng)用約束模型”可以意指對定制過程、應(yīng)用打包和組件性能模型中的組件的任意 約束。在MIF從左到右前進(jìn)時這些約束可以被工具用來生成附加模型。"ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)”是例如執(zhí)行應(yīng)用組件的(工 人)進(jìn)程、線程或servlet。示例將是由SAP提供的對話工作過程。
“ApplicationExecutionService(應(yīng)用執(zhí)行服務(wù))”意指可以管理諸如工作過程、 servlet或數(shù)據(jù)庫過程的ApplicationExecutionComponents (應(yīng)用執(zhí)行組件)的執(zhí)行的服 務(wù)。示例將是由SAP提供的應(yīng)用服務(wù)器。此類應(yīng)用服務(wù)器包括對話工作過程及其它過程的 集合,所述其他過程諸如如在主應(yīng)用服務(wù)器(圖8)的圖中所示的更新和排隊過程。“應(yīng)用打包模型”是描述軟件的內(nèi)部結(jié)構(gòu)需要什么產(chǎn)品和從該產(chǎn)品需要什么模塊 的任何模型,并且通常被未綁定模型包含?!皯?yīng)用性能模型”意指具有為每個業(yè)務(wù)過程(BP)步驟定義直接和間接的資源需求 的目的的任何模型。其可以被包含在未綁定模型中。
“組件性能模型”可以意指包含應(yīng)用組件的一般性能特性的任何模型。這可以用來 通過使用在定制模型中指定的特定業(yè)務(wù)過程步驟和數(shù)據(jù)特性連同在應(yīng)用約束模型中指定 的約束一起導(dǎo)出應(yīng)用性能模型(其可以被包含在未綁定模型中)?!岸ㄖ颇P汀币庵阜从程囟I(yè)務(wù)要求的業(yè)務(wù)過程的一般定制化模式?!耙巡渴鹉P汀币庵妇哂杏糜谠谙到y(tǒng)中運行的管理服務(wù)的綁定信息的綁定模型。“候選植基模型”可以是可以由工具在其將未綁定模型變換成植基模型時生成的 中間模型。“植基組件”可以包含用于植基執(zhí)行組件和植基執(zhí)行服務(wù)兩者的安裝和配置信息、 以及關(guān)于策略和開始/停止依賴性的信息?!爸不鶊?zhí)行組件”可以是執(zhí)行應(yīng)用組件的(工人)進(jìn)程、線程或servlet的植基模 型中的表示。“植基執(zhí)行服務(wù)”是管理諸如工作過程、servlet或數(shù)據(jù)庫過程的執(zhí)行組件的執(zhí)行 的實體的植基模型中的表示?!盎A(chǔ)設(shè)施能力模型”可以是可以由諸如不同計算機(jī)類型的公用設(shè)施以及諸如防 火墻和負(fù)載平衡器的設(shè)備配置的資源的目錄。MIF(模型信息流)是用來在其整個生命周期中管理業(yè)務(wù)過程的模型的集合。本發(fā)明可以應(yīng)用于許多領(lǐng)域,詳細(xì)描述的實施例只能覆蓋這些領(lǐng)域中的某些。其 可以涵蓋建模動態(tài)或靜態(tài)系統(tǒng),諸如企業(yè)管理系統(tǒng)、聯(lián)網(wǎng)信息技術(shù)系統(tǒng)、公用計算系統(tǒng)、用 于管理諸如電信網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、電力網(wǎng)的復(fù)雜系統(tǒng)的系統(tǒng)、生物系統(tǒng)、醫(yī)療系統(tǒng)、天氣預(yù)報 系統(tǒng)、財務(wù)分析系統(tǒng)、搜索引擎等。建模的細(xì)節(jié)通常將取決于模型的用途或目的。因此,計 算機(jī)系統(tǒng)的模型可以表示諸如服務(wù)器、處理器、存儲器、網(wǎng)絡(luò)鏈路、盤的組件,每個組件具有 諸如處理器速度、存儲容量、盤響應(yīng)時間等相關(guān)屬性。還可以表示組件之間的關(guān)系,諸如包 含性、連接性等??梢允褂妹嫦?qū)ο蟮姆独渲?,使用對象對系統(tǒng)組件進(jìn)行建模,并且將系統(tǒng)的組 件之間的關(guān)系建模為對象的屬性、或?qū)ο蟊旧???梢允褂闷渌独?,其中,模型集中于系統(tǒng) 做什么而不是其如何操作,或者描述系統(tǒng)如何操作。數(shù)據(jù)庫范例可以指定實體和關(guān)系。用于 系統(tǒng)建模的形式語言包括基于文本的DMTF公共信息模型(CIM)、Varilog、NS、C++、C、SQL、 或基于圖形表示的方案。附加特征從屬權(quán)利要求的附加特征的一些示例如下專用硬件的位置可以遠(yuǎn)離服務(wù)提供商并且接口可以被布置用于遠(yuǎn)程管理。這有助于遠(yuǎn)離服務(wù)提供商位置處的資源來分布負(fù)荷并且放寬帶寬和等待時間限制,如果專用硬件 的位置在企業(yè)場地處或在企業(yè)的本地可信互聯(lián)網(wǎng)服務(wù)提供商處則尤其如此。計算基礎(chǔ)設(shè)施可以包括虛擬化實體。這是一種增加資源分配靈活性并且因而實現(xiàn) 資源使用的改進(jìn)效率的方式。該模型可以合并適當(dāng)大小的冗余硬件容量以使得能夠在該過程仍在運行的同時 將虛擬化實體離開它們的對應(yīng)硬件組件而移動到冗余硬件上。該冗余性通常將不需要被包 括在用于部署在共享數(shù)據(jù)中心中的模型中,因為數(shù)據(jù)中心管理在共享的基礎(chǔ)上提供冗余容 量。冗余容量還可以用于支持由于功能性步驟的改變而引起的負(fù)荷增加或負(fù)荷增長。
該系統(tǒng)可以具有更新部,所述更新部被布置為使得企業(yè)能夠輸入對功能性步驟或 非功能性要求的更改,并且使得模型生成部基于該更改產(chǎn)生更新的模型,并且確定與更改 的功能性步驟或非功能性要求對應(yīng)的對專用硬件的要求的任何改變。該系統(tǒng)可以具有下載部,以下載至少模型生成部從而在企業(yè)位置處運行。這可以 幫助分布處理,以減少服務(wù)提供商處的資源上的負(fù)荷,并且例如可以通過使得企業(yè)能夠避 免發(fā)送敏感數(shù)據(jù)到服務(wù)提供商而減少安全性顧慮。該模型可以具有監(jiān)視部以監(jiān)視使用中的 所部署過程的行為并且通過接口發(fā)送該行為的指示給服務(wù)提供商。這可以使得服務(wù)提供商 能夠監(jiān)視所部署過程并且采取適當(dāng)?shù)膭幼??;镜燃壍姆?wù)可能涉及向企業(yè)報告。較高等 級的服務(wù)可以涉及采取動作以處理基礎(chǔ)設(shè)施故障或例程升級。更高等級的服務(wù)可以涉及分 析該行為并且確定對該模型的建議改變以改進(jìn)計算基礎(chǔ)設(shè)施與所監(jiān)視行為的匹配。這例如 可以改進(jìn)資源使用的效率或找到改進(jìn)對功能性步驟的要求改變或時變需求進(jìn)行響應(yīng)的靈 活性的機(jī)會。模型生成部可以被布置為選擇計算基礎(chǔ)設(shè)施設(shè)計的若干預(yù)定模板之一、選擇參數(shù) 以填充所選的模板、通過模擬操作來了解滿足非功能性要求的程度而評估填充的模板、并 且根據(jù)所述評估更改模板的選擇或更改所述參數(shù)?;A(chǔ)設(shè)施設(shè)計模板的這種使用可以減少 要評估的選項的數(shù)量并且可以幫助減少產(chǎn)生可以部署的且高效使用資源的模型的任務(wù)的 復(fù)雜性。這進(jìn)而可以幫助實現(xiàn)更高度自動化的方法或者可以使得能夠更高效地部署和更 高效地管理更復(fù)雜的商業(yè)過程。在基礎(chǔ)設(shè)施包括虛擬化實體的情況下,增加的靈活性往往 增加基礎(chǔ)設(shè)施設(shè)計的任務(wù)的復(fù)雜性,并且使用模板在這種情況下變得甚至更加適當(dāng)和有價 值。該系統(tǒng)可以具有包括以下中的任何一個或多個的非功能性要求并發(fā)用戶的數(shù) 量、功能的吞吐量、希望響應(yīng)時間的指示、可用性等級、安全性等級、以及可獲得的可用專用 硬件的限制。這些對于計算基礎(chǔ)設(shè)施的設(shè)計通常是重要的。該系統(tǒng)可以被布置為根據(jù)模型確定對于專用硬件的要求的規(guī)范。這可以使得能夠 在部署之前設(shè)置適當(dāng)?shù)挠布?。如果專用硬件是預(yù)先存在的,其他權(quán)利要求所涵蓋的替換方 案將是在非功能性要求中對要求專用硬件的性能設(shè)置限制。然后該模型將被約束為保持在 這樣的限制內(nèi)以使得該模型可以被成功地部署在預(yù)先存在的硬件上。在與游戲服務(wù)器一起提供3-D視覺接口以使得多個用戶能夠在相同的模型上工 作并且看到彼此的改變的情況下,開發(fā)者能夠更快地導(dǎo)航復(fù)雜模型。對于此示例的更多細(xì) 節(jié)請參考上面提及的共同待決的申請?zhí)?00702356。將此與使用具有到服務(wù)提供商的接口 以實現(xiàn)日常管理的企業(yè)專用硬件組合可以使得能夠更高效地提供這樣的日常管理。
可以提供企業(yè)接口以使得企業(yè)能夠彼此獨立地定制非功能性要求。對于此示例的 更多細(xì)節(jié)請參考上面提及的共同待決的申請?zhí)?00702363。將此與使用具有到服務(wù)提供商 的接口以實現(xiàn)日常管理的企業(yè)專用硬件組合可以實現(xiàn)按照企業(yè)需要的更完整定制。在商業(yè)過程的操作可以被模擬的情況下或在多個測試部署可以并行進(jìn)行的 情況下,可以加速部署。對于此示例的更多細(xì)節(jié)請參考上面提及的共同待決的申請?zhí)?200702377。將此與使用具有到服務(wù)提供商的接口以實現(xiàn)日常管理的企業(yè)專用硬件組合可 以使得能夠增強(qiáng)二者的優(yōu)點。在將注釋插入源代碼中以輔助建?;蛭臋n資料編制的情況下,那么可以使得對改 變的歷史進(jìn)行文檔記錄更容易。對于此示例的更多細(xì)節(jié)請參考上面提及的共同待決的申請 號 200702600。設(shè)置開發(fā)環(huán)境可以通過提供哪些工具適合于給定開發(fā)目的和給定模型部分的預(yù) 定映射或通過包括與該模型一起部署的工具的模型來促進(jìn)。對于此示例的更多細(xì)節(jié)請參考 上面提及的共同待 決的申請?zhí)?00702145和200702601。因為使用具有到服務(wù)提供商的接 口的企業(yè)專用硬件可能增加設(shè)置開發(fā)環(huán)境的復(fù)雜性,所以促進(jìn)此類設(shè)置更加有價值?;谀P偷姆椒ㄟ@種基于模型的方法的一般目的是使得能夠開發(fā)和管理業(yè)務(wù)過程以提供對三個 主層的匹配改變過程的功能性步驟、用來實現(xiàn)過程的功能性步驟的軟件應(yīng)用組件、以及所 述應(yīng)用所使用的計算基礎(chǔ)設(shè)施的配置。通過使用與對上述部分進(jìn)行建模的軟件模型交互的 適當(dāng)軟件工具來自動地執(zhí)行此類改變。到目前為止,尚未有在整個系統(tǒng)生命周期中將集成 業(yè)務(wù)過程、應(yīng)用和基礎(chǔ)設(shè)施管理的工具鏈接在一起的任何嘗試。將描述用于管理此類復(fù)雜的基于計算機(jī)的過程的基于模型的方法。此類模型可以 具有CIM/UML的結(jié)構(gòu)化數(shù)據(jù)模型以對以下三層進(jìn)行建?!せA(chǔ)設(shè)施元素,諸如物理機(jī)器、VM、網(wǎng)絡(luò)鏈接。·應(yīng)用元素,諸如數(shù)據(jù)庫、應(yīng)用服務(wù)器。·業(yè)務(wù)級元素,諸如在應(yīng)用服務(wù)器中運行的業(yè)務(wù)過程的功能性步驟。模型是例如以UML建模的元素的有組織集合。某些實施例的目的是將這些數(shù)據(jù)模 型用于遵循軟件即服務(wù)(SaaS)范例的企業(yè)應(yīng)用的自動化按需供應(yīng)。問題陳述使用基于模型的技術(shù)來自動地設(shè)計和管理企業(yè)系統(tǒng)可以提供強(qiáng)大的預(yù)測能力,以 及自動設(shè)計、部署、修改、監(jiān)視和管理用以實施業(yè)務(wù)過程的運行系統(tǒng)同時最小化對于人類介 入的要求的能力??梢栽?個互連層對企業(yè)系統(tǒng)建模 物理基礎(chǔ)設(shè)施 虛擬基礎(chǔ)設(shè)施 軟件布局(landscape),對應(yīng)于諸如上面提到的應(yīng)用元素的軟件實體 業(yè)務(wù)過程該模型稱為企業(yè)系統(tǒng)模型。在每一層,其由兩個模型集合組成_自動化模型和文 檔模型?!ぷ詣踊P兔枋隽讼到y(tǒng)的結(jié)構(gòu)和行為,并且用于自動產(chǎn)生、評估、部署和修改企業(yè)系統(tǒng)的設(shè)計。在這四個層的每一層處的來自部署的物理系統(tǒng)的監(jiān)視數(shù)據(jù)可以與建模的行 為相關(guān)并用于基于實際測量做出運行時間管理決策。自動化模型由兩個子模型組成-靜態(tài)模型和操作模型。靜態(tài)模型描述系統(tǒng)的靜態(tài) 結(jié)構(gòu)-企業(yè)系統(tǒng)的候選設(shè)計的選擇和配置選項。操作模型描述基礎(chǔ)設(shè)施和軟件的內(nèi)部結(jié) 構(gòu)、運行時間操作以及性能需求(諸如CPU、存儲器、盤或網(wǎng)絡(luò)I/O)。是這些操作模型允許 模擬和評估候選設(shè)計將在多大程度上滿足系統(tǒng)的非功能性要求。文檔模型包含可以被提取并變換成系統(tǒng)的文檔資料的有價值源的信息。對文檔模 型有貢獻(xiàn)的該信息可以與自動化模型中的實體密切相關(guān)聯(lián)。該文檔資料可以由人類用來針 對功能正確性以及針對諸如性能的非功能性行為理解和檢查系統(tǒng)的結(jié)構(gòu)和操作行為。文檔 資料還可以用于訓(xùn)練和教育目的。文檔資料的示例包括 業(yè)務(wù)過程步驟的UML圖。 業(yè)務(wù)對象的功能、它們的接口以及副作用的描述 軟件應(yīng)用就組成軟件組件而言的內(nèi)部靜態(tài)結(jié)構(gòu)的UML圖。 軟件組件之間的交互的活動圖。來自監(jiān)視和報告服務(wù)的輸出還可以被分類為文檔模型的特殊情況,以人類可讀形 式描述系統(tǒng)的運行時間行為和性能。企業(yè)系統(tǒng)非常復(fù)雜,并且建模技術(shù)下面的模型對應(yīng)地 復(fù)雜并且難以創(chuàng)建。這些模型可以隨著修改、修補(bǔ)和重新設(shè)計系統(tǒng)而隨時間改變。此外,這 些模型可以依賴于特定系統(tǒng)內(nèi)包含的實際數(shù)據(jù)和配置以及觀察的運行系統(tǒng)的行為。一般而言,所需模型的詳細(xì)結(jié)構(gòu)和參數(shù)的大部分太復(fù)雜且是動態(tài)的而不能由人類 及時地手動產(chǎn)生。本發(fā)明解決的問題是如何自動地產(chǎn)生自動化和文檔模型的至少一些部 分。模型中的信息必須是一致的且相關(guān)的-在系統(tǒng)的一個部分中的活動必須可跟蹤并且與 有關(guān)活動相關(guān)。例如,活動A可以導(dǎo)致一連串的其他活動B、C和D ;希望這些關(guān)系可以在運 行時間被表示并且被捕獲在模型中。自動設(shè)計和管理企業(yè)系統(tǒng)的基于模型的技術(shù)-參見Brand等人的“Adaptive Infrastructure meets Adaptive Applications”,其公布為外部 HP 實驗室技術(shù)報告: http //www. hpl. hp. com/techreports/2007/HPL-2007-138. html 并且在此引入以供參 考-可以提供自動設(shè)計、部署、修改、監(jiān)視和管理用以實施業(yè)務(wù)過程的運行系統(tǒng)同時最小化 對人類介入的要求的能力。這些實施例涉及提供自動產(chǎn)生企業(yè)系統(tǒng)的所需自動化模型的關(guān)鍵方面以及由人 類用來理解和分析該系統(tǒng)的附加文檔模型的機(jī)制。實施例涉及配置用于企業(yè)應(yīng)用計算器具(appliance)的企業(yè)應(yīng)用解決方案。這可 包括接受企業(yè)應(yīng)用系統(tǒng)的定制描述并且將其部署到硬件(也稱為器具)。該器具在一些情 況下可以使用虛擬化特征進(jìn)行專門設(shè)計以實現(xiàn)企業(yè)應(yīng)用和器具的日常和遠(yuǎn)程管理,并且可 以被測試性能以驗證滿足所請求的服務(wù)等級。該器具可以例如在企業(yè)場地或企業(yè)選擇的 ISP處運行。企業(yè)想要具有是在共享的環(huán)境內(nèi)還是在運行在他們選擇的位置處的企業(yè)應(yīng)用 器具內(nèi)操作企業(yè)應(yīng)用的選擇。這種方法給想要企業(yè)應(yīng)用但更喜歡外包管理(即與必要時的現(xiàn)場維護(hù)結(jié)合的遠(yuǎn) 程管理)的企業(yè)提供了選擇。提供應(yīng)用器具的供應(yīng)商需要提供正確量的容量,太多或太少 會造成額外的成本,風(fēng)險可能妨礙企業(yè)應(yīng)用器具的成功。在交付之前為支持企業(yè)的非功能性要求而驗證的企業(yè)器具可能導(dǎo)致更大的企業(yè)信任。例如與虛擬機(jī)遷移一起使用虛擬化基礎(chǔ)設(shè)施更好地支持遠(yuǎn)程維護(hù),例如新硬件可 以被引入并且在不關(guān)閉應(yīng)用的情況下遷移到它的虛擬機(jī)(例如新版本的軟件)可以在操作 軟件的任何升級之前被部署在器具中并進(jìn)行測試。用企業(yè)應(yīng)用服務(wù)自動地部署管理服務(wù)可 以更好地實現(xiàn)一致的遠(yuǎn)程管理并促進(jìn)必要時的現(xiàn)場維護(hù)。
這種基于模型的配置與手動進(jìn)行的配置相媲美,手動進(jìn)行的配置可能導(dǎo)致企業(yè)應(yīng) 用環(huán)境的差異,所述差異增加了遠(yuǎn)程管理的復(fù)雜性。手動部署而非自動化的基礎(chǔ)設(shè)施可以意味著基礎(chǔ)設(shè)施的特定部分的確定大小 (sizing)的方法是專門的,增加了器具中不正確量的容量的風(fēng)險。目前,即使企業(yè)想要在本 地或在某種其他設(shè)施中操作企業(yè)應(yīng)用器具,服務(wù)提供商也僅提供共享環(huán)境中的主控??赡墚a(chǎn)生的一些優(yōu)點包括如下可以經(jīng)由自動化技術(shù)而不是經(jīng)由稀少的有經(jīng)驗的人類顧問來提供定制解決方案。 企業(yè)可以在本地或在任何他們希望的位置處主控解決方案,從而減少了對廣域網(wǎng)和應(yīng)用服 務(wù)提供商的依賴性。來自多個供應(yīng)商的企業(yè)應(yīng)用服務(wù)的組合可以被提供在單個器具上。遠(yuǎn) 程和現(xiàn)場服務(wù)的組合可以減少企業(yè)在本地主控他們的服務(wù)所需的內(nèi)部技術(shù)人員。單個企業(yè) 器具與大型數(shù)據(jù)中心相比對公共電力網(wǎng)施加不那么集中的功率和冷卻負(fù)擔(dān)。示例實施例的操作A 企業(yè)指定系統(tǒng)的要求。B 設(shè)計適當(dāng)?shù)幕A(chǔ)設(shè)施以支持該系統(tǒng)及其管理。C 將該基礎(chǔ)設(shè)施再現(xiàn)(render)到企業(yè)應(yīng)用器具并且部署企業(yè)和管理服務(wù)。D 經(jīng)由測試確認(rèn)滿足非功能性要求。E 將企業(yè)器具運送到企業(yè)。F 企業(yè)將器具連接到網(wǎng)絡(luò)以供用戶使用以及用于遠(yuǎn)程管理。G 按照需要連續(xù)地應(yīng)用遠(yuǎn)程和現(xiàn)場管理并且實施企業(yè)要求的改變。步驟A 企業(yè)使用一個或多個配置工具來指定和配置企業(yè)應(yīng)用服務(wù)的正當(dāng)組合。 企業(yè)應(yīng)用服務(wù)可以由企業(yè)應(yīng)用服務(wù)供應(yīng)商、ISV(因特網(wǎng)服務(wù)供應(yīng)商)提供或是該申請中給 出的整體框架所容許的定制。配置工具可以由企業(yè)應(yīng)用軟件供應(yīng)商或ISV和/或企業(yè)應(yīng)用提供商提供。步驟B 為企業(yè)應(yīng)用設(shè)計虛擬化基礎(chǔ)設(shè)施,其可以被主控在企業(yè)應(yīng)用器具上。企業(yè) 指定系統(tǒng)和/或其服務(wù)的非功能性要求-例如性能、安全性、可靠性、可維護(hù)性。設(shè)計服務(wù)為特定企業(yè)應(yīng)用器具推薦支持非功能性要求的基礎(chǔ)設(shè)施設(shè)計的配置?;?礎(chǔ)設(shè)施設(shè)計包括為支持維護(hù)(即過渡到軟件的新版本)而對防火墻、web服務(wù)器、應(yīng)用服務(wù) 器、數(shù)據(jù)庫服務(wù)器、其他種類的服務(wù)器、附加的管理軟件、硬件的支持,其可以包括多個服務(wù) 器和聯(lián)網(wǎng)支持。步驟C 將應(yīng)用和管理服務(wù)再現(xiàn)到虛擬化基礎(chǔ)設(shè)施。將虛擬化基礎(chǔ)設(shè)施再現(xiàn)到形 式為適當(dāng)大小的應(yīng)用器具的企業(yè)專用硬件。這可以是適合業(yè)務(wù)過程的需要的任何大小,并 且在典型的示例中是服務(wù)器或一機(jī)柜的服務(wù)器。諸如到服務(wù)提供商的遠(yuǎn)程管理接口的企業(yè) 應(yīng)用和管理服務(wù)被部署到器具上的基礎(chǔ)設(shè)施。
步驟D 進(jìn)行確認(rèn)測試以證實對非功能性要求的支持。進(jìn)行測試以確保每個非功 能性要求被滿足。如果適當(dāng)?shù)脑?,調(diào)諧機(jī)制被用于使得能夠滿足這些要求。步驟E 將配置的器具運送到企業(yè)應(yīng)用器具的企業(yè)希望位置。配置的器具被運送 到企業(yè)應(yīng)用器具的企業(yè)希望位置。該位置可以位于企業(yè)場所、位于企業(yè)選擇的主控場所等, 其是共同認(rèn)為對于企業(yè)和對于企業(yè)應(yīng)用器具提供商可接受的任何位置。 步驟F 企業(yè)僅需要開啟該器具并且將其連接到網(wǎng)絡(luò)以供用戶使用。在所有情況 下遠(yuǎn)程管理服務(wù)管理和維護(hù)企業(yè)應(yīng)用器具。在其他實施例中該器具首先被運送并且被遠(yuǎn)程 配置。步驟G 企業(yè)應(yīng)用和器具的日常遠(yuǎn)程管理/維護(hù)。遠(yuǎn)程維護(hù)可以包括對以下項的 支持—硬件和軟件故障—軟件和硬件升級和添加—安全性—容量規(guī)劃一數(shù)據(jù)庫維護(hù)-識別何時需要現(xiàn)場維護(hù)并且為其安排時間現(xiàn)場維護(hù)可以包括對以下項的支持—硬件故障管理和硬件升級-遠(yuǎn)程未成功實現(xiàn)的服務(wù)企業(yè)可以改變系統(tǒng)的要求-例如,添加/移除由企業(yè)應(yīng)用器具支持的服務(wù)或修改 非功能性要求。這些改變的影響由遠(yuǎn)程管理服務(wù)評估并且遠(yuǎn)程以及(如果需要的話)現(xiàn)場 管理動作的組合被執(zhí)行以實施這些改變。圖16-21,本發(fā)明的實施例圖16示出了本發(fā)明實施例的一些主要部分。其在左側(cè)示出了企業(yè)側(cè)項目并且在 右側(cè)示出了服務(wù)提供商側(cè)項目。企業(yè)接口 710用于傳遞希望業(yè)務(wù)過程的非功能性要求和功 能性步驟到服務(wù)提供商側(cè)。這里,模型生成部720產(chǎn)生業(yè)務(wù)過程的模型730。這可以存儲在 企業(yè)側(cè)或服務(wù)提供商側(cè)。其可以具有分層結(jié)構(gòu),其中具有用于實施功能性步驟的軟件應(yīng)用 組件的布置以及用于運行軟件應(yīng)用組件以滿足非功能性要求的計算基礎(chǔ)設(shè)施的設(shè)計。模型 生成部的實施方式的更多細(xì)節(jié)在下面參考模型信息流和圖1-15示出。在圖16中還示出了 部署部740,部署部740位于企業(yè)側(cè)或服務(wù)提供商側(cè)。這創(chuàng)建了由部署的建模軟件應(yīng)用組件 和計算基礎(chǔ)設(shè)施形成的部署的業(yè)務(wù)過程750。這形成在企業(yè)專用硬件770上。來自部署業(yè) 務(wù)系統(tǒng)的監(jiān)視數(shù)據(jù)可以被反饋到遠(yuǎn)程管理服務(wù)部700。管理服務(wù)712被提供在服務(wù)提供商 側(cè)以經(jīng)由對應(yīng)的遠(yuǎn)程管理服務(wù)部700與企業(yè)側(cè)通信。這提供了接口以使得服務(wù)提供商能夠 管理企業(yè)側(cè)的活動。這些服務(wù)提供商側(cè)部分一般是在形式為共享數(shù)據(jù)中心資源780的硬件 上運行的軟件部分。如圖17所示,在操作中圖16的系統(tǒng)的步驟的示例開始于在步驟805接收來自企 業(yè)的輸入。這可以包括非功能性要求、以及諸如業(yè)務(wù)過程的功能性步驟(或例如來自目錄 的預(yù)定步驟的選擇)和服務(wù)等級協(xié)定(如果需要的話)之類的其他項目。在步驟815實施 功能性步驟的軟件應(yīng)用組件的模型由模型生成部產(chǎn)生。這可以以各種方式實施,并且下面參考圖1-15來更詳細(xì)描述示例 在步驟825,產(chǎn)生用于運行軟件應(yīng)用組件的計算基礎(chǔ)設(shè)施的模型。這可以是物理基 礎(chǔ)設(shè)施、虛擬化基礎(chǔ)設(shè)施或一般地二者的混合,一些物理基礎(chǔ)設(shè)施用于運行組件并且一些 用于主控虛擬化基礎(chǔ)設(shè)施。所有都被設(shè)計為滿足非功能性要求。從讓操作員做決策但是由 設(shè)計服務(wù)軟件(諸如下面更詳細(xì)描述的設(shè)計模板方法)提示和引導(dǎo)的意義上說,該設(shè)計可 以是半自動化的。在步驟835,設(shè)置企業(yè)專用硬件以匹配模型的要求。在步驟845,將該模 型部署在物理基礎(chǔ)設(shè)施上,用到服務(wù)提供商的接口來使之完整。這有助于實現(xiàn)在步驟855 提供的對部署的過程的日常管理。圖18示出了具有測試的根據(jù)另一實施例的步驟。在步驟800根據(jù)功能性步驟和非 功能性要求產(chǎn)生模型。在步驟810優(yōu)選地產(chǎn)生和輸出專用硬件的規(guī)范。在步驟820根據(jù)所 述規(guī)范設(shè)置硬件以進(jìn)行測試。在步驟830將模型部署在專用硬件上。在步驟840其可以被 測試以驗證其滿足非功能性要求。專用硬件可以在服務(wù)提供商的位置進(jìn)行測試。如果是, 在測試之后將業(yè)務(wù)過程部署在其上,在步驟850可以將其移動到企業(yè)選擇的位置。在那里, 在步驟860應(yīng)該設(shè)置遠(yuǎn)程管理,并且可以在步驟870激活業(yè)務(wù)過程。圖19示出了根據(jù)另一實施例的針對現(xiàn)有專用硬件的步驟。在步驟900,根據(jù)功能 性步驟和非功能性要求并且根據(jù)現(xiàn)有企業(yè)專用硬件的限制來產(chǎn)生模型。在步驟910將模型 部署在現(xiàn)有專用硬件上。在步驟920可以設(shè)置遠(yuǎn)程管理。在步驟930,可以使用遠(yuǎn)程管理部 對其進(jìn)行測試以驗證其滿足非功能性要求。在步驟940,企業(yè)建議對功能性步驟或非功能性 要求的改變。這些被傳遞到模型生成部。服務(wù)提供商使用該部來產(chǎn)生具有對基礎(chǔ)設(shè)施設(shè)計 或軟件應(yīng)用組件的修訂的修訂模型,以實施建議的改變。在步驟970可以在數(shù)據(jù)中心處實 施測試部署,并且在步驟972使用遠(yuǎn)程管理部來發(fā)送所述修訂并且部署它們。圖20示出了另一實施例,其示出了更新部的動作,更新部可以是遠(yuǎn)程管理服務(wù)的 一個部分。對于諸如企業(yè)、軟件供應(yīng)商、或服務(wù)提供商之類的任何方提示的改變,更新部在 步驟975確定應(yīng)該修訂哪些建模實體。這可以是模型的較低層或較高層中的部分。這些改 變可以是在開發(fā)期間或在現(xiàn)場過程的日常管理期間。更新部在企業(yè)處或在服務(wù)提供商位置 處創(chuàng)建測試環(huán)境。在以上引用的共同待決的案子‘2145和‘2601中更詳細(xì)地示出了設(shè)置測 試環(huán)境的可能方式。更新部在步驟985根據(jù)基礎(chǔ)設(shè)施設(shè)計模板在測試環(huán)境中產(chǎn)生改變的測 試部署。如果這些改變被驗證為可允許,滿足模板要求,則更新部將在步驟987使這些改變 被實施。圖21示出了類似于圖16的實施例的另一實施例。酌情使用類似的參考數(shù)字。此 夕卜,一些部分位于企業(yè)本地的ISP (因特網(wǎng)服務(wù)提供商)處。在這個視圖中位于ISP處的部 分被示出在圖的中心處。企業(yè)接口仍位于企業(yè)處。遠(yuǎn)程管理服務(wù)、模型生成部、模型儲存器 和部署部位于ISP處,不過它們可以位于其他地方,諸如位于服務(wù)提供商位置處。企業(yè)專用 硬件是ISP硬件771的一部分。因此,由部署的建模軟件應(yīng)用組件和計算基礎(chǔ)設(shè)施形成的 部署的業(yè)務(wù)過程750形成在ISP硬件771上。這里還示出了測試環(huán)境717,該測試環(huán)境在服 務(wù)提供商的位置處,使得其不占用ISP資源。源內(nèi)容企業(yè)應(yīng)用的軟件可以通過各種源內(nèi)容來描述。通常,該源內(nèi)容為企業(yè)應(yīng)用供應(yīng)商 所擁有,企業(yè)應(yīng)用供應(yīng)商還將負(fù)責(zé)添加模型標(biāo)記注釋??梢源嬖趲追N形式的源內(nèi)容,諸如
·以諸如Java、或ABAP的語言所寫的程序代碼。此代碼可以直接由人類創(chuàng)建,或 者從其它程序模型或工具自動生成?!こ绦蚰P兔枋鱿到y(tǒng)的方面,諸如其靜態(tài)結(jié)構(gòu)、或運行時間行為。以諸如XML的某 種形式的標(biāo)記語言來表示程序模型本身。示例可以是·用于軟件組件的行為的狀態(tài)和動作圖?!っ枋鰳I(yè)務(wù)過程步驟集合的業(yè)務(wù)過程圖。·描述將軟件靜態(tài)打包成可部署單元、可執(zhí)行文件和產(chǎn)品的結(jié)構(gòu)圖??梢越?jīng)由諸如圖形編輯器的 工具或直接由人類來生成程序代碼或程序模型。用來 描述源內(nèi)容的語法和語言可以廣泛地改變。模型信息流所得的計算模型可以用于使系統(tǒng)的模擬、評估和設(shè)計自動化?,F(xiàn)在將描述將一系列模型用于此類目的的示例的更多細(xì)節(jié)。如果從打草稿 (scratch)開始,使用業(yè)務(wù)過程建模工具來設(shè)計業(yè)務(wù)過程。從可用業(yè)務(wù)過程的目錄中選擇業(yè) 務(wù)過程并由業(yè)務(wù)過程建模工具對其進(jìn)行定制。可用業(yè)務(wù)過程是可以被構(gòu)建并運行的業(yè)務(wù)過 程。如下所述,將存在用于這些的對應(yīng)模板。然后,指定諸如可靠性和性能要求的非功能性 特性。接下來,選擇實現(xiàn)業(yè)務(wù)過程所需的軟件實體,諸如產(chǎn)品和組件。這通常通過在整個 產(chǎn)品模型目錄中搜索來完成,其中,用于每個產(chǎn)品的模型指定實現(xiàn)什么業(yè)務(wù)過程。此模型由 應(yīng)用專家或產(chǎn)品供應(yīng)商提供。接下來,設(shè)計計算基礎(chǔ)設(shè)施,諸如虛擬機(jī)、操作系統(tǒng)、和底層硬件。這可以使用在 下文和在通過引用結(jié)合到本文中的上文提及的先前提交的申請序列號11/741878 "Using templates in automatedmodel-based system design,,中更詳細(xì)地描述的模板。模板是具 有參數(shù)和選項的模型,通過填入?yún)?shù)和選擇選項,設(shè)計工具將模板變換成可部署系統(tǒng)的完 整模型。該申請示出一種使用軟件應(yīng)用組件對具有許多計算機(jī)實現(xiàn)步驟的業(yè)務(wù)過程進(jìn)行建 模以使得能夠在計算基礎(chǔ)設(shè)施上自動部署的方法,該方法具有步驟從業(yè)務(wù)過程的未綁定模型自動地導(dǎo)出業(yè)務(wù)過程的植基模型,該未綁定模型指定將 用于業(yè)務(wù)過程的每個計算機(jī)實現(xiàn)步驟的應(yīng)用組件,而沒有計算基礎(chǔ)設(shè)施的完整設(shè)計,并且 所述植基模型指定適合于業(yè)務(wù)過程的自動部署的計算基礎(chǔ)設(shè)施的完整設(shè)計,植基模型的導(dǎo)出具有步驟提供具有計算基礎(chǔ)設(shè)施的預(yù)定部分、該部分之間的預(yù) 定關(guān)系、并具有要完成的有限數(shù)目的選項的基礎(chǔ)設(shè)施設(shè)計模板、通過基于基礎(chǔ)設(shè)施設(shè)計模 板生成完整的候選基礎(chǔ)設(shè)施設(shè)計以及生成未綁定模型所使用的軟件應(yīng)用組件的候選配置 來生成候選植基模型、以及評估候選植基模型,以確定是否可以將其用作植基模型。接下來,識別并分配來自數(shù)據(jù)中心中的共享資源池的物理資源。最后,配置并部署 物理資源并且可以執(zhí)行系統(tǒng)的日常管理。所有這些可以使用SAP R/3作為示例,但是也可適用于其它SAP系統(tǒng)或非SAP系 統(tǒng)。如下所述的模板技術(shù)不僅可以包括實現(xiàn)業(yè)務(wù)過程所需的組件和管理該業(yè)務(wù)過程所需的 管理組件,而且可以包括用于計算基礎(chǔ)設(shè)施的設(shè)計??梢砸愿鞣N方式來實現(xiàn)模型生成部。一種方式是基于稱為模型信息流(MIF)的六 級模型流。這涉及在從業(yè)務(wù)要求一直到完整的運行系統(tǒng)的捕獲過程的生命周期的各級或各階段中開發(fā)模型。在下述圖4中示出六個階段,并且每個階段具有可以如下概括的對應(yīng)類 型的模型· 一般模型起點,例如,基于用戶可以從中進(jìn)行選擇的軟件包的“開箱即用”功能 的業(yè)務(wù)步驟、和一般業(yè)務(wù)過程及其組成業(yè)務(wù)過程步驟的高級描述。 定制過程模型上文已定義,并且例如利用企業(yè)做出的選擇對前一模型(一般模 型)的特殊化。此模型捕獲非功能性要求,諸如響應(yīng)時間、吞吐量和安全性水平。另外,其 指定對用于企業(yè)的一般業(yè)務(wù)過程的修改。另外,其可以指定對用于企業(yè)的一般業(yè)務(wù)過程的 修改。 未綁定模型上文已定義,并且例如能夠以企業(yè)所指定的要求運行業(yè)務(wù)過程的系 統(tǒng)的結(jié)構(gòu)和行為的抽象邏輯描述。 植基模型上文已定義,并且例如可以是對前一模型(未綁定模型)的變換以指 定基礎(chǔ)設(shè)施選擇(諸如要使用的虛擬化技術(shù)以及硬件的數(shù)量和類型)以及還指定運行業(yè)務(wù) 過程的軟件的結(jié)構(gòu)和配置。
·綁定模型已為其保留數(shù)據(jù)中心中的資源的植基模型?!ひ巡渴鹉P鸵呀?jīng)部署并配置基礎(chǔ)設(shè)施和軟件組件的植基模型。此時,服務(wù)啟動 并運行。該流程的每個階段具有存儲在模型倉庫中的對應(yīng)類型的模型。管理服務(wù)消費 (consume)由模型倉庫提供的模型并執(zhí)行管理動作以實現(xiàn)階段之間的過渡,以在MIF中生 成下一個模型。那些服務(wù)可以是例如·基于模板的設(shè)計服務(wù)(TDS)(和基于模型的設(shè)計服務(wù)的示例)基于模板將非功 能性要求轉(zhuǎn)換成用于植基模板的設(shè)計選擇。 資源獲取服務(wù)(RAS)其目的是在諸如vm的虛擬資源的部署之前分配物理資源?!べY源配置服務(wù)(RCS)其作用是創(chuàng)建/更新虛擬基礎(chǔ)設(shè)施。·軟件部署服務(wù)(SDS)安裝并配置運行業(yè)務(wù)過程所需的應(yīng)用和潛在的其它軟件。 監(jiān)視服務(wù)(MS)部署探測器以監(jiān)視已部署模型的行為。這可以包括在這三個層級 中的任何一個或多個處進(jìn)行監(jiān)視〇基礎(chǔ)設(shè)施例如監(jiān)視CPU、RAM、網(wǎng)絡(luò)1/0使用,與哪個應(yīng)用或功能性步驟正在執(zhí) 行無關(guān)。〇應(yīng)用例如監(jiān)視所花費的時間或操作系統(tǒng)上的諸如DB過程的給定應(yīng)用的CPU消 耗,與使用哪個特定的基礎(chǔ)設(shè)施組件無關(guān)。〇業(yè)務(wù)過程例如計算每小時銷售訂單的數(shù)目,與使用哪些基礎(chǔ)設(shè)施組件或應(yīng)用無關(guān)。用于計算基礎(chǔ)設(shè)施設(shè)計的模板使用模板來捕獲已知(使用上述管理服務(wù))成功實例化的設(shè)計。模板的示例描述 在具有一定量的存儲器的Linux虛擬機(jī)(vm)上運行的SAP模塊。模板還捕獲已知可以執(zhí) 行的管理操作,例如特定種類的vm的遷移、增加vm的存儲器、部署附加應(yīng)用服務(wù)器以對高 負(fù)荷進(jìn)行響應(yīng)等。如果變化管理服務(wù)參考模板,則可以使用模板來限制可以應(yīng)用于模型的 變化(改變(deltas))的類型。模板有時已在特定工具中用來限制選擇。另一種方法是使用為工具和用戶提供更大自由的約束。在這種方法中,指定解決方案必須滿足的約束或規(guī)則。一個示例可能是在應(yīng) 用配置中必須存在至少一個應(yīng)用服務(wù)器和至少一個數(shù)據(jù)庫。這些約束自己對于典型的業(yè)務(wù) 過程而言并不充分地降低復(fù)雜性,因為如果存在很少的約束,則存在大量的可能設(shè)計(也 稱為大的解空間)。如果存在(表征解所需的)大量的約束,則搜索所有約束并對其求解是 非常困難的-有巨大的解空間要探索。并且,從大的約束列表中找出哪個約束使給定的可 能設(shè)計無效將花費很長的時間。模板還可能包含用于管理變化的指令。例如,其可以包括需要發(fā)布給應(yīng)用組件以 添加具有新的從應(yīng)用服務(wù)器的新虛擬機(jī)的重配置指令。植基模型的導(dǎo)出可以涉及指定應(yīng)用組件所需的所有服務(wù)器。這是自適應(yīng)基礎(chǔ)設(shè)施 的設(shè)計的一部分以及已部署業(yè)務(wù)過程的性能的主要決定因素之一。模板可以限制服務(wù)器的 數(shù)目或類型,以減少選項的數(shù)目,從而降低例如找出最優(yōu)化解決方案的復(fù)雜性。從未綁定模型導(dǎo)出植基模型可以涉及指定每個應(yīng)用組件到服務(wù)器的映射。這是將 應(yīng)用組件配置為適合自適應(yīng)基礎(chǔ)設(shè)施的設(shè)計的一部分。模板可以限制可能的映射的范圍, 以減少選項的數(shù)目,從而降低例如找出最優(yōu)化解決方案的復(fù)雜性。 從未綁定模型導(dǎo)出植基模型可以涉及指定用于監(jiān)視在使用中的已部署業(yè)務(wù)過程 的管理基礎(chǔ)設(shè)施的配置。此監(jiān)視可以是在一個或多個不同層級,諸如監(jiān)視軟件應(yīng)用組件、或 底層自適應(yīng)基礎(chǔ)設(shè)施,諸如軟件操作系統(tǒng),或處理硬件、存儲或通信??梢詫?dǎo)出多于一個的植基模型,每個模型用于在不同的時間部署同一業(yè)務(wù)過程。 例如,這可以使得能夠更高效地將資源用于對那些資源具有隨時間變化的需求的業(yè)務(wù)過 程??梢砸匀魏纬掷m(xù)時間切換在給定時間部署哪個植基模型,諸如每小時、每天、每夜、每 周、每月、每個季度等等。該切換可以是在預(yù)定時間,或者可以根據(jù)所監(jiān)視的需求、諸如硬件 故障的所檢測的資源變化、或任何其它因素來布置切換。在計算基礎(chǔ)設(shè)施具有虛擬化實體的情況下,可以將植基模型的導(dǎo)出布置為指定一 個或多個虛擬化實體,而不指示如何主控所述虛擬化實體?,F(xiàn)在已經(jīng)認(rèn)識到可以通過隱藏 此類主控來簡化模型及其導(dǎo)出,因為在一虛擬實體由另一虛擬實體主控、所述另一虛擬實 體本身由另一個虛擬實體主控等等的意義上,該主控可以涉及任意的遞歸。模板可以指定 虛擬實體,并將應(yīng)用組件映射到此類虛擬實體,以限制要選擇的選項的數(shù)目,從而再次降低 復(fù)雜性。如果此類模板不需要指定虛擬實體的主控,則其將是更簡單的??梢岳缤ㄟ^單 獨的資源分配服務(wù)在部署之前的某一時間定義該主控??梢酝ㄟ^在自適應(yīng)基礎(chǔ)設(shè)施中保留用于部署綁定模型的資源來將植基模型轉(zhuǎn)換 成綁定模型。此時,所需的資源的量是已知的,因此,這時保留資源可以比較早的保留更高 效,不過可以設(shè)想其它可能性。如果植基模型是對于現(xiàn)有部署的變化,則該方法可以具有確 定與現(xiàn)有已部署模型的差異并僅保留所需的附加資源的步驟??梢酝ㄟ^安裝并啟動綁定模型的應(yīng)用組件來部署綁定模型。這使得能夠使用業(yè)務(wù) 過程。如果植基模型是對于現(xiàn)有部署的變化,則可以確定與現(xiàn)有已部署模型的差異,并且只 需要安裝和啟動附加應(yīng)用組件。建?;驹碇兄档米⒁獾膬牲c是使用模板來呈現(xiàn)可以實例化的資源的有限目 錄,以及不暴露虛擬化資源的主控關(guān)系。任一者或兩者可以幫助降低模型的復(fù)雜性并因此 使得能夠更高效地處理模型以進(jìn)行部署或在部署之后進(jìn)行改變。
某些實施例可以使用基礎(chǔ)設(shè)施能力模型來呈現(xiàn)可以由計算架構(gòu)提供的資源的可 能類型?;A(chǔ)設(shè)施能力模型的實例包含可以由底層公用計算架構(gòu)部署和配置的每種類型的 計算機(jī)系統(tǒng)或設(shè)備的一個實例。每當(dāng)公用設(shè)施部署并配置這些類型之一時,配置將始終是 相同的。對于計算機(jī)系統(tǒng)而言,這可以例如意味著以下各項。
相同的存儲器、CPU、操作系統(tǒng)具有相同I/O容量的相同數(shù)目的NIC具有相同特性的相同數(shù)目的盤模板可以將應(yīng)用組件映射到計算機(jī),同時允許改變應(yīng)用組件和計算機(jī)兩者的范 圍。另外,該模板還可以包括某些或所有網(wǎng)絡(luò)設(shè)計,包括例如防火墻和子網(wǎng)是否將解決方案 中的計算機(jī)分離。在下文更詳細(xì)地描述的實施例中,應(yīng)用打包模型連同定制過程模型一起 示出各種應(yīng)用組件可以如何實現(xiàn)業(yè)務(wù)過程,并被打包在植基模型內(nèi)。還可以使用所選的模板來限制對系統(tǒng)的改變,諸如對業(yè)務(wù)過程的改變、對應(yīng)用組 件的改變、或?qū)A(chǔ)設(shè)施的改變,或由這些中的任何一個引起的作為結(jié)果的變化。這可能使 自適應(yīng)基礎(chǔ)設(shè)施的日常管理成為更易處理的計算問題,并因此允許更多的自動化并因此降 低成本。在某些示例性模板中,某些性質(zhì)具有范圍例如0至η、或2至η。變化管理工具 (或向?qū)?wizard),或工具或向?qū)Ъ?僅允許對系統(tǒng)進(jìn)行與模板一致的改變。該模板被 此變化管理工具用來計算可容許變化集合;其僅僅允許可容許變化。如果不存在限制否則 幾乎數(shù)目無窮的可能配置的模板,這可以幫助避免在計算當(dāng)前和下一個狀態(tài)的模型之間的 差異方面的上述困難。這些特征的某些優(yōu)點或后果如下1.簡單性通過使用模板,構(gòu)建鏈接的工具集合以在設(shè)計、部署和改變的整個生 命周期中集成業(yè)務(wù)過程、應(yīng)用及基礎(chǔ)設(shè)施設(shè)計和管理在計算上變得易處理。2.通過限制自適應(yīng)基礎(chǔ)設(shè)施的可能配置的數(shù)目,減輕或避免了必須計算復(fù)雜模型 的較早和稍后狀態(tài)之間的差異的特定計算問題。這可以幫助實現(xiàn)用于自適應(yīng)基礎(chǔ)設(shè)施的管 理系統(tǒng),其可以自動地確定如何將系統(tǒng)從任意的現(xiàn)有狀態(tài)發(fā)展到任意的期望變化狀態(tài)。作 為替代,模板固定可容許變化的集合且被用作變化管理工具的配置。3.模板模型在形式上將業(yè)務(wù)過程、應(yīng)用組件和基礎(chǔ)設(shè)施設(shè)計相關(guān)。這意味著例如 對這些中的任何一個的設(shè)計、或改變可以根據(jù)其它項進(jìn)行,以便避免與其它不一致的設(shè)計 或改變。圖1概觀圖1示出根據(jù)實施例的基礎(chǔ)設(shè)施、應(yīng)用、以及管理工具和模型的概觀。通??蛇x地 經(jīng)由業(yè)務(wù)過程BP調(diào)用中心300,通過互聯(lián)網(wǎng)將自適應(yīng)基礎(chǔ)設(shè)施280耦合到客戶290。管理 系統(tǒng)210具有使用許多模型來管理設(shè)計和部署及對已部署業(yè)務(wù)過程的日常改變的工具和 服務(wù)。例如,如所示,管理系統(tǒng)具有初始設(shè)計工具211、設(shè)計改變工具213、部署工具215、以 及監(jiān)視和管理工具217。這些可以采取在可以是分布式的常規(guī)處理硬件上運行的軟件工具 的形式。初始設(shè)計工具和設(shè)計改變工具的示例由下述圖5所示的服務(wù)示出。示出了用于兩個業(yè)務(wù)過程的某些模型的高級示意圖可能存在更多業(yè)務(wù)過程。通 常,管理系統(tǒng)屬于服務(wù)提供商,該服務(wù)提供商受雇向企業(yè)提供IT服務(wù),該企業(yè)控制其自己 的用于其客戶的業(yè)務(wù)過程。業(yè)務(wù)過程1的模型230用來開發(fā)軟件應(yīng)用組件的設(shè)計250。這被用來創(chuàng)建用于運行應(yīng)用組件以實現(xiàn)業(yè)務(wù)過程的基礎(chǔ)設(shè)施設(shè)計270。此設(shè)計然后可以被管理系統(tǒng)部署為在實際自適應(yīng)基礎(chǔ)設(shè)施上運行,在那里,其可以例如被客戶、調(diào)用中心和供應(yīng) 商(為明了起見未示出)使用。類似地,項目220示出第二業(yè)務(wù)過程的模型,其用來開發(fā)軟 件應(yīng)用組件的設(shè)計240。這被用來創(chuàng)建用于運行應(yīng)用組件以實現(xiàn)第二業(yè)務(wù)過程的基礎(chǔ)設(shè)施 設(shè)計260。此設(shè)計然后也可以被管理系統(tǒng)部署為在實際自適應(yīng)基礎(chǔ)設(shè)施上運行。該管理系統(tǒng)具有到基礎(chǔ)設(shè)施管理操作員200的視覺接口,其可能具有3D視覺表 示,如在上面引用的對應(yīng)的共同待決申請中描述的。該操作員可以是服務(wù)提供商人員,或在 一些情況下可以是擁有該過程的企業(yè)的經(jīng)過培訓(xùn)的人員。服務(wù)提供商人員可以能夠查看和 管理在共享基礎(chǔ)設(shè)施上部署的不同業(yè)務(wù)的過程。給定企業(yè)的操作員將能夠查看和管理僅僅 他們自己的過程。如上所述,接口可以耦合到管理系統(tǒng)210以使得操作員能夠與各種類型 的模型交互以及與基礎(chǔ)設(shè)施設(shè)計模板交互。自適應(yīng)基礎(chǔ)設(shè)施可以包括管理基礎(chǔ)設(shè)施283,用于耦合到管理系統(tǒng)的監(jiān)視和管理 工具217。不需要將所有這些模型一起保持在單個倉庫中,原則上,可以將其存儲在任何地 方。圖2操作圖2示出根據(jù)實施例的由操作員和管理系統(tǒng)進(jìn)行的某些操作步驟的示意圖。人類 操作員動作在左側(cè)列中示出,并且管理系統(tǒng)的動作在右側(cè)列中示出。在步驟500處,人類操 作員設(shè)計并輸入業(yè)務(wù)過程(BP)。在步驟510處,管理系統(tǒng)創(chuàng)建BP的未綁定模型。在步驟 520處,操作員選擇用于設(shè)計計算基礎(chǔ)設(shè)施的模板。在步驟530處,系統(tǒng)使用所選模板根據(jù) 未綁定模型和所選模板來創(chuàng)建BP的植基模型。原則上,模板的選擇可能是自動化的或由系 統(tǒng)引導(dǎo)。服務(wù)提供商的人類操作員然后促使植基模型被部署,或者作為具有真實客戶的現(xiàn) 場業(yè)務(wù)過程或作為在受控或模擬條件下的測試部署。可以在將植基模型部署為現(xiàn)場業(yè)務(wù)過 程之前對其適合性進(jìn)行評估下面參照圖3來描述如何這樣做的示例。在步驟550處,系統(tǒng)在自適應(yīng)基礎(chǔ)設(shè)施中部署B(yǎng)P的植基模型。由任何類型的監(jiān)視 裝置來監(jiān)視已部署的BP,并將監(jiān)視結(jié)果傳遞給人類操作員。在步驟570處審查監(jiān)視結(jié)果之 后,在步驟575處,企業(yè)的操作員可以設(shè)計對BP的改變,或者服務(wù)提供商的操作員可以設(shè)計 對基礎(chǔ)設(shè)施的改變。這些被輸入到系統(tǒng),并且在步驟580處,系統(tǒng)判定改變是否被同一模板 允許。如果不是,則在步驟585處,操作員判定贊成新模板,這涉及返回到步驟520 ;或者判 定在同一模板的限制內(nèi)進(jìn)行重新設(shè)計,這涉及在步驟587處,系統(tǒng)基于同一模板創(chuàng)建該改 變的植基模型。在步驟590處,服務(wù)提供商的操作員引起植基模型的部署以用于測試或現(xiàn)場部 署。在步驟595處,系統(tǒng)部署所述改變的植基模型。原則上,稍后可以通過生成完整的植基 模型并在稍后確定差異來導(dǎo)出該改變,但是這可能更加困難。圖3操作圖3示出實施例的概觀,其示出在對業(yè)務(wù)過程進(jìn)行自動化部署中涉及的某些步驟 和模型。這些步驟可以由圖1的管理系統(tǒng)來執(zhí)行,或者可以在其它實施例中使用。業(yè)務(wù)過程模型15具有步驟I-N的規(guī)范。例如,如眾所周知的那樣,可能存在許多 循環(huán)和條件分支。其可以是人類和計算機(jī)實現(xiàn)步驟的混合,人類輸入例如由客戶或供應(yīng)商 或第三方執(zhí)行。在步驟65處,針對業(yè)務(wù)過程的每個計算機(jī)實現(xiàn)步驟指定應(yīng)用組件。在步驟75處,基于未綁定模型25,自動地指定計算基礎(chǔ)設(shè)施的完整設(shè)計。這可以涉及在步驟85處獲取基礎(chǔ)設(shè)施設(shè)計模板35,并選擇模板允許的選項來創(chuàng)建候選基礎(chǔ)設(shè)施設(shè)計。這可以包括 軟件和硬件部分的設(shè)計。在步驟95處,創(chuàng)建模板允許的軟件應(yīng)用組件的候選配置,以適合 候選基礎(chǔ)設(shè)施設(shè)計。這些一起形成候選植基模型。在步驟105處,評估候選植基模型。如果必要,創(chuàng)建并評估另外的候選植基模型。 識別候選中的哪一個最佳地適合業(yè)務(wù)過程和可用資源的要求。存在許多可能的評估方式和 許多可能的標(biāo)準(zhǔn),其可以被布置為適應(yīng)于業(yè)務(wù)過程的類型。例如,可以將該標(biāo)準(zhǔn)結(jié)合到未綁 定模型中??梢源嬖诿總€用于不同時間或不同條件的幾個植基模型。例如,隨時間變化的 非功能性要求可以導(dǎo)致不同的物理資源、或乃至重配置VM可能在不辦公的時間移除存儲 器,因為較少人將在使用它。甚至可能關(guān)閉未充分利用的從應(yīng)用服務(wù)器VM。不同的植基模 型通常但不一定來自同一模板,其中不同參數(shù)被應(yīng)用以生成不同的植基模型。模板、植基模型和后續(xù)模型可以包含用于管理基礎(chǔ)設(shè)施的配置信息和用于管理基 礎(chǔ)設(shè)施的指令,以便在部署時監(jiān)視業(yè)務(wù)過程。示例是在每個新部署的虛擬機(jī)中設(shè)置監(jiān)視器, 其在CPU利用率上升至一定水平-例如60% -以上時發(fā)出警報。圖 4MIF圖4示出在從定制模型到已部署實例的過渡中涉及的MIF的某些主要元素。為簡 單起見,其未示出在典型應(yīng)用生命周期中將涉及的許多循環(huán)和迭代-這些可能被采用。業(yè) 務(wù)過程的一般模型15是起點,并且假設(shè)客戶或咨詢者已經(jīng)設(shè)計了定制業(yè)務(wù)過程??梢砸愿?種方式來對其進(jìn)行表示,因此許多實施例中的初步步驟是對其進(jìn)行定制。定制模型18是一 般模型的定制化。因此,很可能使用與針對建模定制模型說明的技術(shù)類似的技術(shù)來對一般 模型進(jìn)行建模將存在不同的業(yè)務(wù)過程步驟。定制模型在以下方面不同于一般模型。其將 包括非功能性要求,諸如用戶數(shù)目、響應(yīng)時間、安全性和可用性要求。另外,其可以可選地涉 及重新布置業(yè)務(wù)過程步驟新分支、新循環(huán)、新步驟、不同/替換步驟、涉及遺留或外部系統(tǒng) 的步驟。用諸如應(yīng)用性能31、應(yīng)用打包21、和應(yīng)用約束27的輸入將定制模型轉(zhuǎn)換成未綁定 模型25。未綁定模型可以至少指定將用于業(yè)務(wù)過程的每個計算機(jī)實現(xiàn)步驟的應(yīng)用組件,而 沒有計算基礎(chǔ)設(shè)施的完整設(shè)計。用來自基礎(chǔ)設(shè)施能力33的模型的輸入和基礎(chǔ)設(shè)施設(shè)計模 板35將未綁定模型轉(zhuǎn)換成植基模型55。植基模型的部署可以涉及轉(zhuǎn)換到綁定模型57,然后將綁定模型轉(zhuǎn)換到已部署模型 63。綁定模型可以保留資源,并且已部署模型涉及安裝并啟動應(yīng)用。圖 5MIF圖5示出根據(jù)另一實施例的模型和步驟序列。其示出模型倉庫310,該模型倉庫 310可以具有諸如模板(TMP)、未綁定模型(UM)、綁定模型(BM)、部分已部署模型(PDM)、完 全已部署模型(FDM)的模型。該圖還示出各種服務(wù),諸如用于使用模板根據(jù)未綁定模型生 成植基模型的服務(wù)320。另一服務(wù)是用于使用資源目錄340保留資源以創(chuàng)建綁定模型的資 源獲取服務(wù)330。自適應(yīng)基礎(chǔ)設(shè)施管理服務(wù)350可以根據(jù)綁定模型在自適應(yīng)基礎(chǔ)設(shè)施280中配置并 激發(fā)(ignite)虛擬機(jī),以創(chuàng)建部分已部署模型。最后,可以使用軟件部署服務(wù)360來獲取部分已部署模型并安裝且啟動應(yīng)用組件以啟動業(yè)務(wù)過程,并創(chuàng)建完全已部署模型。圖6導(dǎo)出植基模型圖6示出根據(jù)實施例的導(dǎo)出植基模型中的步驟。在步驟400處,從諸如集中式或 分散式布置的示例中選擇模板。集中式布置意味著在單個服務(wù)器或虛擬服務(wù)器上主控全 部。其它模板選擇可以是例如高或低安全性,取決于例如提供什么防火墻或其它安全性特 征。其它 模板選擇可以是例如高或低可用性,其可以意味著為某些或所有部分提供冗余。在步驟410處,填充所選模板中的其余選項。這可以涉及選擇例如盤大小、對話過 程的數(shù)目、服務(wù)器的數(shù)目、服務(wù)器存儲器、網(wǎng)絡(luò)帶寬、服務(wù)器存儲器、網(wǎng)絡(luò)帶寬、允許的數(shù)據(jù) 庫時間等。在步驟420處,通過所述選擇來創(chuàng)建候選植基模型。步驟430涉及例如通過用所 表示的資源并用表示處理延遲、db延遲等的同步點來構(gòu)建排隊網(wǎng)絡(luò)而評估候選植基模型。 可替換地,所述評估可以涉及將模型部署在具有模擬輸入和條件的隔離網(wǎng)絡(luò)中。在步驟440處,將評估或模擬結(jié)果與用于未綁定模型的目標(biāo)相比較。這些可以是 性能目標(biāo),諸如在給定響應(yīng)時間的情況下同時用戶的最大數(shù)目,或?qū)τ诮o定數(shù)目的用戶而 言的最大響應(yīng)時間。在步驟450處,可以用模板所允許的不同選項來創(chuàng)建并測試另一候選 植基模型。在步驟460處,針對一個或多個不同模板重復(fù)該過程。在步驟470處,比較結(jié)果 以識別哪個或哪些候選提供最佳的適合。如果例如目標(biāo)或要求例如在不同的時間是不同 的,則可以選擇多于一個的植基模型。在這種情況下,可以以對第一植基模型的改變的形式 來創(chuàng)建第二或后續(xù)植基模型。圖7主應(yīng)用服務(wù)器和從應(yīng)用服務(wù)器圖7示出根據(jù)實施例的用于計算基礎(chǔ)設(shè)施的分散式或分布式設(shè)計的主應(yīng)用服務(wù) 器和從應(yīng)用服務(wù)器的布置。主應(yīng)用服務(wù)器50被提供為通過網(wǎng)絡(luò)耦合到數(shù)據(jù)庫60、并耦合到 許多從應(yīng)用服務(wù)器70??梢詫⒛承膽?yīng)用服務(wù)器實現(xiàn)為虛擬從應(yīng)用服務(wù)器72。每個從應(yīng) 用服務(wù)器可以具有許多對話工人過程80。主應(yīng)用服務(wù)器還使用客戶端軟件10耦合到遠(yuǎn)程 用戶。這些均可以具有在例如通過互聯(lián)網(wǎng)耦合的臺式PC 20上的圖形用戶界面⑶I。一旦 客戶端已使用主應(yīng)用服務(wù)器登陸,則客戶端可以直接使用從應(yīng)用服務(wù)器。圖8主應(yīng)用服務(wù)器圖8示出用于圖7的實施例的主應(yīng)用服務(wù)器的各部分。提供排隊過程100以管理 數(shù)據(jù)庫上的鎖。提供消息服務(wù)器120以管理用戶的登錄和用戶到例如從應(yīng)用服務(wù)器的分 配。提供更新服務(wù)器130以用于管理提交工作以在數(shù)據(jù)庫中永久性存儲。如果需要,可以 提供打印服務(wù)器140??梢蕴峁┘倜摍C(jī)(spool)服務(wù)器150以運行諸如報告的批任務(wù)。在 160處,示出了用于運行應(yīng)用組件的實例的對話工人過程。圖9虛擬實體圖9示出供在實施例中使用的服務(wù)器上的虛擬實體的布置。示出了虛擬實體的分 級結(jié)構(gòu)。在操作系統(tǒng)層級,存在許多虛擬機(jī)VM。在其它VM上主控某些VM。例如通過時間 共享或通過并行處理電路,在表示硬件處理實體的可重配置分區(qū)的虛擬分區(qū)VPAR 610上 主控某些VM。這些中的若干可以由表示例如安裝若干硬件處理實體的電路板的硬分區(qū)實體 nPAR 620來主控。多個nPAR構(gòu)成物理計算機(jī)630,物理計算機(jī)630通常通過網(wǎng)絡(luò)接口 650 耦合到網(wǎng)絡(luò)并諸如經(jīng)由存儲區(qū)域網(wǎng)絡(luò)SAN接口 640耦合到存儲裝置。在市場上存在來自HP、IBM、EMC以及其他公司的許多商業(yè)存儲裝置虛擬化產(chǎn)品。這些產(chǎn)品集中于管理可用于物理機(jī)的存儲裝置和增加存儲裝置的利用率。虛擬機(jī)技術(shù)是獨 立于其它操作系統(tǒng)實例在一個物理機(jī)上運行操作系統(tǒng)實例的一種已知機(jī)制。已知的是在單 個物理機(jī)內(nèi)具有由此機(jī)器上的虛擬網(wǎng)絡(luò)連接的兩個虛擬機(jī)。VMware是虛擬機(jī)技術(shù)的已知示 例,并可以提供用于在同一物理機(jī)上運行的不同操作系統(tǒng)實例的隔離環(huán)境。
還存在可以發(fā)生虛擬化的許多層級。例如,HP的蜂窩體系架構(gòu)允許將單個物理計 算機(jī)劃分成許多硬分區(qū)或nPAR。每個nPAR對于操作系統(tǒng)和應(yīng)用表現(xiàn)為單獨的物理機(jī)。類 似地,可以將每個nPAR劃分成許多虛擬分區(qū)或vPAR,并且可以將每個vPAR劃分成許多虛擬 機(jī)(例如,HPVM、Xen、VMware)。圖 10 至 15本文接下來的部分參照圖10至15來更詳細(xì)地描述可以在圖1至9、特別是圖4所 示的模型信息流(MIF)內(nèi)使用的模型的示例。這些模型可以用來在公用基礎(chǔ)設(shè)施內(nèi)在其整 個生命周期中管理SAP應(yīng)用或其它業(yè)務(wù)過程。使用眾所周知的使用CIM(公共信息模型) 樣式的UML(統(tǒng)一建模語言)示出了這些圖示。該實現(xiàn)可以是以Java或其它軟件語言。定制模型可以具有BusinessProcess (業(yè)務(wù)過程)與AIService的實例之間的 一一對應(yīng)關(guān)系。AlService是實現(xiàn)業(yè)務(wù)過程的信息服務(wù)??梢詫I(yè)務(wù)過程分解成若干業(yè)務(wù)過程步驟(BPst印),因此,BusinessProcess 類的實例可以包含1個或多個BPSt印??梢詫PSt印的實例拆分成多個較小BPSt印, 涉及例如序列、分支、遞歸、和循環(huán)。一旦BusinessProcess步驟被分解成足夠的細(xì) 節(jié),可以使每個最低水平的BPSt印與ApplicationComponent (應(yīng)用組件)匹配。 ApplicationComponent (應(yīng)用組件)是實現(xiàn)BPSt印的程序或函數(shù)。對于SAP而言,示例將 是SAP R/3 Enterprise的SD (銷售和分銷包)中的稱為VAOl的SAP事務(wù)。另一示例可以 是特定的web服務(wù)(在應(yīng)用服務(wù)器中運行)。BPStep可以具有StepType (步驟類型)和stepParams (步驟參數(shù))字段以不僅描 述類似于步驟的較高級序列的執(zhí)行和分支概念,而且描述步驟本身。StepType字段用來定 義順序或并行執(zhí)行、循環(huán)、以及if-then-else (如果-則-否則)語句。stepParams字段 用來定義關(guān)聯(lián)數(shù)據(jù)。例如,在循環(huán)的情況下,st印Params字段可以是循環(huán)計數(shù)或終止標(biāo)準(zhǔn)。 BPStep集合本質(zhì)上描述具有諸如循環(huán)、if-then-else (如果-則-否則)語句、分支概率等 各種控制的步驟的圖。關(guān)系BPSt印sToApplicationComponentMapping(BPSt印到應(yīng)用組件映射)是詳細(xì) 描述BPSt印被如何映射到Application Component (應(yīng)用組件)的復(fù)雜映射。其以精簡形 式表示BPSt印對ApplicationComponent (應(yīng)用組件)的調(diào)用的潛在復(fù)雜混合物,諸如在 ApplicationComponent (應(yīng)用組件)內(nèi)調(diào)用的特定對話步驟或函數(shù)或?qū)eb服務(wù)的方法調(diào) 用的集合,以及提供的參數(shù)細(xì)節(jié),諸如銷售訂單中的行式項目的平均數(shù)目。BPSt印可以具有與之相關(guān)的一組非功能性要求(NonFunctionalRequirements) 性能、可用性、安全性以及其他??梢杂纱案摺薄ⅰ爸小?、“低”來對可用性和安全性要求進(jìn)行 建模。在例如注冊用戶數(shù)目(NoUsersReq)、系統(tǒng)的并發(fā)用戶數(shù)目、以秒為單位的響應(yīng)時間和 對于每秒事務(wù)數(shù)目的吞吐量要求方面指定性能要求。許多BPStep可以共享同一組非功能 性要求??梢杂纱畞肀硎緯r間函數(shù)。其指定何時應(yīng)用非功能性要求,因此可以在辦公時間 到正常辦公時間之外的時間期間應(yīng)用不同的要求。更豐富的時變函數(shù)也是可能的以捕獲月末峰值等。
圖10、11定制模型對于定制模型的示例而言,將討論眾所周知的銷售和分銷(SD) Benchmark (基 準(zhǔn))。這是由眾所周知的德國公司SAP生產(chǎn)的軟件。其為SAP R/3系統(tǒng)的一部分,SAP R/3 系統(tǒng)是執(zhí)行諸如制造、會計、財務(wù)管理、和人力資源的用于公司的標(biāo)準(zhǔn)業(yè)務(wù)功能的軟件的集 合。SAPR/3系統(tǒng)是能夠在幾乎任何硬件/軟件平臺上運行且能夠使用許多不同的數(shù)據(jù)庫管 理系統(tǒng)的客戶端服務(wù)器系統(tǒng)。例如,其可以使用利用數(shù)據(jù)庫系統(tǒng)DB2運行操作系統(tǒng)0S/400 的IBM AS/400服務(wù)器;或使用Oracle數(shù)據(jù)庫系統(tǒng)的Sun Solaris (Unix的衍生版本);或 使用SQL服務(wù)器運行Windows NT的IBM PC。SAP R/3被設(shè)計為允許客戶選擇其自己的業(yè)務(wù)功能集合,并進(jìn)行定制以添加新的 數(shù)據(jù)庫實體或新功能。SD Benchmark使用SD (銷售和分銷)應(yīng)用模擬許多并發(fā)用戶以評估 硬件的性能能力。對于每個用戶而言,交互由一遍又一遍地重復(fù)的16個單獨步驟(對話步 驟)組成。在圖10中示出該步驟及其到SAP事務(wù)的映射。這里,事務(wù)是應(yīng)用組件的示例。 每個事務(wù)被示為行中的若干方框。每行中的第一個方框表示用戶例如通過鍵入/nvaOl以 開始事務(wù)VAOl來調(diào)用事務(wù)。如圖10所示,頂行中的事務(wù)VAOl涉及調(diào)用創(chuàng)建銷售訂單事 務(wù)、然后填充訂單細(xì)節(jié)、然后保存售達(dá)方、以及以保存數(shù)據(jù)的“返回”功能F3結(jié)束的業(yè)務(wù)過 程步驟。在第二行中示出下一個事務(wù)VL01N,并且其涉及如下步驟以創(chuàng)建外出遞送。調(diào)用該 事務(wù),填充并保存裝運信息。在第三行中示出下一個事務(wù)VA03,其用于顯示客戶銷售訂單。 這涉及調(diào)用該事務(wù),并填充隨后的文檔。在第四行中是第四事務(wù)VL02N,其用于改變外出遞 送。在調(diào)用此事務(wù)之后,下一個方框示出保存外出遞送。第五行所示的下一個事務(wù)是VA05, 其用于列出銷售訂單。在調(diào)用此事務(wù)之后,下一個方框示出提示用戶填充日期,并且然后第 三方框示出列出給定日期的銷售訂單。最后,在第六行中,事務(wù)VFOl用于創(chuàng)建賬單文檔,并 示出填充表格且保存已填充表格。圖11示出用于SD Benchmark的定制模型實例的示例。頂部的兩個方框指示業(yè)務(wù) 過程"BPModel ” 包含一個頂層級 BPSt印“SDBenchmark”,其中 st印Type = Sequence (序 列)。示出了從此方框引出的兩條線,一個線到與此頂層級BPStep相關(guān)的并由左側(cè)的方框 示出的非功能性要求。在這種特定情況下,僅僅指定性能要求_ 一個用于9am 5pm且另 一個用于5pm 9am。未示出的其它類型的非功能性要求可以包括例如安全性或可用性要 求。在每種情況下,可以如所示地指定性能要求,諸如用戶的數(shù)目、并發(fā)用戶的數(shù)目、所需的 響應(yīng)時間、以及所需的吞吐量。這些僅僅是示例,可以指定其它要求以適合業(yè)務(wù)過程的類 型。如所示,表示相應(yīng)時間函數(shù)的方框被耦合到每個性能要求方框。在本示例中,一個指示 9am至5pm且另一指不5pm至9am。在右側(cè),一條線從SD Benchmark BPStep引出到被示為六個BPSt印的功能性要 求,其中st印Type = St印(步驟)-一個用于圖10所示的每個SAP事務(wù)(VA01、VL01N等)。 為方便起見,將圖10所示的每個事務(wù)的第一對話步驟的名稱用作圖11所示的對應(yīng)BPStep 的名稱(“創(chuàng)建銷售訂單”、“創(chuàng)建外出遞送”、“顯示客戶銷售訂單”、“改變外出遞送”、“列出銷 售訂單”、和“創(chuàng)建遞送文檔”)。對于這些步驟中的每一個而言,BPSt印ToApplicationCompo nentMapping關(guān)系指定所涉及的對話步驟的細(xì)節(jié)。例如,在CreateSalesOrder (創(chuàng)建銷售訂 單)的情況下,圖10示出BPSt印ToApplicationComponentMapping需要指定按順序執(zhí)行以下對話步驟“創(chuàng)建銷售訂單”、“填充訂單細(xì)節(jié)”、“售達(dá)方”和“返回”。另外,其可能指定“填 充訂單細(xì)節(jié)”所需的行式項目的數(shù)目。在圖的右側(cè),每個BP步驟經(jīng)由相應(yīng)映射耦合到其對應(yīng) 的ApplicationComponent (應(yīng)用組件)的實例。因此,BPst印“創(chuàng)建銷售訂單”經(jīng)由具有ID 001的映射耦合到App 1 icationComponent (應(yīng)用組件)VAO1。BPst印“創(chuàng)建外出遞送”經(jīng)由具 有ID 002的映射耦合到ApplicationComponent (應(yīng)用組件)VL01N。BPst印“顯示客戶銷售 訂單”經(jīng)由具有ID 003的映射耦合到ApplicationComponent (應(yīng)用組件)VA03。BPst印“改 變外出遞送”經(jīng)由具有ID 004的映射耦合到ApplicationComponent (應(yīng)用組件)VL02N。 BPst印“列出銷售訂單”經(jīng)由具有ID :005的映射耦合到ApplicationComponent (應(yīng)用組件) VA05。BPst印“創(chuàng)建遞送文檔”經(jīng)由具有ID 006的映射耦合到ApplicationComponent (應(yīng) 用組件)VFOl 圖12未綁定模型未綁定模型用來計算資源需求。如圖12所示,此模型可以由四個模型構(gòu)成定制 模型(標(biāo)記為CustomizedProcessingModel (定制處理模型))、應(yīng)用打包、應(yīng)用約束和應(yīng)用 性能模型,其中的每一個的示例將在下文描述(除定制模型之外,定制模型的示例已在上 文關(guān)于圖11進(jìn)行了描述)??梢栽O(shè)想其它布置。未引入尚未包含在這四個模型中的新信 肩、ο圖12應(yīng)用打包模型應(yīng)用打包模型描述軟件的內(nèi)部結(jié)構(gòu)需要什么產(chǎn)品和需要來自該產(chǎn)品的什么 模塊。可以在ApplicationModule (應(yīng)用模塊)中包含ApplicationComponent (應(yīng)用組 件)。ApplicationModule (應(yīng)用模塊)可以對應(yīng)于用于應(yīng)用服務(wù)器的JAR (Java存檔) 文件或數(shù)據(jù)庫中的表格。在SAP的情況下,其可能是從特定產(chǎn)品加載到諸如SD或FI (財 務(wù))的應(yīng)用服務(wù)器中的模塊。應(yīng)用打包模型可以具有DiskFootPrint (盤足跡)以指示 ApplicationModule (應(yīng)用模塊)所需的盤存儲量。在圖10中的ApplicationComponent (應(yīng) 用組件)VAOl的情況下,其來自例如具有2MB的DiskFootPrint的SD。在產(chǎn)品內(nèi)包含一個或多個ApplicationModule(應(yīng)用模塊)。因此,例如, SAP R/3 ENTERPRISE包含SD。ApplicationModule (應(yīng)用模塊)可以依賴于其它 ApplicationModule (應(yīng)用模塊)。例如,用于應(yīng)用服務(wù)器的SD代碼依賴于被加載到數(shù)據(jù)庫 中的SD數(shù)據(jù)和SD可執(zhí)行代碼兩者。應(yīng)用打包模型示出執(zhí)行ApplicationComponent (應(yīng)用組件)的 ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)。這可以是在應(yīng)用服務(wù)器或web服 務(wù)器中運行的servlet。其還可以是特定組件的線程或過程。在SD的VAOl事務(wù)的情況 下,其為對話工作過程。當(dāng)其執(zhí)行時,ApplicationComponent (應(yīng)用組件)可以間接地使 用或調(diào)用其它應(yīng)用組件來運行servlet可能需要訪問數(shù)據(jù)庫過程;SD事務(wù)需要訪問其 它ApplicationComponent (應(yīng)用組件),諸如排隊工作過程和更新工作過程,以及數(shù)據(jù)庫 ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)??梢杂葾pplicationExecutionService (應(yīng)用執(zhí)行服務(wù))(SAP應(yīng)用服務(wù) 器)包含并在其上下文中執(zhí)行ApplicationExecutionComponent (應(yīng)用執(zhí)行組件), ApplicationExecutionService (應(yīng)用執(zhí)行月艮務(wù))力口載或包含 ApplicationModule (應(yīng)用 模塊)(SD)并管理ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)(對話WP)的執(zhí)行,ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)又執(zhí)行 ApplicationComponent (應(yīng)用組 件)(VAOl)以遞送BPSt印。圖12,應(yīng)用約束模型應(yīng)用約束模型表示對定制過程、應(yīng)用打包和組件性能模型中的組件的任意約束。 在MIF從左到右前進(jìn)時這些約束可以被工具用來生成附加模型。約束的示例包括 如何擴(kuò)增應(yīng)用服務(wù)器_什么ApplicationExecutionComponent (應(yīng)用執(zhí)行組件) 被復(fù)制且什么不被復(fù)制。例如,為了擴(kuò)增SAP應(yīng)用服務(wù)器以處理更多的用戶,不能僅僅復(fù)制 第一實例-圖7和8 的主應(yīng)用服務(wù)器50,一般稱為中央實例。作為替代,需要中央實例內(nèi)的 組件的子集。這也是設(shè)計原則的示例可能存在對最佳設(shè)計原則進(jìn)行編碼的其它約束。 用于 ApplicationComponent (應(yīng)用組件)、ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)和ApplicationExecutionService (應(yīng)用執(zhí)行服務(wù))的安裝和配置信息 對ApplicationExecutionService (應(yīng)用執(zhí)行服務(wù))的性能約束_例如不在具有 大于60%的CPU利用率的機(jī)器上運行應(yīng)用服務(wù)器約束的其它示例包括命令需要在應(yīng)用服務(wù)器之前啟動數(shù)據(jù)庫??梢允褂闷渌s 束來對部署和配置信息進(jìn)行編碼。該約束可以全部被包含在模板中,或除模板之外另外提 供,以進(jìn)一步限制用于植基模型的選項的數(shù)目。圖12.應(yīng)用性能模型應(yīng)用性能模型的目的是定義用于每個BPStep的資源需求。存在要考慮的兩種類 型的資源需求。1.由使用CPU、存儲器I/O、網(wǎng)絡(luò)I/O和存儲器的 ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)(例如,對話WP)在其執(zhí)行BPSt印時直 接生成的資源需求-ComponentResourceDemand (組件資源需求)2.在上述ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)使用、調(diào)用或援引其 它組件(例如,使用更新WP的對話WP)時由其引起的組件所生成的資源需求-IndirectCom ponentResourceDemand (間接組件資源需求)IndirectComponentResourceDemand(間接組件資源需求)是遞歸的。因此,將存 在類似于調(diào)用圖或活動圖的樹。完整的應(yīng)用性能模型將包含用于圖11所示的所有BPSt印的類似信息。例如, BPStep “創(chuàng)建銷售訂單”中的對話步驟集合可消耗0.2SAPS。此外,其由四個單獨的調(diào)用 (或者,按SAP術(shù)語,為對話步驟)組成。該調(diào)用是同步的。以下是可能出現(xiàn)在IndirectComponentResourceDemand(間接組件資源需求)和 ComponentResourceDemand (組件資源需求)中的屬性的某些示例。.delayProperties (延遲性質(zhì))與不消耗任何 CPU、NetIOProperties (網(wǎng)絡(luò) IO 性 質(zhì))和DiskIOProperties (盤IO性質(zhì))的組件活動相關(guān)的任何延遲(例如,等待或睡眠)?!?NumInvocation (調(diào)用數(shù)目)在BPSt印的執(zhí)行期間調(diào)用組件的次數(shù)。diWocationType (調(diào)用類型)如果調(diào)用程序被阻止,則同步;如果調(diào)用程序可以 立即繼續(xù)活動,則異步?!うⅵ?StepToAppCompID 胃力 BPStepToApplicationComponentMapping 白勺 ID Mt生。 其原因是在幾個不同的BPSt印中很可能涉及特定的ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)。 .ApplicationEntryPoint (應(yīng)用進(jìn)入點)其為正在執(zhí)行的程序或函數(shù)。在“創(chuàng)建 銷售訂單”的情況下,其為用于DialogWP的VA01。其還可以是web服務(wù)的方法??梢砸許AP為單位或用其它單位來表示CPUProperties (CPU性質(zhì))。存在各種表 示 MemProperties (存儲器性質(zhì))、NetIOProperties 禾口 DiskIOProperties 的方式。圖12,組件性能模型對于定制模型的每個實例存在應(yīng)用性能模型的一個實例。這是因為在一般情況 下,每個業(yè)務(wù)過程將具有唯一的特性唯一的BPSt印排序和/或用于每個BPSt印的唯一的 數(shù)據(jù)特性集合。DirectComponentResourceDemands (直接組件資源需求)和IndirectComp onentResourceDemand (間接組件資源需求)關(guān)聯(lián)指定每個BPSt印的唯一資源需求。需要 根據(jù)從基準(zhǔn)導(dǎo)出的每個ApplicationComponent (應(yīng)用組件)的已知特性以及還有已安裝系 統(tǒng)的蹤跡來計算這些需求。組件性能模型包含每個ApplicationComponent (應(yīng)用組件)的已知性能特性。通 過將以下各項組合來計算特定的應(yīng)用性能模型?!ぐ诙ㄖ颇P椭械?BPSt印ToApplicationComponentMapping (BPSt印到應(yīng)用 組件映射)關(guān)聯(lián)中的信息·應(yīng)用約束模型中的任何性能相關(guān)約束?!そM件性能模型合起來,未綁定模型的這些模型不僅指定系統(tǒng)的非功能性要求,而且指定如何生 成并評估滿足那些要求的可能軟件和硬件配置的方法??赡艿挠布渲玫纳墒艿绞褂没?礎(chǔ)設(shè)施能力模型中的信息進(jìn)行的可從特定基礎(chǔ)設(shè)施提供商處獲得的基礎(chǔ)設(shè)施的選擇、以及 所選模板的約束。適用于諸如 ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)或 ApplicationExecutionService (應(yīng)用執(zhí)行服務(wù))的在未綁定模型中描述的可部署 軟件元素的一般原理是模型僅包含描述應(yīng)用拓?fù)浣Y(jié)構(gòu)所需的每種類型的元素的最小 數(shù)目的實例。例如,在SD的情況下,在未綁定模型中只需要與應(yīng)用服務(wù)器的單個實 例App 1 icationExecutionService (應(yīng)用執(zhí)行服務(wù))相關(guān)的對話工作過程的單個實例 ApplicationExecutionComponent (應(yīng)用執(zhí)行組件)來描述實例化植基模型中的兩個元素 的植基等價物的無數(shù)種可能方式。準(zhǔn)確地確定可以如何復(fù)制這些實體并使其共同定位的是 模板和打包信息?;A(chǔ)設(shè)施能力模型如上文所討論的,所述建模基本原理的兩個值得注意的特征是1.呈現(xiàn)具有可以實例化的資源的有限目錄的模板,以便存在固定且有限數(shù)目的選 擇。例如,小xen-vm 1-盤、中xen-vm 2-盤、大xen_vm3-盤、物理hpux機(jī)等。這使得由任 何容量規(guī)劃工具進(jìn)行的資源類型的選擇更簡單。其還可以使得基礎(chǔ)設(shè)施管理更容易,因為 在資源配置中存在較低的復(fù)雜性_可以使用標(biāo)準(zhǔn)模板。2.不暴露虛擬化資源的主控關(guān)系。DMTF虛擬化系統(tǒng)簡檔將主控關(guān)系建模為 "HostedDependency (主控依賴性)”關(guān)聯(lián)。如果只需要對有限數(shù)目的資源類型進(jìn)行建模,則 這看起來是不需要的,因此其未出現(xiàn)在這里所討論的任何模型中。這使模型保持更簡單,因為不需要處理任意的遞歸。這并不意味著如果方便的話處理這些模型的工具不能在內(nèi)部使 用DMTF方法。資源目錄服務(wù)和資源分配服務(wù)在其內(nèi)部模型中使用此關(guān)系可能是很方便的。基礎(chǔ)設(shè)施能力模型的實例包含用于可以由底層公用計算架構(gòu)部署和配置的每種 類型的計算機(jī)系統(tǒng)或設(shè)備的一個實例。每當(dāng)公用設(shè)施部署并配置這些類型之一時,配置將 始終是相同的。對于計算機(jī)系統(tǒng)而言,這意指以下各項。 相同的存儲器、CPU、操作系統(tǒng)·具有相同I/O容量的相同數(shù)目的NIC·具有相同特性的相同數(shù)目的盤 圖13模板示例圖13示出具有計算基礎(chǔ)設(shè)施的預(yù)定部分、該部分之間的預(yù)定關(guān)系、以及具有有限 數(shù)目的要完成的選項的基礎(chǔ)設(shè)施設(shè)計模板的示例。在這種情況下,其適合于分散式SD業(yè)務(wù) 過程,而沒有安全性或可用性特征。該圖示出通過標(biāo)記為“AI_netW0rk”的網(wǎng)絡(luò)耦合的三個 計算機(jī)系統(tǒng),三個系統(tǒng)中的右側(cè)的一個對應(yīng)于主應(yīng)用服務(wù)器,并且中央的一個對應(yīng)于從應(yīng) 用服務(wù)器,如圖7所示。因此,其是分散式的。AI是自適應(yīng)基礎(chǔ)設(shè)施的縮寫。這些計算機(jī) 系統(tǒng)的左側(cè)的一個用于數(shù)據(jù)庫。指定每個計算機(jī)系統(tǒng)的類型,在這種情況下指定為BL20/ Xen0對應(yīng)于從應(yīng)用服務(wù)器的中央的一個具有屬性“range = 0.. η”。這意味著該模板允許 任何數(shù)目的這些從應(yīng)用服務(wù)器。主應(yīng)用服務(wù)器被耦合到標(biāo)記為AI_GroundedExecutionService =AppServer (AI_ 植基執(zhí)行服務(wù)應(yīng)用服務(wù)器)的方框,指示其可以用來運行此類軟件元素。其具有包含足以 允許自動地安裝、部署和管理ALGroundedExecutionService的配置信息和部署信息的相 關(guān) AIDeploymentSetting (Al 部署設(shè)置)方框。AI_GroundedExecutionService :AppServer 被示為包括三個組件,標(biāo)記為AI_GroundedExecutionComponent (AI_植基執(zhí)行組件),并且 每個具有相關(guān)的AID印loymentSetting方框。這些組件中的第一個是對話工作過程,用于 指定業(yè)務(wù)過程的步驟的應(yīng)用組件,另一個是更新過程,負(fù)責(zé)提交工作以進(jìn)行永久性存儲,并 且另一個是排隊過程,用于管理數(shù)據(jù)庫上的鎖。如所示,對于更新和對話工作過程而言,范 圍屬性是2. . n,意味著允許這些部分的多個實例。從應(yīng)用服務(wù)器具有GroundedExecutionServicd植基執(zhí)行服務(wù)),其具有用于任 何數(shù)目的對話工作過程的僅一種類型的AI_GroundedExecutionComponent。從應(yīng)用服務(wù)器 被示為具有rangePolicy (范圍策略)=Time function (時間函數(shù)),意味著其被允許在給 定時間是活動的。再次地,服務(wù)和執(zhí)行組件每個具有相關(guān)的AID印loymentSetting方框。主和從應(yīng)用服務(wù)器以及數(shù)據(jù)庫計算機(jī)系統(tǒng)具有被示為AI_disk =OSDisk的操作系 統(tǒng)。主應(yīng)用服務(wù)器被示為具有AI_Disk =CIDisk作為供應(yīng)用組件使用的存儲裝置。對于網(wǎng)絡(luò) 而言,每個計算機(jī)系統(tǒng)具有被示為AI_Nicl的網(wǎng)絡(luò)接口,其耦合到由AI_Network subnet 1 所示的網(wǎng)絡(luò)。數(shù)據(jù)庫計算機(jī)系統(tǒng)耦合到標(biāo)記為AI_GroundedExecutionService database (數(shù) 據(jù)庫)的方框,其具有用于該數(shù)據(jù)庫的僅一種類型的ALGroundedExecutionComponent, SD DB0再次地,服務(wù)和執(zhí)行組件每個具有相關(guān)的AID印IoymentSetting方框。 AID印loymentSetting承載用來部署、配置、啟動、管理和改變組件的配置和管理信息。下面 參照圖14來描述其示例的更多細(xì)節(jié)。此計算機(jī)系統(tǒng)被耦合到標(biāo)記為AI_Disk =DBDisk的用于數(shù)據(jù)庫的存儲裝置。可選地,模板可以具有在生成植基模型時或生成變化的植基模型以改變現(xiàn)有植基 模型時被工具調(diào)用的命令。此類命令可以被布置為限制可用選項,并且可以使用指定某些 基礎(chǔ)設(shè)施設(shè)計的模板的各部分作為輸入。其還可以使用未綁定模型的各部分作為輸入。圖14植基模型
可以由設(shè)計工具在其將未綁定模型變換成植基模型時生成植基模型??梢詫⑵湟?為候選植基模型,直至被評估和選作選定植基模型為止。以下是與圖13所示的模板相比較 的圖14的示例性植基模型的某些特性,圖14的示例性植基模型是從圖13所示的模板導(dǎo)出 的。·已經(jīng)指定GroundedExecutionComponent (植基執(zhí)行組件)的實例的數(shù)目?!び?GroundedExecution-Service (植基執(zhí)行月艮務(wù))來執(zhí)行 GroundedExecutionComponent (植基執(zhí)行組件)。執(zhí)行關(guān)系與在應(yīng)用打包模型中所表示的
關(guān)系一致?!?GroundedExecutionServicd植基執(zhí)行服務(wù))在其類型已從基礎(chǔ)設(shè)施能力模型 中選出的ComputerSystem(計算機(jī)系統(tǒng))上運行。 存在兩個更新組件,Updatel和Update2。存在兩個DialogWorkProcess (對話 工作過禾呈),DialogfforkProcessl 禾口 DialogWorkProcess2。·從應(yīng)用服務(wù)器的數(shù)目已被設(shè)置為零。管理系統(tǒng)被布置為進(jìn)行這些選擇以使用未綁定模型從模板導(dǎo)出植基模型。在所示 的示例中,用于選擇的標(biāo)準(zhǔn)包括系統(tǒng)的總?cè)萘?,其必須滿足定制模型中的隨時間變化的性 能要求。通過將這些性能要求與應(yīng)用性能模型的聚合ResourceDemancK資源需求)[直接 和間接]相組合來確定所需容量。如果第一選擇證明提供了太少的容量或也許提供了太多 的容量,則可以進(jìn)行其它選擇并進(jìn)行評估。其它示例可以具有評估候選植基模型有多接近 最佳適合的不同標(biāo)準(zhǔn)和不同方式。在某些示例中,服務(wù)器可以僅附接有OS盤;這是因為此類裝置(installation)中 的慣例是NFS安裝CI盤以獲得其SAP可執(zhí)行文件。其它示例性模板可以具有可選擇細(xì)節(jié) 或選項,諸如CIDisk和DBDisk是100GB、20MB/秒、非Raid等的細(xì)節(jié)。OS盤可以是EVA800 型的。主和從應(yīng)用服務(wù)器可以具有2至5個對話工作過程。計算機(jī)系統(tǒng)被指定為具有例如 3GB存儲裝置、2. 6GHz CPU和SLES IO-Xen操作系統(tǒng)??梢試L試不同的參數(shù)以形成候選植基 模型,可以對該候選植基模型進(jìn)行評估以針對期望性能或容量或其它標(biāo)準(zhǔn)找出最佳適合。因此,植基模型指定所需的軟件和硬件可部署實體的實例的精確數(shù) 目和類型,所述實體諸如GroundedExecutionComponent (植基執(zhí)行組件)、 GroundedExecutionService (植基執(zhí)行月艮務(wù))、禾口 AlComputerSystem (Al 計算機(jī)系統(tǒng))。 AIDeploymentSetting (Al部署設(shè)置)可以包括例如·基礎(chǔ)設(shè)施設(shè)置,諸如用于基礎(chǔ)設(shè)施管理組件的閾值信息,例如 MaxCPUUtilization(最大CPU利用率)-如果其上升至設(shè)定數(shù)字(例如60%)以上,則應(yīng) 觸發(fā)警報?!す芾聿呗钥梢灾付ㄓ糜诠芾斫M件的其它策略信息-例如,如果利用率上升至 60%以上,則向上伸展(flex up)。
· GroundedD印l0ymentSetting(植基部署設(shè)置),其可以包括所有命令行和配置 信息,以便可以在全功能狀態(tài)下安裝、配置并啟動系統(tǒng)?!?SettingData (設(shè)置數(shù)據(jù)),其可以提供可以覆蓋在 GroimdedD印l0ymentSetting(植基部署設(shè)置)中提供的信息的附加配置信息。這允許許 多GroundedComponent (植基組件)共享相同的GroundedD印IoymentSetting (植基部署設(shè) 置)(比較(c. f.),類別(typing)的概念),其中特定參數(shù)或覆蓋參數(shù)由SettingData(設(shè) 置數(shù)據(jù))提供。由部署服務(wù)在部署期間解釋GroimdedD印loymentSetting(植基部署設(shè)置) 和SettingData (設(shè)置數(shù)據(jù))兩者?!づc對組件的可能改變有關(guān)的數(shù)據(jù),諸如在管理對組件的改變時執(zhí)行的指令,以實 現(xiàn)改變的更多自動化。在植基模型中并未設(shè)置所有屬性。例如,在植基模型中設(shè)置MAC地址沒有意義,因 為尚不存在任何分配的物理資源。圖15,可替換自適應(yīng)基礎(chǔ)設(shè)施設(shè)計模板圖15以適合于集中式安全SD業(yè)務(wù)過程的形式示出可替換自適應(yīng)基礎(chǔ)設(shè)施設(shè)計模 板。與圖13相比,其僅具有一個計算機(jī)系統(tǒng),因此,其是集中式的。其示出形式為網(wǎng)絡(luò)經(jīng) 由防火墻到外部子網(wǎng)的連接的安全特征。這由接口 AI_Nic micFW示出,并且防火墻由AI_ Appliance :FireWall示出??梢栽O(shè)想具有任何配置的其它模板。其它示例可以包括分散 式安全SD模板、分散式高度可用SD模板、和分散式安全且高度可用的SD模板。綁定模型除物理資源分配之外,SD系統(tǒng)示例的綁定模型實例可以具有諸如子網(wǎng)掩碼和MAC 地址的其它參數(shù)集。已部署模型可以僅在一方面不同于綁定模型。其示出在系統(tǒng)中運行的 管理服務(wù)的綁定信息。所有實體將具有例如管理服務(wù)的形式的管理基礎(chǔ)設(shè)施。在這里未定 義用于到管理服務(wù)的接口的實現(xiàn)機(jī)制,但是其可以是對例如web服務(wù)或SmartFrog組件的 引用。管理服務(wù)可以用來改變狀態(tài)以及觀察當(dāng)前狀態(tài)。在模型的核心中沒必要定義由管理 服務(wù)使得可獲得的狀態(tài)信息、或由其執(zhí)行的操作,而是可以在相關(guān)模型中進(jìn)行定義。這樣的一個示例可以是管理虛擬機(jī)遷移。管理該遷移的應(yīng)用將使用在 PhysicalComputerSystem(物理計算機(jī)系統(tǒng))上運行的管理服務(wù)來進(jìn)行該遷移。一旦該遷 移完成,管理應(yīng)用將更新已部署模型和綁定模型以示出新的物理系統(tǒng)。需要注意保持模型 的一致性。所有先前模型實例均被保持在模型倉庫中,因此當(dāng)遷移完成時,將存在綁定模型 和已部署模型的新實例(版本)。信息隱藏和模型信息流對于MIF而言,情況并不總是所有工具和每個參與者都可以看見模型中的所有信 息。特別地,對于具有要求參與者之間的強(qiáng)分離的安全性模型的部署服務(wù)而言情況不是這 樣。例如,在公用設(shè)施管理平面與虛擬機(jī)群之間可能存在非常強(qiáng)的分離。如果植基模型被 饋送到企業(yè)的管理平面的部署服務(wù)以部署該模型的話,則其將不會返回示出虛擬機(jī)到物理 機(jī)的綁定的任何綁定信息;該信息將被保持在管理平面內(nèi)部。這意味著沒有辦法獲知該群 被綁定到什么硬件或兩個群可能正在共享什么。從管理平面返回的內(nèi)容可能包括群中的虛 擬機(jī)的IP地址(其僅僅處理虛擬機(jī))以及給定群中的那些機(jī)器的登錄證書。信賴管理平 面來管理群,使得其獲得所請求的資源。一旦部署服務(wù)已完成工作 ,則可以使用應(yīng)用安裝和管理服務(wù)來安裝、啟動并管理應(yīng)用。通常,不同的工具將看到MIF的投影。有可能從MIF模 型提取這些工具要求的信息并用工具返回的結(jié)果填充該模型。將有可能在各種工具使用的 數(shù)據(jù)格式與MIF模型之間變換。實現(xiàn)方式可以使用任何常規(guī)的編程語言來實現(xiàn)諸如模型、模型倉庫、和用于操縱模型的工 具或服務(wù)的軟件部分,所述語言包括遵循慣例編譯的諸如Java、或C的語言??梢允褂镁哂?常規(guī)處理器的常規(guī)硬件來實現(xiàn)服務(wù)器和網(wǎng)絡(luò)元件。處理元件不必是相同的,但應(yīng)能夠例如 通過交換IP消息來相互通信。已出于說明和描述的目的給出了本發(fā)明的實施例的前述說明。其并不意圖是窮盡 的或使本發(fā)明限于所公開的精確形式,并且按照以上教導(dǎo)修改和變化是可能的,或者可以 從本發(fā)明 實踐中獲得該修改和變化。選擇并描述了實施例以便解釋本發(fā)明后面的原理及 其實際應(yīng)用以使得本領(lǐng)域的技術(shù)人員能夠在各種實施例中并以適合于預(yù)期的特定用途的 各種修改利用本發(fā)明。可以在權(quán)利要求的范圍內(nèi)設(shè)想其它變化。
權(quán)利要求
一種由服務(wù)提供商管理的用于給定企業(yè)的具有若干功能性步驟的基于計算機(jī)的業(yè)務(wù)過程的自動化部署的方法,該方法具有以下步驟產(chǎn)生該業(yè)務(wù)過程的模型,該模型具有用于實施所述功能性步驟的軟件應(yīng)用組件的布置的表示,并且具有用于在指定的企業(yè)專用硬件上運行所述軟件應(yīng)用組件的計算基礎(chǔ)設(shè)施的表示,并且適用于自動化部署,以及將所述模型部署在該企業(yè)專用的硬件上,其中用于該服務(wù)提供商的接口用以實現(xiàn)所述服務(wù)提供商對部署的過程的日常管理。
2.權(quán)利要求1的方法,專用硬件的位置遠(yuǎn)離服務(wù)提供商并且該接口被布置用于遠(yuǎn)程管理。
3.權(quán)利要求2的方法,計算基礎(chǔ)設(shè)施包括虛擬化實體。
4.權(quán)利要求3的方法,具有提供冗余硬件容量的步驟,所述冗余硬件容量被確定大小 為使得能夠在部署的業(yè)務(wù)過程仍在運行的同時將建模的業(yè)務(wù)過程的虛擬化實體離開它們 的對應(yīng)硬件組件而移動到冗余硬件上
5.權(quán)利要求2的方法,具有以下步驟從企業(yè)接收對功能性步驟或非功能性要求的更 改,以及基于所述更改產(chǎn)生更新模型,以及確定對應(yīng)于所述更改的對專用硬件的要求的任 何改變。
6.權(quán)利要求2的方法,具有下載至少模型生成部以在企業(yè)位置處運行的步驟。
7.權(quán)利要求1的方法,具有監(jiān)視使用中的部署的過程的行為并且通過所述接口發(fā)送該 行為的指示到服務(wù)提供商的步驟。
8.權(quán)利要求1的方法,具有以下步驟選擇計算基礎(chǔ)設(shè)施設(shè)計的若干預(yù)定模板之一,選 擇參數(shù)以填充所選的模板,通過模擬操作來了解滿足任何非功能性要求的程度而評估填充 的模板,并且根據(jù)所述評估更改模板的選擇或更改所述參數(shù)。
9.權(quán)利要求1的方法,具有根據(jù)模型確定對專用硬件的要求的規(guī)范的步驟。
10.在機(jī)器可讀介質(zhì)上的軟件,所述軟件在執(zhí)行時實施權(quán)利要求1的方法。
11.一種用于由服務(wù)提供商管理的用于給定企業(yè)的具有若干功能性步驟的基于計算機(jī) 的業(yè)務(wù)過程的自動化部署的系統(tǒng),該系統(tǒng)具有模型生成部,布置為產(chǎn)生該過程的模型,該模型具有用于實施所述功能性步驟的軟件 應(yīng)用組件的布置的表示,并且具有用于在指定的企業(yè)專用硬件上運行所述軟件應(yīng)用組件的 計算基礎(chǔ)設(shè)施的表示,并且適用于自動化部署,以及部署部,布置為提供所述模型在該企業(yè)專用的硬件上的自動化部署,其中用于該服務(wù) 提供商的接口用以實現(xiàn)所述服務(wù)提供商對部署的過程的日常管理。
12.權(quán)利要求11的系統(tǒng),專用硬件的位置遠(yuǎn)離服務(wù)提供商并且該接口被布置用于遠(yuǎn)程 管理。
13.權(quán)利要求12的系統(tǒng),計算基礎(chǔ)設(shè)施包括虛擬化實體。
14.權(quán)利要求13的系統(tǒng),該模型合并了冗余硬件容量以使得能夠在該過程仍在運行的 同時將虛擬化實體離開它們的對應(yīng)硬件組件而移動到冗余硬件上
15.權(quán)利要求12的系統(tǒng),具有更新部,所述更新部被布置為使得企業(yè)能夠輸入對功能 性步驟或非功能性要求的更改以及使得模型生成部基于所述更改產(chǎn)生更新模型,并且確定 對應(yīng)于更改的功能性步驟或非功能性要求的對專用硬件的要求的任何改變。
16.權(quán)利要求12的系統(tǒng),具有下載部以下載至少所述模型生成部來在企業(yè)位置處運行。
17.權(quán)利要求11的系統(tǒng),該模型被布置為合并了監(jiān)視部以監(jiān)視使用中的部署過程的行 為并且通過所述接口發(fā)送該行為的指示到服務(wù)提供商。
18.權(quán)利要求11的系統(tǒng),該模型生成部被布置為選擇計算基礎(chǔ)設(shè)施設(shè)計的若干預(yù)定 模板之一,選擇參數(shù)以填充所選的模板,通過模擬操作來了解滿足任何非功能性要求的程 度而評估填充的模板,并且根據(jù)所述評估更改模板的選擇或更改所述參數(shù)。
19.權(quán)利要求11的系統(tǒng),布置為根據(jù)模型確定對于專用硬件的要求的規(guī)范。
全文摘要
一種由服務(wù)提供商管理的基于計算機(jī)的業(yè)務(wù)過程的自動化部署的方法涉及產(chǎn)生該業(yè)務(wù)過程的模型(730),該模型包括計算基礎(chǔ)設(shè)施的設(shè)計;以及將所述模型部署在該企業(yè)專用的硬件(770)上,其中用于該服務(wù)提供商的接口用以實現(xiàn)所述服務(wù)提供商對部署的過程的日常管理。具有專用硬件意味著硬件的位置可以被布置為適宜于該企業(yè)。這意味著諸如WAN鏈路的帶寬或等待時間之類的限制可以通過適當(dāng)?shù)剡x擇專用硬件的位置而解決。與共享數(shù)據(jù)中心的安全性相比,還可以增加對安全性的信任。自動化的模型驅(qū)動部署可以幫助使得服務(wù)提供商能夠在不同類型的硬件上提供此類部署。減少了企業(yè)在內(nèi)部維持專家專業(yè)人員的需要。
文檔編號G06Q50/00GK101946258SQ200780102380
公開日2011年1月12日 申請日期2007年12月20日 優(yōu)先權(quán)日2007年12月20日
發(fā)明者B·史蒂芬森, G·A·貝爾羅斯, J·羅利亞, L·威爾科克, N·愛德華茲, S·格勞普納 申請人:惠普開發(fā)有限公司