專利名稱:對基于計算機的業(yè)務過程進行建模以用于定制和遞送的制作方法
技術領域:
本發(fā)明涉及使用建模系統(tǒng)為企業(yè)提供基于計算機的業(yè)務過程(business process)、以便實現業(yè)務過程的至少部分自動化部署的方法并且涉及對應的系統(tǒng)和軟件。
背景技術:
物理IT (信息技術)基礎設施難以管理。改變網絡配置、添加新機器或存儲設備 通常是困難的手動任務。在大多數物理IT基礎設施中,資源利用率非常低對于服務器而 言,15%的利用率并不罕見,對于臺式計算機而言則是5%。為了解決此問題,現代計算機基 礎設施正在變得越來越可(重新)配置,并且以由服務提供商提供的數據中心的形式更多 地使用共享基礎設施。Hewlett Packard的UDC(公用數據中心)是已在商業(yè)上應用并允許物理基礎設 施諸如服務器的處理機器、諸如盤的存儲設備、和耦合各部分均網絡的自動重配置的示 例。重配置可以涉及例如移動或啟動軟件應用、改變存儲空間分配、或改變對不同過程的處 理時間的分配。貢獻更多可重配置性的另一種方式是通過允許在單個物理機器上主控許多 “虛擬”計算機。術語“虛擬”通常意指真實或物理的反面,并且在存在一定水平的間接性、 或資源用戶與物理資源之間的某種調解的情況下使用。另外,某些計算架構允許重配置底層硬件。在一種情況中,可能將該架構配置為提 供若干四路計算機。在另一種情況中,可能將其重配置為提供四倍的單處理器計算機。對上述完全可重配置性進行建模是極其復雜的。較高級實體的模型在包含或引用 用來實現它們或實現它們所需的較低級實體的意義上需要是遞歸的(例如,虛擬機VM,可 以根據當前使用什么底層基礎設施來實現它(例如,如下文將更詳細地描述的,硬件分區(qū) nPAR或虛擬分區(qū)vPAR)而較快或較慢地操作)。這意味著模型需要展現出下一代計算機架構的底層可配置性-nPAR由特定的硬件分區(qū)組成。這使得模型如此復雜,以致于變得越來 越難以讓自動化工具(和人)理解并處理模型,以實現a)業(yè)務過程,b)應用和應用配置, 以及c)基礎設施和基礎設施配置的設計和管理。^t DMTF WfflT "System Virtualization, Partitioning and Clustering"
檔:http://www. dmtf. org/apps/org/workgroup/redundancy/ 中舉 歹Ij 說明 了對系統(tǒng)白勺完 全可重配置性和遞歸性質進行建模的需要。建模方面的困難的另一示例是W02004090684,其涉及對系統(tǒng)進行建模以便執(zhí)行處 理功能。它記載了“潛在的大量組件可能使得該方法不切實際。例如,具有所有其硬件組件、 主機、交換機、路由器、臺式計算機、操作系統(tǒng)、應用、業(yè)務過程等的IT系統(tǒng)可以包括幾百萬 個對象??赡茈y以采用任何手動或自動化方法來創(chuàng)建此類大量組件及其關系的單體模型。 這個問題由于具有頻繁添加/移動/改變的IT系統(tǒng)的典型動態(tài)性質而復雜化。其次,不存 在細節(jié)的隱藏或抽象化,以允許處理功能在隱藏較不相關的組件細節(jié)的同時集中于特定的 一組相關組件的細節(jié)。第三,由于所涉及的組件的數目,在整個系統(tǒng)上執(zhí)行任何處理可能是 不切實際的。”已經進行了自動且快速地提供計算基礎設施的嘗試惠普的公用數據中心、惠普 實驗室的SoftUDC、惠普的Caveo和Amazon的彈性計算云(可以在http://www. amazon. com/gp/browse. html ? node = 201590011處看到)。所有這些提供一種或另一種形式的 計算基礎設施,并且某些已針對測試者和開發(fā)者,例如惠普的公用數據中心。來自IDS-Scheer的Aris是一種已知的業(yè)務過程建模平臺,其具有包含關于系統(tǒng) 的結構和預期行為的信息的模型倉庫。特別地,更詳細地對業(yè)務過程進行建模。其意圖將 系統(tǒng)實現方式和文檔資料(documentation)的所有方面綁在一起。Aris UML設計器是Aris平臺的組件,其將傳統(tǒng)業(yè)務過程建模與軟件開發(fā)相組合 以開發(fā)從過程分析到系統(tǒng)設計的業(yè)務應用。用戶經由web瀏覽器來訪問過程模型數據和 UML內容,從而實現多用戶環(huán)境內的處理和改變管理。其可以提供開發(fā)文檔資料的創(chuàng)建和傳 送,并且可以鏈接面向對象的設計和代碼生成(CASE工具)。其不對數據中心中的共享基礎 設施的計算基礎設施進行建模,也不提供用于讓企業(yè)訂購服務遞送的高級接口。公用計算接口現在分成許多種類,例如1. “機器堆”將需要管理的幾十個或幾百個機器交給客戶。這里的問題是花費大 量的時間和金錢來管理這些機器,而這不是客戶的核心能力。2. “單個應用提供商”客戶可以從ASP (應用服務提供商)獲得對管理的應用的 訪問。以這種方式,他們不需要管理機器和應用。這里的問題是該應用未與客戶的其它應 用集成,導致對客戶而言明顯較低的價值??梢赃M行集成,但這通常是昂貴的、長時間的且 定制的。改變使用這種及其它應用的業(yè)務過程是相當困難的,因為ASP通常具有有限的選 擇范圍。允許客戶有競爭優(yōu)勢的專有業(yè)務過程是不允許的,或者實現起來是昂貴且冗長的, 并且難以改變。3. “應用套件”示例是Salesforce. com,其具有用于客戶的相對高級的公用計算 接口,這避免了許多上列問題。服務和應用的選擇仍然相當小,但是將隨著時間的推移而增 長。然而,對業(yè)務過程的定制及其非功能性要求仍將局限于所提供的選擇集合,這與不同企 業(yè)的要求范圍相比仍很可能是相當小的。
發(fā)明內容
本發(fā)明的目的是提供改進的裝置或方法。在一方面,本發(fā)明提供一種使用建模系統(tǒng)來為企業(yè)提供基于計算機的業(yè)務過程、以便實現業(yè)務過程的至 少部分自動化部署的方法,所述業(yè)務過程具有許多功能性步驟,該方法具有步驟a)允許企業(yè)向建模系統(tǒng)輸入用于對部署的多個非功能性要求的值,從而為企業(yè)提 供獨立于所述值中的其它值來改變所述值中的至少某些值的自由,以及b)使用所述建模系統(tǒng)來使用輸入的值創(chuàng)建模型,其方式為c)在模型中創(chuàng)建用于執(zhí)行功能性步驟的軟件應用組件的設計,以及d)在模型中創(chuàng)建用于運行軟件應用組件的計算基礎設施的設計,以便使得如在該 模型中闡述的那樣部署的業(yè)務過程根據針對業(yè)務過程的非功能性要求輸入的值進行操作。通過不僅對用于執(zhí)行功能性步驟的軟件、而且對底層計算基礎設施進行建模,創(chuàng) 建具有其將成功地部署的更大確定性以及具有其將在多大程度上滿足給定非功能性要求 的更大可預測性的模型成為可行的。這使得能夠對企業(yè)允許相互獨立地改變這些非功能性 要求的值的更大自由。這實現了更大的定制以適應企業(yè)的需要,這對企業(yè)來說非常有吸引 力,并且因此使得服務提供商能夠吸引更多業(yè)務。同時,服務提供商可以受益于共享資源的 更高效分配并因此以較低的成本提供服務。以前提供此類靈活性將需要昂貴的手動定制。在不脫離權利要求的范圍的情況下,本發(fā)明的實施例可具有任何附加特征,并且 某些此類附加特征在從屬權利要求和下述實施例中闡述。另一方面提供機器可讀介質上的軟件,所述軟件在被執(zhí)行時實現上述方法。另一方面提供一種建模系統(tǒng),其為企業(yè)提供基于計算機的業(yè)務過程,以便實現業(yè) 務過程的至少部分自動化部署,該業(yè)務過程具有許多功能性步驟,該系統(tǒng)具有a)接口,其允許企業(yè)輸入用于對部署的多個非功能性要求的值,從而為企業(yè)提供 獨立于所述值中的其它值來改變所述值中的至少某些值的自由,以及b)模型生成部,其被耦合到所述接口并被布置為使用輸入的值來創(chuàng)建模型,其方 式為c)在模型中創(chuàng)建用于執(zhí)行功能性步驟的軟件應用組件的設計,以及d)在模型中創(chuàng)建用于運行軟件應用組件的計算基礎設施的設計,以便使得如在該 模型中闡述的那樣部署的業(yè)務過程根據針對業(yè)務過程的非功能性要求輸入的值進行操作。其他方面可以涵蓋使用該系統(tǒng)的人類操作者所進行的對應步驟,以在侵權者的系 統(tǒng)部分地或主要地遠離本專利所覆蓋的權限范圍并且在該權限范圍之外(如許多此類系 統(tǒng)都可行的那樣)然而人類操作者正在該權限范圍內使用該系統(tǒng)并且從中獲益的情況下 使得能夠直接侵權或引起直接侵權。特別是優(yōu)于其他現有技術的其它優(yōu)點對于本領域的技 術人員來說將是顯而易見的。如對于本領域的技術人員來說顯而易見的那樣,可以將任何 附加特征組合在一起,并與任何方面組合。所述實施例僅僅是示例,范圍不受這些示例的限 制,并且在權利要求的范圍內可以設想許多其它示例。
現在將參照附圖以示例的方式描述本發(fā)明的特定實施例,在附圖中圖1示出實施例的示意圖,其示出模型、自適應基礎設施和管理系統(tǒng),
圖2示出根據實施例的由操作員和管理系統(tǒng)進行的某些操作步驟的示意圖,圖3示出根據實施例的某些主要動作和模型的示意圖,圖4示出根據另一實施例的采取模型信息流MIF的形式的從業(yè)務過程到已部署模 型的步驟序列的示意圖,圖5示出根據另一實施例的模型和步驟序列,圖6示出根據實施例的導出植基模型(grounded model)的步驟,圖7示出根據實施例的用于分布式設計的主應用服務器和從應用服務器的布置,圖8示出圖7的實施例的主應用服務器的各部分,圖9示出供在實施例中使用的服務器上的虛擬實體的布置,圖10示出銷售和分銷業(yè)務過程(SD)基準(Benchmark)對話步驟和事務 (transaction) StJΜ 圖11示出用于SD Benchmark的示例性定制模型實例,圖12示出用于未綁定模型(unbound model)類的類圖示,圖13示出適合用于分散式SD示例的模板的示例,圖14示出分散式SD的植基模型實例,圖15示出適合用于集中式安全SD示例的模板的另一示例,圖16示出系統(tǒng)的實施例的概圖,圖17示出根據另一實施例的方法,圖18示出根據另一實施例的方法,圖19和20示出根據實施例的系統(tǒng)和方法,圖21和22示出根據另一實施例的系統(tǒng)和方法步驟,圖23和24示出根據又一實施例的系統(tǒng)和方法,以及圖25示出根據另一實施例的方法步驟。
具體實施例方式定義“非功能性要求”可以視為在諸如性能、安全性、成本、可用性及其他方面將功能 性步驟實現得多好。其在非功能性要求的維基百科(http://en.wikipedia.org/wiki/ Non-functional_requirements)中有所解釋,如下-“在系統(tǒng)工程和要求工程中,非功能性 要求是指定可以用來判斷系統(tǒng)的操作、而不是特定行為的標準的要求。這應與指定特定行 為或功能的功能性要求形成對比。典型的非功能性要求是可靠性、可伸縮性、和成本。非功 能性要求通常稱為系統(tǒng)的能力特性(ilities)。用于非功能性要求的其它術語是“約束”、 “質量屬性”和“服務質量要求”。,,功能性步驟可以涵蓋用于任何目的的業(yè)務過程的任何類型的功能,諸如與接收輸 入的操作員交互、檢索存儲數據、處理數據、將數據或命令傳遞至其它實體等等,通常但不 一定表示為人類可讀形式...。“已部署”意圖涵蓋對于其已分配并配置計算基礎設施且軟件應用組件已被安裝 并配置好準備開始運行的建模業(yè)務過程。根據該上下文,其還可以涵蓋已開始運行的業(yè)務 過程。
“適合于自動化部署”可以涵蓋這樣的模型,所述模型提供機器可讀信息以使得能 夠部署基礎設施設計,并使得能夠由部署服務安裝并配置軟件應用組件(或自發(fā)地或利用 由部署服務引導的某種人類輸入)?!皹I(yè)務過程”意圖涵蓋用于任何類型的業(yè)務目的的涉及計算機實現的步驟和可選 地其它步驟(諸如人類輸入或來自例如傳感器或監(jiān)視器的輸入)的任何過程,所述業(yè)務目 的諸如例如面向服務的應用,用于銷售和分銷、庫存控制、制造過程的控制或調度。其還可 以涵蓋涉及用于非業(yè)務應用的計算機實現步驟的任何其它過程,所述非業(yè)務應用諸如教育 工具、娛樂應用、科學應用、包括批處理、網格計算等的任何類型的信息處理??梢砸孕蛄?、 循環(huán)、遞歸、和分支方式組合一個或多個業(yè)務過程步驟以形成完整的業(yè)務過程。業(yè)務過程 還可以涵蓋業(yè)務管理過程,諸如CRM、銷售支持、庫存管理、預算、生產調度等,以及用于商業(yè) 或科學目的(諸如對氣候進行建模、對結構進行建模、或對核反應進行建模)的任何其它過 程。“應用組件”意圖涵蓋任何類型的軟件元素,諸如可單獨或以組合方式使用以實現 業(yè)務過程的計算機實現步驟的模塊、子例程、任何量的代碼。其可以是可以被操縱以遞送業(yè) 務過程步驟(BPStep)(諸如事務或數據庫表)的數據或代碼。由SAP產生的銷售和分銷 (SD)產品由若干事務組成,每個事務例如具有若干應用組件?!拔唇壎P汀币鈭D涵蓋以任何方式(直接地或間接地)指定將用于業(yè)務過程的每 個計算機實現步驟的至少應用組件的軟件,而沒有計算基礎設施的完整設計,并且可以可 選地用來計算業(yè)務過程的基礎設施資源需求,并且可以可選地散布在兩個或更多子模型上 或由兩個或更多子模型組成。未綁定模型還可以指定每個應用組件所需的諸如應用服務器 和數據庫服務器的對應執(zhí)行組件的類型或版本,而不指定例如需要這些中的多少。“植基模型”意圖涵蓋以任何方式(直接地或間接地)指定適合于業(yè)務過程的自動 部署的計算基礎設施的至少完整設計的軟件。其可以是計算基礎設施和將部署在基礎設施 上的應用組件的完整規(guī)范?!敖壎P汀焙w具有植基模型到物理資源的綁定的任何模型。該綁定可以是在植 基模型中的ComputerSystems (計算機系統(tǒng))、Disks (盤)、StorageSystems (存儲系統(tǒng))、 Networks (網絡)、NICS與在實際計算基礎設施中可用的真實物理部分之間的關聯(lián)的形式。 “基礎設施設計模板”意圖涵蓋任何類型的軟件,所述軟件通過以任何方式指示計算基礎設 施的至少某些部分并指示該部分之間的預定關系來確定設計選擇。這將留下有限數目的選 項要完成,以創(chuàng)建植基模型。這些模板可以指示例如可容許選擇范圍或可容許改變范圍。它 們可以通過具有如何創(chuàng)建植基模型或如何改變現有植基模型的指令來確定設計選擇?!坝嬎慊A設施”意圖涵蓋任何類型的資源,諸如用于處理、用于存儲(諸如盤或芯 片存儲器)、以及用于諸如聯(lián)網的通信的硬件和軟件,并且包括例如服務器、操作系統(tǒng)、虛擬 實體、和諸如監(jiān)視器的管理基礎設施,其用于監(jiān)視硬件、軟件和應用。在例如配置和/或分 配資源(諸如處理時間或處理器硬件配置或操作系統(tǒng)配置或盤空間)、以及對各種資源之 間的鏈接或軟件進行實例化的意義上,可以“設計”所有這些項目??梢曰蚩梢圆辉诙鄠€業(yè) 務過程之間共享資源。資源的配置或分配還可以涵蓋改變現有資源配置或分配。計算基礎 設施可以涵蓋所有物理實體或所有虛擬化實體、或虛擬化實體、用于主控虛擬化實體的物 理實體和用于運行軟件應用組件而沒有虛擬化層的物理實體的混合物。
“計算基礎設施的部分”意圖涵蓋例如諸如服務器、盤、聯(lián)網硬件和軟件的部分。“服務器”可以意指用于運行諸如可用于外部客戶端的服務的應用軟件的硬件處 理器、或形成能夠被諸如另一服務器的主控實體主控并最終被硬件處理器主控的虛擬服務 器的軟件元素?!癆lService”是用戶消費的信息服務。其實現業(yè)務過程?!皯眉s束模型”可以意指對定制過程、應用打包和組件性能模型中的組件的任意 約束。在MIF從左到右前進時這些約束可以被工具用來生成附加模型。"ApplicationExecutionComponent (應用執(zhí)行組件)”是例如執(zhí)行應用組件的(工 人)進程、線程或servlet。示例將是由SAP提供的對話工作過程?!癆pplicationExecutionService(應用執(zhí)行服務)”意指可以管理諸如工作過程、 servlet或數據庫過程的ApplicationExecutionComponents (應用執(zhí)行組件)的執(zhí)行的服 務。示例將是由SAP提供的應用服務器。此類應用服務器包括對話工作過程及其它過程的 集合,所述其他過程諸如如在主應用服務器(圖8)的圖中所示的更新和排隊過程?!皯么虬P汀笔敲枋鲕浖膬炔拷Y構需要什么產品和從該產品需要什么模塊 的任何模型,并且通常被未綁定模型包含?!皯眯阅苣P汀币庵妇哂袨槊總€業(yè)務過程(BP)步驟定義直接和間接的資源需求 的目的的任何模型。其可以被包含在未綁定模型中。“組件性能模型”可以意指包含應用組件的一般性能特性的任何模型。這可以用來 通過使用在定制模型中指定的特定業(yè)務過程步驟和數據特性連同在應用約束模型中指定 的約束一起導出應用性能模型(其可以被包含在未綁定模型中)?!岸ㄖ颇P汀币庵阜从程囟I(yè)務要求的業(yè)務過程的一般定制化模式。“已部署模型”意指具有用于在系統(tǒng)中運行的管理服務的綁定信息的綁定模型。“候選植基模型”可以是可以由工具在其將未綁定模型變換成植基模型時生成的 中間模型?!爸不M件”可以包含用于植基執(zhí)行組件和植基執(zhí)行服務兩者的安裝和配置信息、 以及關于策略和開始/停止依賴性的信息。“植基執(zhí)行組件”可以是執(zhí)行應用組件的(工人)進程、線程或servlet的植基模 型中的表示?!爸不鶊?zhí)行服務”是管理諸如工作過程、servlet或數據庫過程的執(zhí)行組件的執(zhí)行 的實體的植基模型中的表示。“基礎設施能力模型”可以是可以由諸如不同計算機類型的公用設施以及諸如防 火墻和負載平衡器的設備配置的資源的目錄。MIF(模型信息流)是用來在其整個生命周期中管理業(yè)務過程的模型的集合。本發(fā)明可以應用于許多領域,詳細描述的實施例只能覆蓋這些領域中的某些。其 可以涵蓋建模動態(tài)或靜態(tài)系統(tǒng),諸如企業(yè)管理系統(tǒng)、聯(lián)網信息技術系統(tǒng)、公用計算系統(tǒng)、用 于管理諸如電信網絡、蜂窩網絡、電力網的復雜系統(tǒng)的系統(tǒng)、生物系統(tǒng)、醫(yī)療系統(tǒng)、天氣預報 系統(tǒng)、財務分析系統(tǒng)、搜索引擎等。建模的細節(jié)通常將取決于模型的用途或目的。因此,計 算機系統(tǒng)的模型可以表示諸如服務器、處理器、存儲器、網絡鏈路、盤的組件,每個組件具有 諸如處理器速度、存儲容量、盤響應時間等相關屬性。還可以表示組件之間的關系,諸如包含性、連接性等。可以使用面向對象的范例,其中,使用對象對系統(tǒng)組件進行建模,并且將系統(tǒng)的組 件之間的關系建模為對象的屬性、或對象本身??梢允褂闷渌独?,其中,模型集中于系統(tǒng) 做什么而不是其如何操作,或者描述系統(tǒng)如何操作。數據庫范例可以指定實體和關系。用于 系統(tǒng)建模的形式語言包括基于文本的DMTF公共信息模型(CIM)、Varilog、NS、C++、C、SQL、 或基于圖形表示的方案。附加特征從屬權利要求的附加特征的某些示例如下輸入的值可以是對現有部署的非功能性要求的值的改變,并且創(chuàng)建模型可以包括 對現有模型進行改變。實際上,常常需要修改要求且修改要求對于復雜系統(tǒng)而言是困難且 有風險的,并且因此,以上優(yōu)點對于此類改變而言更有價值。所述方法可以具有部署模型以操作業(yè)務過程的步驟??梢允共渴鸶涌深A測且可 靠,因為模型不僅具有用于執(zhí)行功能性步驟的軟件,而且具有底層計算基礎設施??梢允褂媚P蛠砟M操作,并確定所模擬的操作在多大程度上符合非功能性要 求。這可以幫助評估設計以更快地找到更好或最佳解決方案??赡艽嬖谑沟闷髽I(yè)可獲得所模擬的操作在多大程度上符合非功能性要求的指示 的步驟。這可以幫助使得企業(yè)能夠以迭代的方式更快地改進其要求,尤其是在存在不同要 求之間的權衡的情況下??梢源嬖诒O(jiān)視所部署的業(yè)務過程的操作并基于所述監(jiān)視使得企業(yè)可獲得所述操 作在多大程度上符合非功能性要求的指示的步驟。這可以幫助保證在條件隨著時間的推移 而改變時繼續(xù)滿足非功能性要求。計算基礎設施的設計可以是輸出,所述設計包括虛擬基礎設施,而沒有到物理基 礎設施的完整映射,以便稍后通過映射到物理基礎設施上而進行部署。虛擬化可以提供有 助于靈活性的更大粒度,這補充了上文針對企業(yè)和服務提供商闡述的優(yōu)點??梢杂闪硪环?或在另一位置處進一步處理或部署該設計。所述方法可以具有輸出計算基礎設施的設計的步驟,該設計包括物理基礎設施而 沒有虛擬化。這幫助避免虛擬化的附加成本、復雜性和性能損失,它們對于某些類型的應用 而言是重要的。所述方法可以具有輸出計算基礎設施的設計(所述設計包括虛擬和物理基礎設 施二者)并將虛擬基礎設施映射到對應物理基礎設施上的步驟。這是一般慣例,并且因此 目前服務于大部分市場。在模型中創(chuàng)建軟件應用組件的布置的步驟可以包括用軟件應用性能的表示、和軟 件應用打包來創(chuàng)建未綁定模型。這是高效地實現此類步驟的便利方式。在模型中創(chuàng)建計算基礎設施的設計的步驟可以包括用基礎設施能力和基礎設施 設計的表示根據未綁定模型來創(chuàng)建植基模型。這是更高效地實現此部分的便利方式。創(chuàng)建計算基礎設施的設計的步驟可以包括提供具有有限數目的要完成選項的基 礎設施設計模板。這可以幫助簡化任務并增加成功部署的確定性和可靠性。服務提供商有可能在企業(yè)本地的專用硬件上進行部署,并提供由服務提供商進行 管理的好處。關于其示例的更多細節(jié),參考上文所引用的共同待決申請?zhí)?00702144。將此
10與為了使得企業(yè)能夠相互獨立地對非功能性要求進行定制而提供的企業(yè)接口組合可以進 一步增強定制。在與游戲服務器一起提供3D視覺接口以使得多個開發(fā)者能夠對相同模型進行工 作并看見彼此的改變的情況下,開發(fā)者可以更快地導航復雜的模型。關于其示例的更多細 節(jié),參考上文所引用的共同待決申請?zhí)?00702356。將此與為了使得企業(yè)能夠相互獨立地對 非功能性要求進行定制而提供的企業(yè)接口組合可以使得能夠增強兩者的優(yōu)點。在可以模擬業(yè)務過程的操作的情況下或在可以并行地進行多個測試部署的情況 下,可以加速開發(fā)。關于其示例的更多細節(jié),參考上文所引用的共同待決申請?zhí)?00702377。 將此與為了使得企業(yè)能夠相互獨立地對非功能性要求進行定制而提供的企業(yè)接口組合可 以使得能夠增強兩者的優(yōu)點。可能使用插入源代碼中的注釋來幫助建?;蛭臋n資料編制。關于其示例的更多細 節(jié),參考上文所引用的共同待決申請?zhí)?00702600。將此與為了使得企業(yè)能夠相互獨立地對 非功能性要求進行定制而提供的企業(yè)接口組合可以使得能夠增強兩者的優(yōu)點??梢酝ㄟ^提供哪些工具適合于給定開發(fā)目的和給定模型部分的預定映射、或通過 包括與該模型一起部署的工具模型來促進開發(fā)環(huán)境的設置。關于其示例的更多細節(jié),參考 上文所引用的共同待決申請?zhí)?00702145和200702601。由于使得企業(yè)能夠相互獨立地對 非功能性要求進行定制可以使得開發(fā)工作更加費力,所以促進設置開發(fā)環(huán)境可能變得更有 價值?;谀P偷姆椒ㄟ@種基于模型的方法的一般目的是使得能夠進行開發(fā)和管理以提供對三個主層 的匹配改變過程的功能性步驟、用來實現過程的功能性步驟的應用、以及所述應用所使用 的計算基礎設施的配置。通過使用與對上述部分進行建模的軟件模型交互的適當軟件工具 來自動地執(zhí)行此類改變。到目前為止,尚未有在整個系統(tǒng)生命周期中將集成業(yè)務過程、應用 和基礎設施管理的工具鏈接在一起的任何嘗試。將描述用于管理此類復雜的基于計算機的過程的基于模型的方法。此類模型可以 具有CIM/UML的結構化數據模型以對以下三層進行建?!せA設施元素,諸如物理機器、VM、操作系統(tǒng)、網絡鏈接?!迷?,諸如數據庫、應用服務器?!I(yè)務級元素,諸如在應用服務器中運行的業(yè)務過程的功能性步驟。模型是例如以UML建模的元素的有組織集合。某些實施例的目的是將這些數據模 型用于遵循軟件即服務(SaaS)范例的企業(yè)應用的自動化按需供應。問題陳述用于諸如企業(yè)應用的大型業(yè)務過程的硬件基礎設施和軟件布局(landscape)的 設計是極其復雜的任務,要求專業(yè)人員設計軟件和硬件布局。一旦已經部署了企業(yè)應用,則 存在響應于改變的工作負荷和要求來修改硬件和軟件布局的日常(ongoing)要求。此手動 設計任務昂貴、耗時、易于出錯、并且對快速變化的工作負荷、功能性要求、和非功能性要求 反應遲鈍。實施例描述了自動地創(chuàng)建企業(yè)應用的最優(yōu)化設計、監(jiān)視運行的已部署系統(tǒng)、并動 態(tài)地修改設計以最好地滿足經由高級企業(yè)接口輸入的非功能性要求的機制。到服務提供商 提供的公用計算服務的此接口還可以用于其它企業(yè)要求,包括業(yè)務過程的功能性步驟及相關服務水平協(xié)定。該企業(yè)接口幫助使得企業(yè)能夠集中于更確切地請求他們想要什么,并讓公用服務 提供商高效地確定如何對其進行提供。企業(yè)可以指定1.其需要被提供的業(yè)務過程,諸如例如CRM(客戶關系管理)系統(tǒng)、銷售和分銷系 統(tǒng)、以及庫存系統(tǒng)。2.那些業(yè)務過程的非功能性要求,諸如特定水平的性能、安全性、和可用性,以及 可選地3.覆蓋所提供的服務的服務水平協(xié)定,諸如對未滿足特定功能性或非功能性要求 的罰金。到目前為止,企業(yè)不能指定用于不同要求的單獨值以適合其想從一組復雜的業(yè)務 過程的自動化部署中得到的東西。他們通常還指定關于應如何提供服務的大量細節(jié),例如, 應使用哪個軟件和硬件來遞送服務、什么安全設備需要就位、或物理基礎設施將被設置在 哪里。這意味著需要來自知識淵博的專家的大量輸入。常常需要昂貴且冗長的咨詢性會晤 來改進業(yè)務過程、其支持應用、以及應用的支持IT基礎設施。使得企業(yè)能夠在不擔心如何 進行遞送的情況下指定其想要的項目節(jié)省了時間和金錢。與例如在應用層級這樣做(這將 意味著企業(yè)將需要付出時間和努力以將其業(yè)務過程映射到一組支持應用上并確定如何耦 合那些應用的細節(jié))相比,在高層級(業(yè)務過程層級)這樣做節(jié)省更多時間和金錢。實現 指定像性能、安全性、和可用性之類的用于業(yè)務過程的非功能性要求的能力使得客戶能夠 實際上以完整的形式指定其需要的一切而不需要指定如何將其遞送。最后,在此業(yè)務過程 層級包括SLA (服務水平協(xié)定)允許公用服務提供商代表企業(yè)并使其滿意地對整個解決方 案進行操作和管理。提供這一水平的公用服務供應可以允許企業(yè)在其工資單上有較少或沒有IT工作 人員的情況下獲得實現復雜業(yè)務過程的集成IT應用的回報。其還將允許較小的企業(yè)利用 大規(guī)模的公用服務提供商的操作。這還幫助解決難以將客戶吸引到其服務供應的公用服務 提供商的問題,因為其提供許多客戶將發(fā)現很有價值(因為它們節(jié)省時間和金錢)的非常 靈活且高級的服務供應。這還可以為現在的企業(yè)解決其不能指定某些水平的性能、安全性、可用性、可靠性 等對他們而言相對有價值的程度并從公用服務提供商獲得有意義且有用的服務選項的問 題。其第一次允許公用服務提供商基于某些水平的性能、安全性、可用性、可靠性等對于每 個特定企業(yè)的價值來最優(yōu)化其服務供應,以匹配他們的特定需要。這可以幫助向企業(yè)提供 其金錢的最大價值,這在目前的公用服務接口的情況下是不可能的。設計過程存在到設計過程的兩個基本輸入 功能性要求的規(guī)范。通常,這采取應用要支持的業(yè)務步驟集合的形式。這些從 最終用戶的角度描述系統(tǒng)意圖做什么。該規(guī)范將從標準目錄中指定要求的標準業(yè)務步驟集 合、以及這些步驟的任何系統(tǒng)特定的定制。此規(guī)范將確定必須被包括在用于企業(yè)應用的適 當軟件布局的設計中的產品和可選組件的集合?!し枪δ苄砸蟮囊?guī)范。這定義設計必須滿足的要求,諸如性能、安全性、可靠性、 成本、和可維護性。性能的示例可以包括將支持的用戶的總數和并發(fā)數目、事務吞吐量、或響應時間。該設計過程包括創(chuàng)建將滿足上述功能性要求和非功能性要求的企業(yè)應用的硬件 和軟件布局的規(guī)范。其由以下各項組成 選自可用池的物理硬件資源的集合。該基礎設施將由計算機、存儲器、盤、網絡、 存儲裝置、以及諸如防火墻的裝置組成?!た蛇x地,要部署到物理資源上的虛擬基礎設施、以及虛擬基礎設施到物理基礎設 施的分配映射。應以最好地利用物理基礎設施并支持在其上運行的軟件的要求的這樣的方 式來配置虛擬基礎設施。例如,分配給虛擬機的虛擬存儲器的量或優(yōu)先級?!ぴ谔摂M和物理基礎設施上分布的經適當配置的軟件組件和服務的選擇。該軟件 必須被配置為滿足系統(tǒng)特定的功能性要求,諸如標準業(yè)務過程的定制。配置參數可以包括 數據庫中線程的級別、在應用服務器中啟動的內部過程的集合、或被保留供應用服務器的 各種內部操作使用的存儲器的量。用于企業(yè)應用的設計由以下各項組成·適當拓撲布局、物理和虛擬基礎設施和軟件組件的數量或類型的選擇·用于基礎設施及軟件組件和服務的配置參數。下述實施例涉及一種自動化機制,其通過對企業(yè)應用進行建模以便模擬各種設計 參數的效果來創(chuàng)建用于企業(yè)應用的最優(yōu)化設計,使得可以進行最適當的選擇和配置。采取 基于模型的設計服務(MBDS)形式的模型管理器負責創(chuàng)建系統(tǒng)的一組模型,每個模型具有 用于選擇、配置、和評估可能性的稍有不同的參數??梢詫⒃撛O計過程簡單地視為對最佳模 型的搜索和選擇,通常是在找到滿足系統(tǒng)的功能性和非功能性要求的最便宜模型的方面進 行搜索和選擇。圖16至18,本發(fā)明的實施例。圖16示出用于部署業(yè)務過程的根據實施例的系統(tǒng)的某些主要部分的概圖,該系 統(tǒng)具有企業(yè)接口 795。企業(yè)使用該接口來向服務提供商指定具有非功能性要求、并且可選地 還具有服務水平協(xié)定的一個或多個期望業(yè)務過程。模型生成部725用來生成被存儲在儲存器735中的對應模型,其然后可以被部署 部745部署??梢杂晒芾矸?55來管理所部署的業(yè)務過程765。如圖17所示,圖16的系 統(tǒng)步驟的示例在操作中從在步驟702處從企業(yè)接收輸入開始。這可以包括單獨指定的非功 能性要求、以及其它項目,諸如業(yè)務過程的功能性步驟(或例如來自目錄的預定步驟的選 擇)、和服務水平協(xié)定(如果需要的話)。在步驟712處,由模型生成部生成實現功能性步 驟的軟件應用組件的模型。這可以以各種方式來實現,并且在下文中參照圖1至15更詳細 地對示例進行描述。在步驟722處,生成用于運行軟件應用組件的計算基礎設施的模型。這可以是物 理基礎設施、虛擬化基礎設施、或一般為兩者的混合,某些物理基礎設施用于運行組件且某 些用于主控虛擬化基礎設施。全部被設計為滿足非功能性要求。該設計在使操作員做決定 但由設計服務軟件進行提示和引導的意義上可以是半自動化的,諸如下文更詳細地描述的 設計模板方法。在步驟732處,將該模型部署在物理基礎設施上,并且可以在步驟742處提 供已部署過程的日常管理。圖18示出示例。在步驟704處,企業(yè)使用接口來指定諸如CRM、或組合CRM、銷售模塊、庫存管理的系統(tǒng)類型。在步驟714處,企業(yè)按照任何順序為每個系統(tǒng)指定事務的結構, 諸如CRM事務類型A、B、C、H。然后,在步驟724處,由企業(yè)來指定每種事務類型的功能性步 驟,諸如A 管理客戶記錄(顯示、創(chuàng)建、修改或刪除)B:對客戶記錄添加或刪除前引(lead)C 對客戶記錄添加或刪除機會H:通過關鍵詞來搜索客戶記錄然后,在步驟734處,企業(yè)輸入對性能的非功能性要求,諸如小于2秒的平均響應 時間、和95%的請求在5秒內、白天多達100個用戶并發(fā)、夜間10個用戶等等。接下來,在 步驟744處企業(yè)輸入對可用性的非功能性要求,諸如99%、一年365天每周末維護2小時。 在步驟754處企業(yè)輸入對安全性的非功能性要求,諸如要求必須使用AES-256加密算法以 加密格式存儲所有靜止數據。在某些情況下,企業(yè)可以指定底層軟件應用的某些細節(jié),例如 如果企業(yè)具有用于此類軟件的優(yōu)選或授權的類型或供應商,或者可以將此全部留給服務提 供商決定。另一示例可以如下企業(yè)輸入對CRM系統(tǒng)的要求能夠在開始時處理100個用戶,并且能夠在三年內擴 增至10000個用戶。CRM系統(tǒng)必須支持事務類型A、B、C、E、和H A.管理客戶記錄(顯示、創(chuàng)建、修改、刪除)B.對客戶記錄添加/刪除前引C.對客戶記錄添加/刪除機會E.對客戶記錄添加/刪除注解H.根據關鍵詞來搜索客戶記錄對非搜索請求的性能要求當所有用戶正積極地使用系統(tǒng)時,對于大小為50Kb或 以下的請求而言,平均響應時間必須小于2秒,并且95%的請求必須在5秒內完成。對搜索請求的性能要求當所有用戶在搜索查詢的情況下積極地使用系統(tǒng)時,對 于大小為IOKb或以下的請求,在結果的大小為50Kb或以下的情況下,平均響應時間必須小 于4秒,并且95%的請求必須在10秒內完成??捎眯砸蠓諔刻?4小時、每星期7天、每年365天在99. 5%的時間在所 述性能水平下可用。每個月在星期六允許每次2小時的兩個定期維護窗口。每年允許一次 24小時的一個維護窗口,精確的日期將以書面方式相互達成協(xié)議。安全性要求服務將僅接受來自我們公司的代理服務器中的三個服務器的請求。 另外,由于此系統(tǒng)處理敏感數據,所以服務提供商必須安裝、維護、并監(jiān)視來自我們批準的 供應商列表供應商A、供應商B、和供應商C的防入侵系統(tǒng)??煽啃砸笕绻栈蛞粔K服務崩潰,則必須在24小時內將服務恢復至全性能 操作。根據此信息,使用許多可用的建模語言和工具中的一個或多個、和/或專用于此 目的的新工具來創(chuàng)建機器可解釋模型。該機器可解釋模型可以包括執(zhí)行上列的每個業(yè)務過 程所需的步驟,以便可以理解性能、可用性、和安全性特性并對其進行建模,從而允許服務 提供商確定包括安全設備、例如負載平衡器的性能設備等的系統(tǒng)的尺寸并部署該系統(tǒng)。使
14用機器可解釋模型來選擇并配置遞送具有指定的性能、安全性、和可用性特性的業(yè)務過程 所需的軟件和硬件集合??梢允褂貌渴鹨鎭碜詣拥夭渴鹩布蛙浖?商娲?,可以由 人來手動地部署軟件和硬件,或者可以使用手動和自動化部署的某種組合。下面是比較示例。服務提供商必須在為其所服務的企業(yè)提供多種服務供應選擇與 能夠可行且有利地遞送那些所選服務供應之間尋求平衡。服務提供商現在將其服務供應捆 綁以尋求此平衡的常見方式是提供幾個分層的服務水平,諸如“金、銀、和銅”服務水平。企 業(yè)選取最密切適合于其需要的項目,這常常不是非常接近于其想要的。金服務水平通常具 有最高水平的性能、可用性、和安全性;銀服務水平具有每個的略低的水平;并且銅服務水 平具有每個的最低水平。簡化示例如下表1,根據已知實踐
性能可用性安全性服務水平用戶的最平均響應總服務可服務恢復脅iB- -hn戀入侵檢測大數目時間用性時間雙撒刀口雄系統(tǒng)金10002秒99.99 %2小時AES-512包括銀5003秒99.95 %24小時AES-256沒有銅1003秒99.9%48小時AES-128沒有高層級企業(yè)接口、模型的集合和自動化部署引擎的組合使得服務提供商為企業(yè)提 供獨立地調整用于服務的各種性能、可用性、安全性、及其它非功能性要求(NFR)的這些輸 入(在某些情況下遠超過在以上6列中所表示的選擇)的能力變得可行。因此,在本示例 中,企業(yè)不需要對較高水平的可用性和入侵檢測系統(tǒng)進行支付,如果他們不需要金服務水 平的這些特征的話,而只需獲得3秒以下的平均響應時間,如果這對于企業(yè)來說是重要特 征。作為替代,企業(yè)可以精確地指定其想要什么,并且服務提供商可以有能力以低于“金服 務水平”的價格提供該組合。關于以上所表示的每列企業(yè)可以非常得精確,因此其可以請求 例如以下各項表2,根據實施例
性能可用性安全性用戶的最大 數目平均響應時 間總服務可用 性服務恢復時 間數據加密入侵檢測系 統(tǒng)9232.5秒99.93 %12小時AES-128沒有如所述的本發(fā)明的實施例可以使得服務提供商能夠生成專門為了更容易滿足這 些要求而設計的系統(tǒng)的設計并構建該系統(tǒng)。圖19、20,示出適配現有模型的實施例圖19示出其中使用企業(yè)接口來對現有建模業(yè)務過程進行更改的另一實施例。這 可以在現場部署之前的測試階段或者在例如現場部署的使用期限期間發(fā)生。在適當的情況 下使用與圖16中的那些相同的參考標號。企業(yè)接口被耦合到更新部775,所述更新部775 可以被實現為作為由服務提供商提供的服務的一部分的軟件,或者可以被結合到例如企業(yè)
15接口中。該更新部被耦合到模型生成部且可以促使模型生成部對現有模型進行改變。更新 部可以被布置為與模型生成部協(xié)作以確定作為結果的對模型其它層的改變,諸如軟件應用 組件和計算基礎設施的設計。一旦這些已經被確定,并且已經進行檢查以看該改變是否是 可容許的,則更新部可以促使部署部在測試的基礎上或作為現場部署的一部分引起該改變 的部署。監(jiān)視部785被示為耦合到業(yè)務過程765的已部署軟件和計算基礎設施,以使得能 夠監(jiān)視部署的實際性能,并例如反饋業(yè)務過程與非功能性要求的匹配程度的指示。圖20示出圖19的實施例的操作步驟。在步驟707處,從企業(yè)接口接收諸如功能 性步驟和/或非功能性要求的高層級處的更改的輸入。該接口可以被布置為用關于現有業(yè) 務過程的提示來幫助企業(yè),例如可以改變什么、什么部分正在根據非功能性要求執(zhí)行以及 什么部分沒有根據非功能性要求執(zhí)行。在步驟717處,根據輸入,生成軟件應用組件的適配 模型。在步驟727處,根據輸入并根據軟件應用組件的適配模型,生成實現適配的軟件應用 組件的計算基礎設施的適配設計。在步驟737處,在共享基礎設施(或者根據需要,專用基 礎設施)上部署適配模型。在步驟747處監(jiān)視所部署的過程的日常行為和性能。在高層級 處,例如與功能性步驟或非功能性要求相對應地,使用企業(yè)接口將行為的變化報告給企業(yè)。 這可以涉及例如使特定基礎設施實體或軟件應用組件的監(jiān)視輸出(例如,其過載)與被如 此經常地執(zhí)行以致引起過載的對應功能性步驟相關。其還可以涉及從被監(jiān)視的參數推斷出 操作與非功能性要求的匹配程度或將這些參數轉換成與非功能性要求相當的參數。通常, 企業(yè)將想要連續(xù)地適配建模的業(yè)務過程以對日常行為的變化進行響應,所述變化諸如未預 料到的需求增加、或其它條件的變化。所述企業(yè)接口是顯著特征且可以使得企業(yè)能夠向公用服務提供商提交對業(yè)務過 程的模型的關鍵要求。當企業(yè)期望改變其業(yè)務過程時,他們只須改變業(yè)務過程的模型的高 級部分,諸如功能性步驟或非功能性要求。公用服務提供商處理對軟件應用組件和計算基 礎設施設計的改變的實現。顯著的優(yōu)點是這是比現在可用的企業(yè)接口高級得多的到公用服務提供商的企業(yè) 接口,其可以為企業(yè)節(jié)省大量時間和金錢并允許企業(yè)比其競爭者更迅速地對變化的業(yè)務條 件進行響應。通常,與現在可用的傳統(tǒng)方法情況下的典型的幾天、乃至幾個月的延遲相比, 在企業(yè)提交改變之后,將只需要幾個小時來推出一整套的應用及支持IT基礎設施。另一優(yōu)點是由于在模型中指定了企業(yè)關心的所有非功能性要求和服務水平,所以 企業(yè)第一次可以比較競爭的公用服務提供商之間的價格并挑選最便宜的一個。現在,這是 不可能的,因為沒有公用服務提供商允許企業(yè)指定用于所有非功能性要求的獨立值,因此 企業(yè)必須比較不同服務提供商之間的可用性、性能、安全性等的不同水平并選擇最合適的。 這種新接口允許企業(yè)指定其需要的精確的適合項目。其還可以使得企業(yè)能夠指定總預算, 并在該預算內獲得其能夠獲得的最多項目。對于公用服務提供商而言,這意味著其可以向企業(yè)更好地提供更加定制的服務, 以允許企業(yè)選擇成本、安全性、性能、可用性、可靠性等的更好的折衷。例如,企業(yè)可以指定 各種水平的安全性、性能、可用性、和可靠性對于他們而言有多大價值,并且公用服務提供 商可以為企業(yè)提供從中以不同的價格進行選擇的多個選項,或甚至在企業(yè)的預算范圍內在 那些各種選項之間進行最優(yōu)化。
由于還可以指定服務水平協(xié)定,所以公用服務提供商準確地知道企業(yè)所具有的期 望,并準確地知道如果未滿足該期望中的每一個,處罰、信用(credit)、或其它補救是什么。 由于客戶提交的要求被置于機器可解釋模型中,所以可以由軟件組件來自動地執(zhí)行服務的 構建和操作。圖21-25,示出模擬操作和測試部署的實施例圖21示出具有模型儲存器720的另一實施例。業(yè)務過程的候選模型740被存儲 在那里,并具有許多組成部分。示出了功能性步驟750,和可以被存儲在模型之外的非功能 性要求760。示出了用于實現功能性步驟的軟件實體的模型770和用于運行該軟件實體的 計算基礎設施的模型780。示出了許多此類候選模型,每個用于同一業(yè)務過程的不同實現方 式。提供了模擬器730,其獲取估計的性能參數715,并計算每個模型的行為和性能??梢?將該行為和性能與非功能性要求相比較,并可以產生每個模型在多大程度上滿足這些要求 的評估。這可以被模型管理器790用來采取適當的動作,諸如修改模型或選擇例如在試驗 條件下或現場生產條件下部署哪個候選模型。示出了所部署的軟件700和基礎設施的部署 設計710。圖22示出由諸如圖21的實施例的實施例執(zhí)行的某些步驟。在初步步驟870中產 生候選模型,其表示業(yè)務過程的部署。在步驟880處,模擬器模擬模型的操作,如同其被部 署一樣。存在實現此步驟的各種方式。通常需要生成測試輸入。用于每個軟件實體和用來 根據模型運行軟件的基礎設施的性能參數可以基于測量或估計。在步驟890處,對照業(yè)務 過程的非功能性要求來評估模擬的操作。這可以涉及在業(yè)務步驟層級、或其它層級評估模 擬的性能,這取決于非功能性要求。這可以涉及評估候選模型將在多大程度上滿足其它非 功能性要求,例如可用性或安全性。通過不僅具有軟件實體的表示、而且具有用來運行軟件 的底層計算基礎設施的表示的模型使得這成為可能。可以在步驟896向企業(yè)接口反饋所模 擬的操作在多大程度上滿足非功能性要求。在步驟897處,可以根據評估的結果來采取進一步的動作,諸如選擇哪個候選模 型進行部署,或其它動作,諸如改變要求并生成一個或多個新的候選模型。圖23示出另一實施例。在這種情況下,使用模型管理器790來管理測試部署。820 是軟件實體的測試部署且830是用于運行軟件實體820的計算基礎設施的測試部署。兩者 均由模型管理器基于模型儲存器中的候選模型來設置。可以同時地或在不同時間以這種方 式來部署許多不同的候選模型。該模型管理器管理對測試部署的測試輸入,并從在軟件或 計算基礎設施中設置的適當監(jiān)視點接收測量結果。這使得能夠對照非功能性要求評估各種 測試部署,并使得模型管理器能夠基于該測量結果進行改變或生成新模型,以達到更好的 實現方式。圖24示出根據另一實施例的步驟。在這種情況下,在步驟902處部署表示部署同 一業(yè)務過程的不同方式的多個不同候選模型。在步驟922處應用測試輸入。在步驟932處 進行這些測試部署的輸出和所選組件的測量。在步驟942處,將這些用來評估不同測試部 署的操作,以查看其在多大程度上滿足業(yè)務過程的非功能性要求??梢栽诓襟E915處向企 業(yè)接口反饋不同部署的操作在多大程度上滿足非功能性要求。在步驟952處,可以使用評估的結果來采取適當的動作,諸如例如基于模擬和測 試部署選擇候選模型、或生成新的模型。
圖25示出另一實施例。在這種情況下,操作員或開發(fā)者的開發(fā)過程被示為使用模 板來改進植基模型。下面將向前參照圖1來討論植基模型和模板的示例的更多細節(jié)。在步 驟926處生成候選模型。在步驟986處對其進行部署或模擬其操作。在步驟996處評估其 性能,并且在步驟998處,如模板所允許的那樣適配其余參數。將此適配反饋到步驟926。步 驟926涉及如下的許多子步驟。步驟936示出由操作員從目錄中選擇一般過程模型(GP)。 這僅僅是高級模型。在步驟946處對其進行定制以便在沒有非功能性要求的情況下完成要 求的功能性步驟。在步驟956處,由操作員輸入非功能性要求。在步驟966處選擇用于計 算基礎設施的設計的模板。這可以由操作員用來自模型管理器的自動化指導來完成,所述 模型管理器可以評估選項并示出最佳選項的排序。然后由操作員再次可選地利用來自示出 最佳選項排序的模型管理器的自動化指導在步驟976處選擇模板未確定的其余參數??梢?將來自最后一次重復的評估的反饋添加到此步驟976,以加速開發(fā)過程。對圖21的其它添加或變更可以用4個互連層對圖21所示的基于模型的方法進行建模 物理基礎設施·虛擬基礎設施·軟件布局 業(yè)務過程可以將物理基礎設施和虛擬基礎設施視為計算基礎設施的子集。在圖21的布置 的一種變體中,模型管理器可以是具有模型儲存器720的基于模型的設計服務MBDS的一 部分,模型儲存器720具有同一業(yè)務過程的許多候選模型。每個候選模型包括對應于企業(yè) 應用的這四個層的子模型。在每層處,在某些實施例中,模型可以由靜態(tài)模型和操作模型兩 者組成。靜態(tài)模型描述系統(tǒng)的靜態(tài)結構-企業(yè)應用的候選設計的選擇和配置選項。另外, 模型可以包括基礎設施和軟件的內部結構、運行時間操作、和性能需求(諸如CPU、存儲器、 盤、或網絡I/O)的詳細的操作模型。是這些操作模型允許模擬器評估候選設計將在多大程 度上滿足系統(tǒng)的非功能性要求。企業(yè)應用通常可以由多個部署模塊組成,其對應于已部署軟件的完整功能的可部 署、可分布的一致子集。這些部署模塊將形成軟件布局模型的一部分。設計和建模過程的 關鍵決策是如何將應用劃分成這些分布式部分和將部署模塊設置在哪里。存在由操作員輸入或從儲存器中獲得的對企業(yè)應用的功能性和非功能性要求。監(jiān) 視部可以測量在被部署時企業(yè)應用的某些或所有層的行為和/或性能。MBDS具有模擬器部 和模型模擬管理器。用于評估模擬結果的評估部可以是單獨的部或被結合到管理器或模擬 器中。還可以存在自動化部署服務和物理基礎設施資源池,將在物理基礎設施上部署企 業(yè)應用和至少某些監(jiān)視部。可選地,MBDS還可以使用相同的物理基礎設施,或者,其可以具 有其自己的專用物理基礎設施。此類系統(tǒng)的某些主要步驟如下0.向MBDS提交企業(yè)系統(tǒng)的功能性和非功能性要求。還向MBDS提供資源池中的當 前可用物理和虛擬資源的數目和類型。1. MBDS創(chuàng)建可以滿足要求集合的模型池中的全體候選模型。每個模型具有用于各種選擇、配置、和操作參數的不同值??梢詮拿枋銎髽I(yè)系統(tǒng)的最佳實踐設計模式的模板驅動 初始候選模型的生成。2.模擬器使用操作模型來模擬模型池中的每個模型并對照所述要求評估每個模 型,并且模型模擬管理器選擇最適當的模型。3.體現系統(tǒng)的設計的所選模型被提交到一組自動化部署服務。4.該自動化部署服務獲取、創(chuàng)建、并配置在設計模型中指定的基礎設施、監(jiān)視、和 軟件。5.來自這4個層中的每一個的運行系統(tǒng)的被監(jiān)視值和/或對要求的修改被反饋到 MBDS。模型模擬管理器能夠將測量值與由模擬預測的那些相比較。6.如果預測值與測量值之間的差異超過閾值,則模型模擬管理器可以從池中選擇 不同的模型,或者促使用操作模型中的更新參數在模型池中創(chuàng)建新的模型,以更好地預測 系統(tǒng)的行為。另外,如果要求已改變,則可以選擇新模型,或者生成一組新的候選模型???以向自動化部署服務提供新選擇的模型以促使對運行系統(tǒng)應用對應的改變。可以將各種機制用于模型池中的模型的創(chuàng)建、修改、和選擇 可以在模型池中管理許多模型,對每個模型進行模擬并對照要求進行評估。模型 池中的模型形成候選總體集?!た梢噪S機地對模型進行轉變以改變選擇、配置、和評估參數的參數。修改的程度 和速率可能受到與測量結果的差異的影響。·可以基于諸如給出類似結果的標準將模型分類成相關的集合以創(chuàng)建模型集群。 可以對這些集群應用各種試探法和選擇標準。例如,如果集群中的許多模型預測類似的結 果,則可以將此用作增加這些模型的預測置信度的方式。 可以使用系統(tǒng)的預測行為對模型參數的敏感度來驅動模型參數的修改程度和速率?!ぷ顑?yōu)化操作模型的內部參數以改善模型的可預測性和置信度。這是通過預測結 果與測量值的比較和對模型參數的敏感度的分析實現的。·可以對候選模型的預測系統(tǒng)行為、以及相關選擇和配置參數進行可視化并將其 呈現給人類專家,專家隨后不僅能夠進行候選設計的選擇,而且能夠指導模型轉變過程。可 以在很大程度上獨立地將上文針對單個企業(yè)應用A描述的方案應用于任何數目的附加服 務,該附加服務全部將在同一共享資源池上運行。很明顯,在多服務情形中將考慮由在相同物理機上運行的企業(yè)服務引起的交互和 資源競爭。本發(fā)明的某些實施例的關鍵特征是這些技術對企業(yè)系統(tǒng)的集成的模型集合的應 用,其中,在所述的4個層中的每一個處對系統(tǒng)進行建模。所述實施例的集成方法可以解決 此類企業(yè)系統(tǒng)的設計中固有的資源選擇、要求滿足、和配置最優(yōu)化問題。自動地設計并管理企業(yè)系統(tǒng)的基于模型的技術_參見由Brand等人所著的作為 外部 HP 實驗室技術報告http://www. hpl. hp. com/techreports/2007/HPL-2007-138. html 發(fā)表并通過弓I 用結合至Ij本文中的"Adaptive Infrastructure meets Adaptive Applications”一可以提供在使對人類介入的要求最小化的同時自動地設計、部署、修改、 監(jiān)視、和管理用以實現業(yè)務過程的運行系統(tǒng)的能力。模型可以具有諸如業(yè)務過程、業(yè)務過程步驟、業(yè)務對象、和軟件組件的概念、以及它們之間的關系。不應將模型與企業(yè)應用的軟件的源內容混淆。可以存在各種各樣的源內容。通常, 該源內容為企業(yè)應用供應商所擁有??梢源嬖趲追N形式的源內容,諸如·以諸如Java、或ABAP的語言所寫的程序代碼。此代碼可以直接由人類創(chuàng)建,或 者從其它程序模型或工具自動生成?!こ绦蚰P兔枋鱿到y(tǒng)的方面,諸如其靜態(tài)結構、或運行時間行為。以諸如XML的某 種形式的標記語言來表示程序模型本身。示例可以是·用于軟件組件的行為的狀態(tài)和動作圖?!っ枋鰳I(yè)務過程步驟集合的業(yè)務過程圖?!っ枋鰧④浖o態(tài)打包成可部署單元、可執(zhí)行文件和產品的結構圖??梢越浻芍T如圖形編輯器的工具或直接由人類來生成程序代碼或程序模型。用來 描述源內容的語法和語言可以廣泛地改變?,F在將描述將一系列模型用于此類目的的示例的更多細節(jié)。如果從打草稿 (scratch)開始,使用業(yè)務過程建模工具來設計業(yè)務過程。從可用業(yè)務過程的目錄中選擇業(yè) 務過程并由業(yè)務過程建模工具對其進行定制??捎脴I(yè)務過程是可以被構建并運行的業(yè)務過 程。如下所述,將存在用于這些的對應模板。然后,指定諸如可靠性和性能要求的非功能性 特性。接下來,選擇實現業(yè)務過程所需的軟件實體,諸如產品和組件。這通常通過在整個 產品模型目錄中搜索來完成,其中,用于每個產品的模型指定實現什么業(yè)務過程。此模型由 應用專家或產品供應商提供。接下來,設計計算基礎設施,諸如虛擬機、操作系統(tǒng)、和底層硬件。這可以使用在 下文和在通過引用結合到本文中的上文提及的先前提交的申請序列號11/741878 "Using templates in automated model-based system design,,中更詳細地描述的模板。模板是 具有參數和選項的模型,通過填入參數和選擇選項,設計工具將模板變換成可部署系統(tǒng)的 完整模型。該申請示出一種使用軟件應用組件對具有許多計算機實現步驟的業(yè)務過程進行 建模以使得能夠在計算基礎設施上自動部署的方法,該方法具有步驟從業(yè)務過程的未綁定模型自動地導出業(yè)務過程的植基模型,該未綁定模型指定將 用于業(yè)務過程的每個計算機實現步驟的應用組件,而沒有計算基礎設施的完整設計,并且 所述植基模型指定適合于業(yè)務過程的自動部署的計算基礎設施的完整設計,植基模型的導出具有步驟提供具有計算基礎設施的預定部分、該部分之間的預 定關系、并具有要完成的有限數目的選項的基礎設施設計模板、通過基于基礎設施設計模 板生成完整的候選基礎設施設計以及生成未綁定模型所使用的軟件應用組件的候選配置 來生成候選植基模型、以及評估候選植基模型,以確定是否可以將其用作植基模型。接下來,識別并分配來自數據中心中的共享資源池的物理資源。最后,配置并部署 物理資源并且可以執(zhí)行系統(tǒng)的日常管理。所有這些可以使用SAP R/3作為示例,但是也可適用于其它SAP系統(tǒng)或非SAP系 統(tǒng)。如下所述的模板不僅可以包括實現業(yè)務過程所需的組件和管理該業(yè)務過程所需的管理 組件,而且可以包括用于計算基礎設施的設計??梢砸愿鞣N方式來實現模型生成部。一種方式是基于稱為模型信息流(MIF)的六
20級模型流。這涉及在從業(yè)務要求一直到完整的運行系統(tǒng)的捕獲過程的生命周期的各級或各 階段中開發(fā)模型。在下述圖4中示出六個階段,并且每個階段具有可以如下概括的對應類 型的模型· 一般模型起點,例如,基于用戶可以從中進行選擇的軟件包的“開箱即用”功能 的業(yè)務步驟、和一般業(yè)務過程及其組成業(yè)務過程步驟的高級描述。 定制過程模型上文已定義,并且例如利用企業(yè)做出的選擇對前一模型(一般模 型)的特殊化。此模型捕獲非功能性要求,諸如響應時間、吞吐量和安全性水平。另外,其 可以指定對用于企業(yè)的一般業(yè)務過程的修改。·未綁定模型上文已定義,并且例如能夠以企業(yè)所指定的要求運行業(yè)務過程的系 統(tǒng)的結構和行為的抽象邏輯描述?!ぶ不P蜕衔囊讯x,并且例如可以是對前一模型(未綁定模型)的變換以指 定基礎設施選擇(諸如要使用的虛擬化技術以及硬件的數量和類型)以及還指定運行業(yè)務 過程的軟件的結構和配置?!そ壎P鸵褳槠浔A魯祿行闹械馁Y源的植基模型?!ひ巡渴鹉P鸵呀洸渴鸩⑴渲没A設施和軟件組件的植基模型。此時,服務啟動 并運行。該流程的每個階段具有存儲在模型倉庫中的對應類型的模型。管理服務消費 (consume)由模型倉庫提供的模型并執(zhí)行管理動作以實現階段之間的過渡,以在MIF中生 成下一個模型。那些服務可以是例如·基于模板的設計服務(TDS)(和基于模型的設計服務的示例)基于模板將非功 能性要求轉換成用于植基模板的設計選擇。 資源獲取服務(RAS)其目的是在諸如vm的虛擬資源的部署之前分配物理資源。·資源配置服務(RCS)其作用是創(chuàng)建/更新虛擬和物理基礎設施。·軟件部署服務(SDS)安裝并配置運行業(yè)務過程所需的應用和潛在的其它軟件。 監(jiān)視服務(MS)部署探測器以監(jiān)視已部署模型的行為。這可以包括在這三個層級 中的任何一個或多個處進行監(jiān)視〇基礎設施例如監(jiān)視CPU、RAM、網絡1/0使用,與哪個應用或功能性步驟正在執(zhí) 行無關。〇應用例如監(jiān)視所花費的時間或操作系統(tǒng)上的諸如DB過程的給定應用的CPU消 耗,與使用哪個特定的基礎設施組件無關。〇業(yè)務過程例如計算每小時銷售訂單的數目,與使用哪些基礎設施組件或應用無關。用于計算基礎設施設計的模板使用模板來捕獲已知(使用上述管理服務)成功實例化的設計。示例性模板描述 在具有一定量的存儲器的Linux虛擬機(vm)上運行的SAP模塊。模板還捕獲已知可以執(zhí) 行的管理操作,例如特定種類的vm的遷移、增加vm的存儲器、部署附加應用服務器以對高 負荷進行響應等。如果變化管理服務參考模板,則可以使用模板來限制可以應用于模型的 變化(改變(deltas))的類型。模板有時已在特定工具中用來限制選擇。另一種方法是使用為工具和用戶提供更大自由的約束。在這種方法中,指定解決方案必須滿足的約束或規(guī)則。一個示例可能是在應 用配置中必須存在至少一個應用服務器和至少一個數據庫。這些約束自己對于典型的業(yè)務 過程而言并不充分地降低復雜性,因為如果存在很少的約束,則存在大量的可能設計(也 稱為大的解空間)。如果存在(表征解所需的)大量的約束,則搜索所有約束并對其求解是 非常困難的-有巨大的解空間要探索。并且,從大的約束列表中找出哪個約束使給定的可 能設計無效將花費很長的時間。模板還可能包含用于管理變化的指令。例如,其可以包括需要發(fā)布給應用組件以 添加具有新的從應用服務器的新虛擬機的重配置指令。植基模型的導出可以涉及指定應用組件所需的所有服務器。這是自適應基礎設施 的設計的一部分以及已部署業(yè)務過程的性能的主要決定因素之一。模板可以限制服務器的 數目或類型,以減少選項的數目,從而降低例如找出最優(yōu)化解決方案的復雜性。從未綁定模型導出植基模型可以涉及指定每個應用組件到服務器的映射。這是將 應用組件配置為適合自適應基礎設施的設計的一部分。模板可以限制可能的映射的范圍, 以減少選項的數目,從而降低例如復雜性。植基模型的導出可以涉及指定用于監(jiān)視在使用中的已部署業(yè)務過程的管理基礎 設施的配置。此監(jiān)視可以是在一個或多個不同層級,諸如監(jiān)視軟件應用組件、或底層自適應 基礎設施,諸如軟件操作系統(tǒng),或處理硬件、存儲或通信??梢詫С龆嘤谝粋€的植基模型,每個模型用于在不同的時間部署同一業(yè)務過程。 例如,這可以使得能夠更高效地將資源用于對那些資源具有隨時間變化的需求的業(yè)務過 程??梢砸匀魏纬掷m(xù)時間切換在給定時間部署哪個植基模型,諸如每小時、每天、每夜、每 周、每月、每個季度等等。該切換可以是在預定時間,或者可以根據所監(jiān)視的需求、諸如硬件 故障的所檢測的資源變化、或任何其它因素來布置切換。在計算基礎設施具有虛擬化實體的情況下,可以將植基模型的導出布置為指定一 個或多個虛擬化實體,而不指示如何主控所述虛擬化實體?,F在已經認識到可以通過隱藏 此類主控來簡化模型及其導出,因為在一虛擬實體由另一虛擬實體主控、所述另一虛擬實 體本身由另一個虛擬實體主控等等的意義上,該主控可以涉及任意的遞歸。模板可以指定 虛擬實體,并將應用組件映射到此類虛擬實體,以限制要選擇的選項的數目,從而再次降低 復雜性。如果此類模板不需要指定虛擬實體的主控,則其將是更簡單的。可以例如通過單 獨的資源分配服務在部署之前的某一時間定義該主控。可以通過在自適應基礎設施中保留用于部署綁定模型的資源來將植基模型轉換 成綁定模型。此時,所需的資源的量是已知的,因此,這時保留資源可以比較早的保留更高 效,不過可以設想其它可能性。如果植基模型是對于現有部署的變化,則該方法可以具有確 定與現有已部署模型的差異并僅保留所需的附加資源的步驟??梢酝ㄟ^安裝并啟動綁定模型的應用組件來部署綁定模型。這使得能夠使用業(yè)務 過程。如果植基模型是對于現有部署的變化,則可以確定與現有已部署模型的差異,并且只 需要安裝和啟動附加應用組件。建?;驹碇兄档米⒁獾膬牲c是使用模板來呈現可以實例化的資源的有限目 錄,以及不暴露虛擬化資源的主控關系。任一者或兩者可以幫助降低模型的復雜性并因此 使得能夠更高效地處理模型以進行部署或在部署之后進行改變。
某些實施例可以使用基礎設施能力模型來呈現可以由計算架構提供的資源的可 能類型。基礎設施能力模型的實例包含可以由底層公用計算架構部署和配置的每種類型的 計算機系統(tǒng)或設備的一個實例。每當公用設施部署并配置這些類型之一時,配置將始終是 相同的。對于計算機系統(tǒng)而言,這可以例如意味著以下各項。相同的存儲器、CPU、操作系統(tǒng)具有相同I/O容量的相同數目的NIC具有相同特性的相同數目的盤模板可以將應用組件映射到計算機,同時允許改變應用組件和計算機兩者的范 圍。另外,該模板還可以包括某些或所有網絡設計,包括例如防火墻和子網是否將解決方案 中的計算機分離。在下文更詳細地描述的實施例中,應用打包模型連同定制過程模型一起 示出各種應用組件可以如何實現業(yè)務過程,并被打包在植基模型內。還可以使用所選的模板來限制對系統(tǒng)的改變,諸如對業(yè)務過程的改變、對應用組 件的改變、或對基礎設施的改變,或由這些中的任何一個引起的作為結果的變化。這可能使 自適應基礎設施的日常管理成為更易處理的計算問題,并因此允許更多的自動化并因此降 低成本。在某些示例性模板中,某些性質具有范圍例如0至η、或2至η。變化管理工具 (或向導(wizard),或工具或向導集合)僅允許對系統(tǒng)進行與模板一致的改變。該模板被 此變化管理工具用來計算可容許變化集合;其僅僅允許可容許變化。如果不存在限制否則 幾乎數目無窮的可能配置的模板,這可以幫助避免在計算當前和下一個狀態(tài)的模型之間的 差異方面的上述困難。這些特征的某些優(yōu)點或后果如下1.簡單性通過使用模板,構建鏈接的工具集合以在設計、部署和改變的整個生 命周期中集成業(yè)務過程、應用及基礎設施設計和管理在計算上變得易處理。2.通過限制自適應基礎設施的可能配置的數目,減輕或避免了必須計算復雜模型 的較早和稍后狀態(tài)之間的差異的特定計算問題。這可以幫助實現用于自適應基礎設施的管 理系統(tǒng),其可以自動地確定如何將系統(tǒng)從任意的現有狀態(tài)發(fā)展到任意的期望變化狀態(tài)。作 為替代,模板固定可容許變化的集合且被用作變化管理工具的配置。3.模板模型在形式上將業(yè)務過程、應用組件和基礎設施設計相關。這意味著例如 對這些中的任何一個的設計、或改變可以根據其它項進行,以便避免與其它不一致的設計 或改變。圖1概觀圖1示出根據實施例的基礎設施、應用、以及管理工具和模型的概觀。通??蛇x地 經由業(yè)務過程BP調用中心300,通過互聯(lián)網將自適應基礎設施280耦合到客戶290。管理 系統(tǒng)210具有使用許多模型來管理設計和部署及對已部署業(yè)務過程的日常改變的工具和 服務。也被示為耦合到管理系統(tǒng)的是可以代表服務提供商來控制操作的基礎設施管理操作 員200,和允許從企業(yè)輸入和向企業(yè)反饋的企業(yè)接口 795。例如,如所示,管理系統(tǒng)具有初始 設計工具211、設計改變工具213、部署工具215、以及監(jiān)視和管理工具217。這些可以采取 在可以是分布式的常規(guī)處理硬件上運行的軟件工具的形式,諸如上述的監(jiān)視器部、模擬器 和模型管理器。初始設計工具和設計改變工具的示例由下述圖5所示的服務示出。示出了用于兩個業(yè)務過程的某些模型的高級示意圖可能存在更多業(yè)務過程。通
23常,管理系統(tǒng)屬于服務提供商,該服務提供商受雇向企業(yè)提供IT服務,該企業(yè)控制其自己 的用于其客戶的業(yè)務過程。業(yè)務過程1的模型230用來開發(fā)軟件應用組件的設計250。這 被用來創(chuàng)建用于運行應用組件以實現業(yè)務過程的基礎設施設計270。此設計然后可以被管 理系統(tǒng)部署為在實際自適應基礎設施上運行,在那里,其可以例如被客戶(290)、調用中心 (300)和供應商(為明了起見未示出)使用。類似地,項目220示出第二業(yè)務過程的模型, 其用來開發(fā)軟件應用組件的設計240。這被用來創(chuàng)建用于運行應用組件以實現第二業(yè)務過 程的基礎設施設計260。此設計然后也可以被管理系統(tǒng)部署為在實際自適應基礎設施上運 行。自適應基礎設施可以包括管理基礎設施283,用于耦合到管理系統(tǒng)的監(jiān)視和管理 工具217。不需要將所有這些模型一起保持在單個倉庫中原則上,可以將其存儲在任何地 方。圖2操作圖2示出根據實施例的由操作員和管理系統(tǒng)進行的某些操作步驟的示意圖。人類 操作員動作在左側列中示出,并且管理系統(tǒng)的動作在右側列中示出。在步驟500處,人類操 作員設計并輸入業(yè)務過程(BP)。這可以如上所述經由企業(yè)接口來執(zhí)行。在步驟510處,管 理系統(tǒng)創(chuàng)建BP的未綁定模型。在步驟520處,操作員選擇用于設計計算基礎設施的模板。 這通常由服務提供商操作員做這項工作。在步驟530處,系統(tǒng)使用所選模板根據未綁定模 型和所選模板來創(chuàng)建BP的植基模型。原則上,模板的選擇可能是自動化的或由系統(tǒng)引導。 服務提供商的人類操作員然后促使植基模型被部署,或者作為具有真實客戶的現場業(yè)務過 程或作為在受控或模擬條件下的測試部署??梢栽趯⒅不P筒渴馂楝F場業(yè)務過程之前對 其適合性進行評估下面參照圖3來描述如何這樣做的示例。在步驟550處,系統(tǒng)在自適應基礎設施中部署B(yǎng)P的植基模型。由任何類型的監(jiān)視 裝置來監(jiān)視已部署的BP,并將監(jiān)視結果傳遞給人類操作員。在步驟570處審查監(jiān)視結果之 后,在步驟575處,企業(yè)的操作員可以設計對BP的改變,或者服務提供商的操作員可以設計 對基礎設施的改變。這些被輸入到系統(tǒng),并且在步驟580處,系統(tǒng)判定改變是否被同一模板 允許。如果不是,則在步驟585處,操作員判定贊成新模板,這涉及返回到步驟520 ;或者判 定在同一模板的限制內進行重新設計,這涉及在步驟587處,系統(tǒng)基于同一模板創(chuàng)建該改 變的植基模型。在步驟590處,服務提供商的操作員引起植基模型的部署以用于測試或現場部 署。在步驟595處,系統(tǒng)部署所述改變的植基模型。原則上,稍后可以通過生成完整的植基 模型并在稍后確定差異來導出該改變,但是這可能更加困難。圖3操作圖3示出實施例的概觀,其示出在對業(yè)務過程進行自動化部署中涉及的某些步驟 和模型。這些步驟可以由圖1的管理系統(tǒng)來執(zhí)行,或者可以在其它實施例中使用。業(yè)務過程模型15具有步驟I-N的規(guī)范。例如,如眾所周知的那樣,可能存在許多 循環(huán)和條件分支。其可以是人類和計算機實現步驟的混合,人類輸入例如由客戶或供應商 或第三方執(zhí)行。在步驟65處,針對業(yè)務過程的每個計算機實現步驟指定應用組件。在步驟 75處,基于未綁定模型25,自動地指定計算基礎設施的完整設計。這可以涉及在步驟85處 獲取基礎設施設計模板35,并選擇模板允許的選項來創(chuàng)建候選基礎設施設計。這可以包括
24軟件和硬件部分的設計。在步驟95處,創(chuàng)建模板允許的軟件應用組件的候選配置,以適合 候選基礎設施設計。這些一起形成候選植基模型。在步驟105處,評估候選植基模型。如果必要,創(chuàng)建并評估另外的候選植基模型。 識別候選中的哪一個最佳地適合業(yè)務過程和可用資源的要求。存在許多可能的評估方式和 許多可能的標準,其可以被布置為適應于業(yè)務過程的類型。例如,可以將該標準結合到未綁 定模型中??梢源嬖诿總€用于不同時間或不同條件的幾個植基模型。例如,隨時間變化的 非功能性要求可以導致不同的物理資源、或乃至重配置VM可能在不辦公的時間移除存儲 器,因為較少人將在使用它。甚至可能關閉未充分利用的從應用服務器VM。不同的植基模 型通常但不一定來自同一模板,其中不同參數被應用以生成不同的植基模型。模板、植基模型和后續(xù)模型可以包含用于管理基礎設施的配置信息和用于管理基 礎設施的指令,以便在部署時監(jiān)視業(yè)務過程。示例是在每個新部署的虛擬機中設置監(jiān)視器, 其在CPU利用率上升至一定水平-例如60% -以上時發(fā)出警報。圖 4MIF圖4示出在從定制模型到已部署實例的過渡中涉及的MIF的某些主要元素。為簡 單起見,其未示出在典型應用生命周期中將涉及的許多循環(huán)和迭代-這些可能被采用。業(yè) 務過程的一般模型15是起點,并且假設客戶或咨詢者已經設計了定制業(yè)務過程。可以以各 種方式來對其進行表示,因此許多實施例中的初步步驟是對其進行定制。定制模型18是一 般模型的定制化。因此,很可能使用與針對建模定制模型說明的技術類似的技術來對一般 模型進行建模將存在不同的業(yè)務過程步驟。定制模型在以下方面不同于一般模型。其將 包括非功能性要求,諸如用戶數目、響應時間、安全性和可用性要求。另外,其可以可選地涉 及重新布置業(yè)務過程步驟新分支、新循環(huán)、新步驟、不同/替換步驟、涉及遺留或外部系統(tǒng) 的步驟。用諸如應用性能31、應用打包21、和應用約束27的輸入將定制模型轉換成未綁定 模型25。未綁定模型可以至少指定將用于業(yè)務過程的每個計算機實現步驟的應用組件,而 沒有計算基礎設施的完整設計。用來自基礎設施能力33的模型的輸入和基礎設施設計模 板35將未綁定模型轉換成植基模型55。植基模型的部署可以涉及轉換到綁定模型57,然后將綁定模型轉換到已部署模型 63。綁定模型可以保留資源,并且已部署模型涉及安裝并啟動應用。圖 5MIF圖5示出根據另一實施例的模型和步驟序列。其示出模型倉庫310,該模型倉庫 310可以具有諸如模板(TMP)、未綁定模型(UM)、綁定模型(BM)、部分已部署模型(PDM)、完 全已部署模型(FDM)的模型。該圖還示出各種服務,諸如用于使用模板根據未綁定模型生 成植基模型的服務320。另一服務是用于使用資源目錄340保留資源以創(chuàng)建綁定模型的資 源獲取服務330。自適應基礎設施管理服務350可以根據綁定模型在自適應基礎設施280中配置并 激發(fā)(ignite)虛擬機,以創(chuàng)建部分已部署模型。最后,可以使用軟件部署服務360來獲取 部分已部署模型并安裝且啟動應用組件以啟動業(yè)務過程,并創(chuàng)建完全已部署模型。圖6導出植基模型
圖6示出根據實施例的導出植基模型中的步驟。在步驟400處,從諸如集中式或 分散式布置的示例中選擇模板。集中式布置意味著在單個服務器或虛擬服務器上主控全 部。其它模板選擇可以是例如高或低安全性,取決于例如提供什么防火墻或其它安全性特 征。其它模板選擇可以是例如高或低可用性,其可以意味著為某些或所有部分提供冗余。在步驟410處,填充所選模板中的其余選項。這可以涉及選擇例如盤大小、對話過 程的數目、服務器的數目、服務器存儲器、網絡帶寬、允許的數據庫時間等。在步驟420處, 通過所述選擇來創(chuàng)建候選植基模型。步驟430涉及例如通過用所表示的資源并用表示處理 延遲、db延遲等的同步點來構建排隊網絡而評估候選植基模型??商鎿Q地,所述評估可以 涉及將模型部署在具有模擬輸入和條件的隔離網絡中。在步驟440處,將評估或模擬結果與用于未綁定模型的目標相比較。這些可以是 性能目標,諸如在給定響應時間的情況下同時用戶的最大數目,或對于給定數目的用戶而 言的最大響應時間。在步驟450處,可以用模板所允許的不同選項來創(chuàng)建并測試另一候選 植基模型。在步驟460處,針對一個或多個不同模板重復該過程。在步驟470處,比較結果 以識別哪個或哪些候選提供最佳的適合。如果例如目標或要求例如在不同的時間是不同 的,則可以選擇多于一個的植基模型。在這種情況下,可以以對第一植基模型的改變的形式 來創(chuàng)建第二或后續(xù)植基模型。圖7主應用服務器和從應用服務器圖7示出根據實施例的用于計算基礎設施的分散式或分布式設計的主應用服務 器和從應用服務器的布置。主應用服務器50被提供為通過網絡耦合到數據庫60、并耦合 到許多從應用服務器70??梢詫⒛承膽梅掌鲗崿F為從應用服務器72。每個從應用 服務器可以具有許多對話工人過程80。主應用服務器還使用客戶端軟件10耦合到遠程用 戶。這些均可以具有在例如通過互聯(lián)網耦合的臺式PC 20上的圖形用戶界面⑶I。一旦客 戶端已使用主應用服務器登陸,則客戶端可以直接使用從應用服務器。圖8主應用服務器圖8示出用于圖7的實施例的主應用服務器的各部分。提供排隊過程100以管理 數據庫上的鎖。提供消息服務器120以管理用戶的登錄和用戶到例如從應用服務器的分 配。提供更新服務器130以用于管理提交工作以在數據庫中永久性存儲。如果需要,可以 提供打印服務器140??梢蕴峁┘倜摍C(spool)服務器150以運行諸如報告的批任務。在 160處,示出了用于運行應用組件的實例的對話工人過程。圖9虛擬實體圖9示出供在實施例中使用的服務器上的虛擬實體的布置。示出了虛擬實體的分 級結構。在操作系統(tǒng)層級,存在許多虛擬機VM。在其它VM上主控某些VM。例如通過時間 共享或通過并行處理電路,在表示硬件處理實體的可重配置分區(qū)的虛擬分區(qū)VPAR 610上 主控某些VM。這些中的若干可以由表示例如安裝若干硬件處理實體的電路板的硬分區(qū)實體 nPAR620來主控。多個nPAR構成物理計算機630,物理計算機630通常通過網絡接口 650 耦合到網絡并諸如經由存儲區(qū)域網絡SAN接口 640耦合到存儲裝置。在市場上存在來自HP、IBM、EMC以及其他公司的許多商業(yè)存儲裝置虛擬化產品。 這些產品集中于管理可用于物理機的存儲裝置和增加存儲裝置的利用率。虛擬機技術是獨 立于其它操作系統(tǒng)實例在一個物理機上運行操作系統(tǒng)實例的一種已知機制。已知的是在單
26個物理機內具有由此機器上的虛擬網絡連接的兩個虛擬機。VMware是虛擬機技術的已知示 例,并可以提供用于在同一物理機上運行的不同操作系統(tǒng)實例的隔離環(huán)境。還存在可以發(fā)生虛擬化的許多層級。例如,HP的蜂窩體系架構允許將單個物理計 算機劃分成許多硬分區(qū)或nPAR。每個nPAR對于操作系統(tǒng)和應用表現為單獨的物理機。類 似地,可以將每個nPAR劃分成許多虛擬分區(qū)或vPAR,并且可以將每個vPAR劃分成許多虛擬 機(例如,HPVM、Xen、VMware)。圖 10 至 15本文接下來的部分參照圖10至15來更詳細地描述可以在圖1至9、特別是圖4所 示的模型信息流(MIF)內使用的模型的示例。這些模型可以用來在公用基礎設施內在其整 個生命周期中管理SAP應用或其它業(yè)務過程。使用眾所周知的使用CIM(公共信息模型) 樣式的UML(統(tǒng)一建模語言)示出了這些圖示。該實現可以是以Java或其它軟件語言。定制模型可以具有BusinessProcess (業(yè)務過程)與AIService的實例之間的 一一對應關系。AlService是實現業(yè)務過程的信息服務??梢詫I(yè)務過程分解成若干業(yè)務過程步驟(BPst印),因此,BusinessProcess 類的實例可以包含1個或多個BPSt印??梢詫PSt印的實例拆分成多個較小BPSt印, 涉及例如序列、分支、遞歸、和循環(huán)。一旦BusinessProcess步驟被分解成足夠的細 節(jié),可以使每個最低水平的BPSt印與ApplicationComponent (應用組件)匹配。 ApplicationComponent (應用組件)是實現BPSt印的程序或函數。對于SAP而言,示例將 是SAP R/3Enterprise的SD (銷售和分銷包)中的稱為VAOl的SAP事務。另一示例可以 是特定的web服務(在應用服務器中運行)。BPStep可以具有StepType (步驟類型)和stepParams (步驟參數)字段以不僅描 述類似于步驟的較高級序列的執(zhí)行和分支概念,而且描述步驟本身。StepType字段用來定 義順序或并行執(zhí)行、循環(huán)、以及if-then-else (如果-則-否則)語句。stepParams字段 用來定義關聯(lián)數據。例如,在循環(huán)的情況下,st印Params字段可以是循環(huán)計數或終止標準。 BPStep集合本質上描述具有諸如循環(huán)、if-then-else (如果-則-否則)語句、分支概率等 各種控制的步驟的圖。關系BPSt印sToApplicationComponentMapping(BPSt印到應用組件映射)是詳細 描述BPSt印被如何映射到Application Component (應用組件)的復雜映射。其以精簡形 式表示BPSt印對Application Component (應用組件)的調用的潛在復雜混合物,諸如在 ApplicationComponent (應用組件)內調用的特定對話步驟或函數或對web服務的方法調 用的集合,以及提供的參數細節(jié),諸如銷售訂單中的行式項目的平均數目。BPSt印可以具有與之相關的一組非功能性要求(NonFunctionalRequirements) 性能、可用性、安全性以及其他??梢杂纱案摺?、“中”、“低”來對可用性和安全性要求進行 建模。在例如注冊用戶數目(NoUsersReq)、系統(tǒng)的并發(fā)用戶數目、以秒為單位的響應時間和 對于每秒事務數目的吞吐量要求方面指定性能要求。許多BPStep可以共享同一組非功能 性要求??梢杂纱畞肀硎緯r間函數。其指定何時應用非功能性要求,因此可以在辦公時間 到正常辦公時間之外的時間期間應用不同的要求。更豐富的時變函數也是可能的以捕獲月 末峰值等。圖10、11定制模型
對于定制模型的示例而言,將討論眾所周知的銷售和分銷(SD) Benchmark (基 準)。這是由眾所周知的德國公司SAP生產的軟件。其為SAP R/3系統(tǒng)的一部分,SAP R/3 系統(tǒng)是執(zhí)行諸如制造、會計、財務管理、和人力資源的用于公司的標準業(yè)務功能的軟件的集 合。SAP R/3系統(tǒng)是能夠在幾乎任何硬件/軟件平臺上運行且能夠使用許多不同的數據 庫管理系統(tǒng)的客戶端服務器系統(tǒng)。例如,其可以使用利用數據庫系統(tǒng)DB2運行操作系統(tǒng) 0S/400的IBM AS/400服務器;或使用Oracle數據庫系統(tǒng)的Sun Solaris (Unix的衍生版 本);或使用SQL服務器運行Windows NT的IBM PC。SAP R/3被設計為允許客戶選擇其自己的業(yè)務功能集合,并進行定制以添加新的 數據庫實體或新功能。SD Benchmark使用SD (銷售和分銷)應用模擬許多并發(fā)用戶以評估 硬件的性能能力。對于每個用戶而言,交互由一遍又一遍地重復的16個單獨步驟(對話步 驟)組成。在圖10中示出該步驟及其到SAP事務的映射。這里,事務是應用組件的示例。 每個事務被示為行中的若干方框。每行中的第一個方框表示用戶例如通過鍵入/nvaOl以 開始事務VAOl來調用事務。如圖10所示,頂行中的事務VAOl涉及調用創(chuàng)建銷售訂單事 務、然后填充訂單細節(jié)、然后保存售達方、以及以保存數據的“返回”功能F3結束的業(yè)務過 程步驟。在第二行中示出下一個事務VL01N,并且其涉及如下步驟以創(chuàng)建外出遞送。調用該 事務,填充并保存裝運信息。在第三行中示出下一個事務VA03,其用于顯示客戶銷售訂單。 這涉及調用該事務,并填充隨后的文檔。在第四行中是第四事務VL02N,其用于改變外出遞 送。在調用此事務之后,下一個方框示出保存外出遞送。第五行所示的下一個事務是VA05, 其用于列出銷售訂單。在調用此事務之后,下一個方框示出提示用戶填充日期,并且然后第 三方框示出列出給定日期的銷售訂單。最后,在第六行中,事務VFOl用于創(chuàng)建賬單文檔,并 示出填充表格且保存已填充表格。圖11示出用于SD Benchmark的定制模型實例的示例。頂部的兩個方框指示業(yè)務 過程"BPModel ”包含一個頂層級 BPSt印“SD Benchmark”,其中 st印Type = Sequence (序 列)。示出了從此方框引出的兩條線,一個線到與此頂層級BPStep相關的并由左側的方框 示出的非功能性要求。在這種特定情況下,僅僅指定性能要求_ 一個用于9am 5pm且另 一個用于5pm 9am。未示出的其它類型的非功能性要求可以包括例如安全性或可用性要 求。在每種情況下,可以如所示地指定性能要求,諸如用戶的數目、并發(fā)用戶的數目、所需的 響應時間、以及所需的吞吐量。這些僅僅是示例,可以指定其它要求以適合業(yè)務過程的類 型。如所示,表示相應時間函數的方框被耦合到每個性能要求方框。在本示例中,一個指示 9am至5pm且另一指不5pm至9am。在右側,一條線從SD Benchmark BPStep引出到被示為六個BPSt印的功能性要 求,其中st印Type = St印(步驟)-一個用于圖10所示的每個SAP事務(VA01、VL01N等)。 為方便起見,將圖10所示的每個事務的第一對話步驟的名稱用作圖11所示的對應BPStep 的名稱(“創(chuàng)建銷售訂單”、“創(chuàng)建外出遞送”、“顯示客戶銷售訂單”、“改變外出遞送”、“列出銷 售訂單”、和“創(chuàng)建遞送文檔”)。對于這些步驟中的每一個而言,BPSt印ToApplicationCompo nentMapping關系指定所涉及的對話步驟的細節(jié)。例如,在CreateSalesOrder (創(chuàng)建銷售訂 單)的情況下,圖10示出BPSt印ToApplicationComponentMapping需要指定按順序執(zhí)行以 下對話步驟“創(chuàng)建銷售訂單”、“填充訂單細節(jié)”、“售達方”和“返回”。另外,其可能指定“填 充訂單細節(jié)”所需的行式項目的數目。在圖的右側,每個BP步驟經由相應映射耦合到其對應
28的ApplicationComponent (應用組件)的實例。因此,BPst印“創(chuàng)建銷售訂單”經由具有ID 001的映射耦合到App 1 icationComponent (應用組件)VAO1。BPst印“創(chuàng)建外出遞送”經由具 有ID 002的映射耦合到ApplicationComponent (應用組件)VL01N。BPst印“顯示客戶銷售 訂單”經由具有ID 003的映射耦合到ApplicationComponent (應用組件)VA03。BPst印“改 變外出遞送”經由具有ID 004的映射耦合到ApplicationComponent (應用組件)VL02N。 BPst印“列出銷售訂單”經由具有ID :005的映射耦合到ApplicationComponent (應用組件) VA05。BPst印“創(chuàng)建遞送文檔”經由具有ID 006的映射耦合到ApplicationComponent (應 用組件)VFOl。圖12未綁定模型未綁定模型用來計算資源需求。如圖12所示,此模型可以由四個模型構成定制 模型(標記為CustomizedProcessingModel (定制處理模型))、應用打包、應用約束和應用 性能模型,其中的每一個的示例將在下文描述(除定制模型之外,定制模型的示例已在上 文關于圖11進行了描述)??梢栽O想其它布置。未引入尚未包含在這四個模型中的新信 肩、ο圖12應用打包模型應用打包模型描述軟件的內部結構需要什么產品和需要來自該產品的什么 模塊??梢栽贏pplicationModule (應用模塊)中包含ApplicationComponent (應用組 件)。ApplicationModule (應用模塊)可以對應于用于應用服務器的JAR (Java存檔) 文件或數據庫中的表格。在SAP的情況下,其可能是從特定產品加載到諸如SD或FI (財 務)的應用服務器中的模塊。應用打包模型可以具有DiskFootPrint (盤足跡)以指示 ApplicationModule (應用模塊)所需的盤存儲量。在圖10中的ApplicationComponent (應 用組件)VAOl的情況下,其來自例如具有2MB的DiskFootPrint的SD。在產品內包含一個或多個ApplicationModule(應用模塊)。因此,例如, SAP R/3ENTERPRISE包含SD。ApplicationModule (應用模塊)可以依賴于其它 ApplicationModule (應用模塊)。例如,用于應用服務器的SD代碼依賴于被加載到數據庫 中的SD數據和SD可執(zhí)行代碼兩者。應用打包模型示出執(zhí)行ApplicationComponent (應用組件)的 ApplicationExecutionComponent (應用執(zhí)行組件)。這可以是在應用服務器或web服 務器中運行的servlet。其還可以是特定組件的線程或過程。在SD的VAOl事務的情況 下,其為對話工作過程。當其執(zhí)行時,ApplicationComponent (應用組件)可以間接地使 用或調用其它應用組件來運行=Servlet可能需要訪問數據庫過程;SD事務需要訪問其 它ApplicationComponent (應用組件),諸如排隊工作過程和更新工作過程,以及數據庫 ApplicationExecutionComponent (應用執(zhí)行組件)??梢杂葾pplicationExecutionService (應用執(zhí)行服務)(SAP應用服務 器)包含并在其上下文中執(zhí)行ApplicationExecutionComponent (應用執(zhí)行組件), ApplicationExecutionService (應用執(zhí)行月艮務)力口載或包含 ApplicationModule (應用 模塊)(SD)并管理ApplicationExecutionComponent (應用執(zhí)行組件)(對話WP)的執(zhí)行, ApplicationExecutionComponent (應用執(zhí)行組件)又執(zhí)行 ApplicationComponent (應用組 件)(VAOl)以遞送BPSt印。
29
圖12,應用約束模型應用約束模型表示對定制過程、應用打包和組件性能模型中的組件的任意約束。 在MIF從左到右前進時這些約束可以被工具用來生成附加模型。約束的示例包括 如何擴增應用服務器_什么ApplicationExecutionComponent (應用執(zhí)行組件) 被復制且什么不被復制。例如,為了擴增SAP應用服務器以處理更多的用戶,不能僅僅復制 第一實例-圖7和8的主應用服務器50,一般稱為中央實例。作為替代,需要中央實例內的 組件的子集。這也是設計原則的示例可能存在對最佳設計原則進行編碼的其它約束。 用于 ApplicationComponent (應用組件)、ApplicationExecutionComponent (應 用執(zhí)行組件)和ApplicationExecutionService (應用執(zhí)行服務)的安裝和配置信息 對ApplicationExecutionService (應用執(zhí)行服務)的性能約束_例如不在具有 大于60%的CPU利用率的機器上運行應用服務器約束的其它示例包括命令需要在應用服務器之前啟動數據庫。可以使用其它約 束來對部署和配置信息進行編碼。該約束可以全部被包含在模板中,或除模板之外另外提 供,以進一步限制用于植基模型的選項的數目。圖12.應用性能模型應用性能模型的目的是定義用于每個BPStep的資源需求。存在要考慮的兩種類 型的資源需求。1.由使用CPU、存儲器I/O、網絡I/O和存儲器的 ApplicationExecutionComponent (應用執(zhí)行組件)(例如,對話WP)在其執(zhí)行BPSt印時直 接生成的資源需求-ComponentResourceDemand (組件資源需求)2.在上述ApplicationExecutionComponent (應用執(zhí)行組件)使用、調用或援引其 它組件(例如,使用更新WP的對話WP)時由其引起的組件所生成的資源需求-IndirectCom ponentResourceDemand (間接組件資源需求)IndirectComponentResourceDemand(間接組件資源需求)是遞歸的。因此,將存 在類似于調用圖或活動圖的樹。完整的應用性能模型將包含用于圖11所示的所有BPStep的類似信息。例如, BPStep “創(chuàng)建銷售訂單”中的對話步驟集合可消耗0.2SAPS。此外,其由四個單獨的調用 (或者,按SAP術語,為對話步驟)組成。該調用是同步的。以下是可能出現在IndirectComponentResourceDemand(間接組件資源需求)和 ComponentResourceDemand (組件資源需求)中的屬性的某些示例。.delayProperties (延遲性質)與不消耗任何 CPU、NetIOProperties (網絡 IO 性 質)和DiskIOProperties (盤IO性質)的組件活動相關的任何延遲(例如,等待或睡眠)。· NumInvocation (調用數目)在BPSt印的執(zhí)行期間調用組件的次數。diWocationType (調用類型)如果調用程序被阻止,則同步;如果調用程序可以 立即繼續(xù)活動,則異步。· BPStepToAppCompID BPStepToApplicationComponentMapping 白勺 ID Mt生。 其原因是在幾個不同的BPSt印中很可能涉及特定的ApplicationExecutionComponent (應 用執(zhí)行組件)。.ApplicationEntryPoint (應用進入點)其為正在執(zhí)行的程序或函數。在“創(chuàng)建
30銷售訂單”的情況下,其為用于DialogWP的VA01。其還可以是web服務的方法。可以以SAP為單位或用其它單位來表示CPUProperties (CPU性質)。存在各種表 示 MemProperties (存儲器性質)、NetIOProperties 禾口 DiskIOProperties 的方式。圖12,組件性能模型對于定制模型的每個實例存在應用性能模型的一個實例。這是因為在一般情況 下,每個業(yè)務過程將具有唯一的特性唯一的BPSt印排序和/或用于每個BPSt印的唯一的 數據特性集合。DirectComponentResourceDemands (直接組件資源需求)和IndirectComp onentResourceDemand (間接組件資源需求)關聯(lián)指定每個BPSt印的唯一資源需求。需要 根據從基準導出的每個ApplicationComponent (應用組件)的已知特性以及還有已安裝系 統(tǒng)的蹤跡來計算這些需求。組件性能模型包含每個ApplicationComponent (應用組件)的已知性能特性。通 過將以下各項組合來計算特定的應用性能模型?!ぐ诙ㄖ颇P椭械?BPSt印ToApplicationComponentMapping (BPSt印到應用 組件映射)關聯(lián)中的信息·應用約束模型中的任何性能相關約束。·組件性能模型合起來,未綁定模型的這些模型不僅指定系統(tǒng)的非功能性要求,而且指定如何生 成并評估滿足那些要求的可能軟件和硬件配置的方法??赡艿挠布渲玫纳墒艿绞褂没?礎設施能力模型中的信息進行的可從特定基礎設施提供商處獲得的基礎設施的選擇、以及 所選模板的約束。適用于諸如 ApplicationExecutionComponent (應用執(zhí)行組件)或 ApplicationExecutionService (應用執(zhí)行服務)的在未綁定模型中描述的可部署 軟件元素的一般原理是模型僅包含描述應用拓撲結構所需的每種類型的元素的最小 數目的實例。例如,在SD的情況下,在未綁定模型中只需要與應用服務器的單個實 例App 1 icationExecutionService (應用執(zhí)行服務)相關的對話工作過程的單個實例 ApplicationExecutionComponent (應用執(zhí)行組件)來描述實例化植基模型中的兩個元素 的植基等價物的無數種可能方式。準確地確定可以如何復制這些實體并使其共同定位的是 模板和打包信息?;A設施能力模型如上文所討論的,所述建?;驹淼膬蓚€值得注意的特征是1.呈現具有可以實例化的資源的有限目錄的模板,以便存在固定且有限數目的選 擇。例如,小xen-vm 1-盤、中xen-vm 2-盤、大xen-vm 3-盤、物理hpux機等。這使得由 任何容量規(guī)劃工具進行的資源類型的選擇更簡單。其還可以使得基礎設施管理更容易,因 為在資源配置中存在較低的復雜性_可以使用標準模板。2.不暴露虛擬化資源的主控關系。DMTF虛擬化系統(tǒng)簡檔將主控關系建模為 "HostedDependency (主控依賴性)”關聯(lián)。如果只需要對有限數目的資源類型進行建模,則 這看起來是不需要的,因此其未出現在這里所討論的任何模型中。這使模型保持更簡單,因 為不需要處理任意的遞歸。這并不意味著如果方便的話處理這些模型的工具不能在內部使 用DMTF方法。資源目錄服務和資源分配服務在其內部模型中使用此關系可能是很方便的。
基礎設施能力模型的實例包含用于可以由底層公用計算架構部署和配置的每種 類型的計算機系統(tǒng)或設備的一個實例。每當公用設施部署并配置這些類型之一時,配置將 始終是相同的。對于計算機系統(tǒng)而言,這意指以下各項。 相同的存儲器、CPU、操作系統(tǒng)·具有相同I/O容量的相同數目的NIC·具有相同特性的相同數目的盤圖13模板示例圖13示出具有計算基礎設施的預定部分、該部分之間的預定關系、以及具有有限 數目的要完成的選項的基礎設施設計模板的示例。在這種情況下,其適合于分散式SD業(yè)務 過程,而沒有安全性或可用性特征。該圖示出通過標記為“AI_netWOrk”的網絡耦合的三個 計算機系統(tǒng),三個系統(tǒng)中的右側的一個對應于主應用服務器,并且中央的一個對應于從應 用服務器,如圖7所示。因此,其是分散式的。AI是自適應基礎設施的縮寫。這些計算機 系統(tǒng)的左側的一個用于數據庫。指定每個計算機系統(tǒng)的類型,在這種情況下指定為BL20/ Xen0對應于從應用服務器的中央的一個具有屬性“range = 0.. η”。這意味著該模板允許 任何數目的這些從應用服務器。主應用服務器被耦合到標記為AI_GroundedExecutionService =AppServer (AI_ 植基執(zhí)行服務應用服務器)的方框,指示其可以用來運行此類軟件元素。其具有包含足以 允許自動地安裝、部署和管理ALGroundedExecutionService的配置信息和部署信息的相 關 AIDeploymentSetting (Al 部署設置)方框。AI_GroundedExecutionService :AppServer 被示為包括三個組件,標記為AI_GroundedExecutionComponent (AI_植基執(zhí)行組件),并且 每個具有相關的AID印loymentSetting方框。這些組件中的第一個是對話工作過程,用于 指定業(yè)務過程的步驟的應用組件,另一個是更新過程,負責提交工作以進行永久性存儲,并 且另一個是排隊過程,用于管理數據庫上的鎖。如所示,對于更新和對話工作過程而言,范 圍屬性是2. . n,意味著允許這些部分的多個實例。從應用服務器具有GroundedExecutionServicd植基執(zhí)行服務),其具有用于任 何數目的對話工作過程的僅一種類型的AI_GroundedExecutionComponent。從應用服務器 被示為具有rangePolicy (范圍策略)=Time function (時間函數),意味著其被允許在給 定時間是活動的。再次地,服務和執(zhí)行組件每個具有相關的AID印loymentSetting方框。主和從應用服務器以及數據庫計算機系統(tǒng)具有被示為AI_disk =OSDisk的操作系 統(tǒng)。主應用服務器被示為具有AI_Disk =CIDisk作為供應用組件使用的存儲裝置。對于網絡 而言,每個計算機系統(tǒng)具有被示為AI_Nicl的網絡接口,其耦合到由AI_Network subnet 1 所示的網絡。數據庫計算機系統(tǒng)耦合到標記為AI_GroundedExecutionService database (數 據庫)的方框,其具有用于該數據庫的僅一種類型的ALGroundedExecutionComponent, SD DB0再次地,服務和執(zhí)行組件每個具有相關的AID印IoymentSetting方框。 AID印loymentSetting承載用來部署、配置、啟動、管理和改變組件的配置和管理信息。下面 參照圖14來描述其示例的更多細節(jié)。此計算機系統(tǒng)被耦合到標記為AI_Disk =DBDisk的用 于數據庫的存儲裝置??蛇x地,模板可以具有在生成植基模型時或生成變化的植基模型以改變現有植基
32模型時被工具調用的命令。此類命令可以被布置為限制可用選項,并且可以使用指定某些 基礎設施設計的模板的各部分作為輸入。其還可以使用未綁定模型的各部分作為輸入。圖14植基模型可以由設計工具在其將未綁定模型變換成植基模型時生成植基模型??梢詫⑵湟?為候選植基模型,直至被評估和選作選定植基模型為止。以下是與圖13所示的模板相比較 的圖14的示例性植基模型的某些特性,圖14的示例性植基模型是從圖13所示的模板導出 的。·已經指定GroundedExecutionComponent (植基執(zhí)行組件)的實例的數目。·由 GroundedExecution-Service (植基執(zhí)行月艮務)來執(zhí)行 GroundedExecutionComponent (植基執(zhí)行組件)。執(zhí)行關系與在應用打包模型中所表示的
關系一致?!?GroundedExecutionService (植基執(zhí)行服務)在其類型已從基礎設施能力模型 中選出的ComputerSystem(計算機系統(tǒng))上運行?!ご嬖趦蓚€更新組件,Updatel和Update2。存在兩個DialogfforkProcess (對話 工作過禾呈),DialogfforkProcessl 禾口 DialogWorkProcess2?!膽梅掌鞯臄的恳驯辉O置為零。管理系統(tǒng)被布置為進行這些選擇以使用未綁定模型從模板導出植基模型。在所示 的示例中,用于選擇的標準包括系統(tǒng)的總容量,其必須滿足定制模型中的隨時間變化的性 能要求。通過將這些性能要求與應用性能模型的聚合ResourceDemancK資源需求)[直接 和間接]相組合來確定所需容量。如果第一選擇證明提供了太少的容量或也許提供了太多 的容量,則可以進行其它選擇并進行評估。其它示例可以具有評估候選植基模型有多接近 最佳適合的不同標準和不同方式。在某些示例中,服務器可以僅附接有OS盤;這是因為此類裝置(installation)中 的慣例是NFS安裝CI盤以獲得其SAP可執(zhí)行文件。其它示例性模板可以具有可選擇細節(jié) 或選項,諸如CIDisk和DBDisk是100GB、20MB/秒、非Raid等的細節(jié)。OS盤可以是EVA800 型的。主和從應用服務器可以具有2至5個對話工作過程。計算機系統(tǒng)被指定為具有例如 3GB存儲裝置、2. 6GHz CPU和SLES IO-Xen操作系統(tǒng)??梢試L試不同的參數以形成候選植基 模型,可以對該候選植基模型進行評估以針對期望性能或容量或其它標準找出最佳適合。
因此,植基模型指定所需的軟件和硬件可部署實體的實例的精確數 目和類型,所述實體諸如GroundedExecutionComponent (植基執(zhí)行組件)、 GroundedExecutionService (植基執(zhí)行月艮務)、禾口 AlComputerSystem (Al 計算機系統(tǒng))。 AIDeploymentSetting (Al部署設置)可以包括例如·基礎設施設置,諸如用于基礎設施管理組件的閾值信息,例如 MaxCPUUtilization(最大CPU利用率)-如果其上升至設定數字(例如60%)以上,則應 觸發(fā)警報?!す芾聿呗钥梢灾付ㄓ糜诠芾斫M件的其它策略信息-例如,如果利用率上升至 60%以上,則向上伸展(flex up)?!?GroundedD印l0ymentSetting(植基部署設置),其可以包括所有命令行和配置 信息,以便可以在全功能狀態(tài)下安裝、配置并啟動系統(tǒng)。
33
· SettingData (設置數據),其可以提供可以覆蓋在 GroimdedD印l0ymentSetting(植基部署設置)中提供的信息的附加配置信息。這允許許 多GroundedComponent (植基組件)共享相同的GroundedD印IoymentSetting (植基部署設 置)(比較(c. f.),類別(typing)的概念),其中特定參數或覆蓋參數由SettingData(設 置數據)提供。由部署服務在部署期間解釋GroimdedD印loymentSetting(植基部署設置) 和SettingData (設置數據)兩者?!づc對組件的可能改變有關的數據,諸如在管理對組件的改變時執(zhí)行的指令,以實 現改變的更多自動化。在植基模型中并未設置所有屬性。例如,在植基模型中設置MAC地址沒有意義,因 為尚不存在任何分配的物理資源。圖15,可替換自適應基礎設施設計模板圖15以適合于集中式安全SD業(yè)務過程的形式示出可替換自適應基礎設施設計模 板。與圖13相比,其僅具有一個計算機系統(tǒng),因此,其是集中式的。其示出形式為網絡經 由防火墻到外部子網的連接的安全特征。這由接口 AI_Nic micFW示出,并且防火墻由AI_ Appliance :FireWall示出??梢栽O想具有任何配置的其它模板。其它示例可以包括分散 式安全SD模板、分散式高度可用SD模板、和分散式安全且高度可用的SD模板。綁定模型除物理資源分配之外,SD系統(tǒng)示例的綁定模型實例可以具有諸如子網掩碼和MAC 地址的其它參數集。已部署模型可以僅在一方面不同于綁定模型。其示出在系統(tǒng)中運行的 管理服務的綁定信息。所有實體將具有例如管理服務的形式的管理基礎設施。在這里未定 義用于到管理服務的接口的實現機制,但是其可以是對例如web服務或SmartFrog組件的 引用。管理服務可以用來改變狀態(tài)以及觀察當前狀態(tài)。在模型的核心中沒必要定義由管理 服務使得可獲得的狀態(tài)信息、或由其執(zhí)行的操作,而是可以在相關模型中進行定義。這樣的一個示例可以是管理虛擬機遷移。管理該遷移的應用將使用在 PhysicalComputerSystem(物理計算機系統(tǒng))上運行的管理服務來進行該遷移。一旦該遷 移完成,管理應用將更新已部署模型和綁定模型以示出新的物理系統(tǒng)。需要注意保持模型 的一致性。所有先前模型實例均被保持在模型倉庫中,因此當遷移完成時,將存在綁定模型 和已部署模型的新實例(版本)。信息隱藏和模型信息流對于MIF而言,情況并不總是所有工具和每個參與者都可以看見模型中的所有信 息。特別地,對于具有要求參與者之間的強分離的安全性模型的部署服務而言情況不是這 樣。例如,在公用設施管理平面與虛擬機群之間可能存在非常強的分離。如果植基模型被 饋送到企業(yè)的管理平面的部署服務以部署該模型的話,則其將不會返回示出虛擬機到物理 機的綁定的任何綁定信息;該信息將被保持在管理平面內部。這意味著沒有辦法獲知該群 被綁定到什么硬件或兩個群可能正在共享什么。從管理平面返回的內容很可能包括群中的 虛擬機的IP地址(其僅僅處理虛擬機)以及給定群中的那些機器的登錄證書。信賴管理 平面來管理群,使得其獲得所請求的資源。一旦部署服務已完成工作,則可以使用應用安裝 和管理服務來安裝、啟動并管理應用。通常,不同的工具將看到MIF的投影。有可能從MIF 模型提取這些工具要求的信息并用工具返回的結果填充該模型。將有可能在各種工具使用的數據格式與MIF模型之間變換。實現方式可以使用任何常規(guī)的編程語言來實現諸如模型、模型倉庫、和用于操縱模型的工 具或服務的軟件部分,所述語言包括遵循慣例編譯的諸如Java、或C的語言。可以使用具有 常規(guī)處理器的常規(guī)硬件來實現服務器和網絡元件。處理元件不必是相同的,但應能夠例如 通過交換IP消息來相互通信。已出于說明和描述的目的給出了本發(fā)明的實施例的前述說明。其并不意圖是窮盡 的或使本發(fā)明限于所公開的精確形式,并且按照以上教導修改和變化是可能的,或者可以 從本發(fā)明的實踐中獲得該修改和變化。選擇并描述了實施例以便解釋本發(fā)明后面的原理及 其實際應用以使得本領域的技術人員能夠在各種實施例中并以適合于預期的特定用途的 各種修改利用本發(fā)明??梢栽跈嗬蟮姆秶鷥仍O想其它變化。
權利要求
一種使用建模系統(tǒng)來為企業(yè)提供基于計算機的業(yè)務過程、以便實現該業(yè)務過程的至少部分自動化部署的方法,所述業(yè)務過程具有若干功能性步驟,該方法具有步驟a)允許企業(yè)向所述建模系統(tǒng)輸入對該部署的多個非功能性要求的值,從而為企業(yè)提供獨立于所述值中的其它值來改變所述值中的至少某些值的自由,以及b)使用所述建模系統(tǒng)來使用輸入的值創(chuàng)建模型,其方式為c)在所述模型中創(chuàng)建用于執(zhí)行所述功能性步驟的軟件應用組件的設計,以及d)在所述模型中創(chuàng)建用于運行所述軟件應用組件的計算基礎設施的設計,使得如在該模型中闡述的那樣部署的業(yè)務過程根據針對該業(yè)務過程的非功能性要求輸入的值進行操作。
2.權利要求1的方法,所述輸入值是對現有部署的非功能性要求的值的改變,并且創(chuàng) 建模型的步驟包括對現有模型進行改變。
3.權利要求1的方法,具有部署模型以操作業(yè)務過程的步驟。
4.權利要求1的方法,具有使用模型來模擬操作并確定所模擬的操作在多大程度上符 合非功能性要求的步驟。
5.權利要求4的方法,具有使得企業(yè)可獲得所模擬的操作在多大程度上符合非功能性 要求的指示的步驟。
6.權利要求3的方法,具有監(jiān)視已部署業(yè)務過程的操作并基于該監(jiān)視使得企業(yè)可獲得 所述操作在多大程度上符合非功能性要求的指示的步驟。
7.權利要求1的方法,具有輸出計算基礎設施的設計的步驟,該設計包括虛擬基礎設 施,而沒有到物理基礎設施的完整映射,以便稍后通過映射到物理基礎設施上進行部署。
8.權利要求1的方法,具有輸出計算基礎設施的設計的步驟,該設計包括物理基礎設 施而沒有虛擬化。
9.權利要求1的方法,具有輸出計算基礎設施的設計并將虛擬基礎設施映射到對應物 理基礎設施上的步驟,所述設計包括虛擬和物理基礎設施兩者。
10.權利要求1的方法,在模型中創(chuàng)建軟件應用組件的布置的步驟包括用軟件應用性 能的表示、和軟件應用打包來創(chuàng)建未綁定模型。
11.權利要求10的方法,在所述模型中創(chuàng)建計算基礎設施的設計的步驟包括用基礎設 施能力和基礎設施設計的表示根據未綁定模型來創(chuàng)建植基模型。
12.權利要求11的方法,創(chuàng)建計算基礎設施的設計的步驟包括提供具有有限數目的要 完成選項的基礎設施設計模板。
13.一種機器可讀介質上的軟件,所述軟件在被執(zhí)行時實現權利要求1的方法。
14.一種具有由企業(yè)操作員使用到建模系統(tǒng)的接口執(zhí)行的步驟的方法,所述建模系統(tǒng) 用于為企業(yè)提供基于計算機的業(yè)務過程,以便實現該業(yè)務過程的至少部分自動化部署,所 述業(yè)務過程具有若干功能性步驟,該方法具有步驟a)向所述建模系統(tǒng)輸入用于對該部署的多個非功能性要求的值,以便為企業(yè)提供獨立 于所述值中的其它值來改變所述值中的至少某些值的自由,以及b)促使所述建模系統(tǒng)使用輸入的值創(chuàng)建模型,所述模型具有用于執(zhí)行所述功能性步驟 的軟件應用組件的設計和用于運行所述軟件應用組件的計算基礎設施的設計,使得如在該 模型中闡述的那樣部署的業(yè)務過程根據針對該業(yè)務過程的非功能性要求輸入的值進行操作,以及c)接收該業(yè)務過程的操作在多大程度上滿足所述非功能性要求的指示,并輸入改變的值。
15.一種建模系統(tǒng),其為企業(yè)提供基于計算機的業(yè)務過程,以便實現該業(yè)務過程的至少 部分自動化部署,該業(yè)務過程具有若干功能性步驟,該系統(tǒng)具有a)接口,用以允許企業(yè)輸入對所述部署的多個非功能性要求的值,從而為企業(yè)提供獨 立于所述值中的其它值來改變所述值中的至少某些值的自由,以及b)模型生成部,其被耦合到所述接口并被布置為使用輸入的值來創(chuàng)建模型,其方式為c)在所述模型中創(chuàng)建用于執(zhí)行所述功能性步驟的軟件應用組件的設計,以及d)在所述模型中創(chuàng)建用于運行所述軟件應用組件的計算基礎設施的設計,使得如在該 模型中闡述的那樣部署的業(yè)務過程根據針對該業(yè)務過程的非功能性要求輸入的值進行操作。
16.權利要求15的系統(tǒng),所述輸入值是對現有部署的非功能性要求的值的改變,并且 所述模型生成部被布置為通過對現有模型進行改變來創(chuàng)建模型。
17.權利要求15的系統(tǒng),具有用于部署模型以操作業(yè)務過程的部署部。
18.權利要求15的系統(tǒng),具有模擬器,其被布置為使用模型來模擬業(yè)務過程的操作,并 確定所模擬的操作在多大程度上符合非功能性要求。
19.權利要求18的系統(tǒng),具有使得企業(yè)可獲得所模擬的操作在多大程度上符合非功能 性要求的指示的步驟。
20.權利要求17的系統(tǒng),其具有被布置為監(jiān)視所部署的業(yè)務過程的操作的監(jiān)視部,并 且該系統(tǒng)被布置為基于該監(jiān)視使用所述接口來使得企業(yè)可獲得所述操作在多大程度上符 合非功能性要求的指示。
21.權利要求15的系統(tǒng),所述模型生成部被布置為用軟件應用性能的表示、和軟件應 用打包來創(chuàng)建具有軟件應用組件的設計的未綁定模型。
22.權利要求21的系統(tǒng),所述模型生成部被布置為根據未綁定模型、計算基礎設施的 設計及基礎設施能力和基礎設施設計的表示來創(chuàng)建植基模型。
23.權利要求15的系統(tǒng),所述模型生成器被布置為使用具有有限數目的要完成選項的 基礎設施設計模板來創(chuàng)建計算基礎設施的設計。
全文摘要
一種為企業(yè)提供基于計算機的業(yè)務過程的建模系統(tǒng)允許企業(yè)輸入對部署的多個非功能性要求(760)的值,并且允許獨立于所述值中的其它值來改變所述值中的至少某些值,以及創(chuàng)建軟件應用組件(770)的設計和用于運行軟件應用組件的計算基礎設施(780)的設計,以便業(yè)務過程根據針對業(yè)務過程的非功能性要求輸入的值進行操作。通過對底層計算基礎設施進行建模,創(chuàng)建具有其將成功地部署的更大確定性并具有其將在多大程度上滿足給定非功能性要求的更大可預測性的模型變得可行。這使得能夠允許改變這些非功能性要求的值并獲得更大的定制以適應企業(yè)的需要的更大自由。
文檔編號G06Q99/00GK101946260SQ200780102376
公開日2011年1月12日 申請日期2007年12月20日 優(yōu)先權日2007年12月20日
發(fā)明者B·史蒂芬森, G·A·貝爾羅斯, J·曼利, J·羅利亞, L·威爾科克, N·愛德華茲, S·格勞普納 申請人:惠普開發(fā)有限公司