專利名稱:應(yīng)用模板創(chuàng)建和管理的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于組件的計算領(lǐng)域,特別涉及模板化應(yīng)用構(gòu)建。
背景技術(shù):
計算機軟件應(yīng)用使對于昂貴的計算技術(shù)的全球性的迫切渴望成為正當(dāng)?shù)?。?dāng)計算機軟件的效用對最少技術(shù)傾向的人越來越明顯時,計算技術(shù)越來越成為了生活中的自然要素,如果沒有它,就很像失去了通信的益處一樣,生產(chǎn)力將停止。隨著與計算機軟件相關(guān)的生產(chǎn)力的提高,對于更為特定于終端用戶的應(yīng)用的需求也增加了。在這方面,計算機程序的單一實施方式解決一般性的問題將不再是足夠的了。相反,終端用戶已開始期望計算機軟件的更多的特定配置以處理無法預(yù)見的終端用戶問題空間。
企業(yè)范圍的計算應(yīng)用的分發(fā)在很大程度上依賴于可分發(fā)計算組件的支持,所述組件一旦從網(wǎng)絡(luò)代碼庫(code base)被獲取就能夠在傳統(tǒng)內(nèi)容瀏覽客戶的虛擬環(huán)境中執(zhí)行。更特別地,應(yīng)用可以通過離散應(yīng)用組件的唯一安排形成,所述應(yīng)用組件可以隨需分發(fā)給分布在企業(yè)各處的客戶計算設(shè)備。為了支持隨需分發(fā)離散應(yīng)用組件,應(yīng)用服務(wù)器形成了分發(fā)的應(yīng)用和功能的主干,以管理應(yīng)用組件的安排和分發(fā),從而形成高度定制的企業(yè)應(yīng)用。
盡管現(xiàn)代應(yīng)用服務(wù)器具有靈活性,然而,通過離散應(yīng)用組件組合進行企業(yè)應(yīng)用的終端用戶配置涉及必不可少的計算專業(yè)知識水平,這對于每一個企業(yè)并不是普遍的。從而,企業(yè)應(yīng)用的定制會需要大量費用以便支持定制的企業(yè)計算應(yīng)用的開發(fā)和維護。然而,大量費用用于支持定制的企業(yè)計算應(yīng)用的開發(fā)和維護,代表著從根本上遠離了過去時代的概念,即應(yīng)用可以由低技術(shù)水平的終端用戶通過生成文檔模板而定制,如在老舊的電子數(shù)據(jù)表中的情況那樣。
模板化應(yīng)用技術(shù)使得能夠進行企業(yè)應(yīng)用的定制而無需終端用戶具有軟件開發(fā)者的專業(yè)知識水平。相反地,如美國馬薩諸塞州Beverly的JamesGoodwin提出的公開號為US20050085937 A1、標(biāo)題為“CREATINGCUSTOMIZED APPLICATIONS USING TEMPLATES HAVINGPOINTS OF VARIABILITY”(使用具有可變點的模板創(chuàng)建定制應(yīng)用)的專利申請所描述的,在模板化應(yīng)用中,標(biāo)識語言指定的文檔可以指定不同應(yīng)用組件的組合(assembly)。反過來,該標(biāo)識語言指定的文檔能夠被處理為用于企業(yè)應(yīng)用的應(yīng)用邏輯。這樣,為了產(chǎn)生高度定制的終端用戶應(yīng)用,終端用戶只需編輯標(biāo)識語言文檔。能夠用于模板化應(yīng)用開發(fā)的開發(fā)工具的商業(yè)化實例包括由美國紐約Armonk的國際商業(yè)機器公司生產(chǎn)的Lotus(TM)Workplace Builder(TM)產(chǎn)品。
Workplace Builder使能的終端用戶應(yīng)用開發(fā)模型是以基于可擴展標(biāo)記語言(XML)的應(yīng)用模板的組合和定制為基礎(chǔ)的。在這方面,XML指定的Workplace Builder應(yīng)用模板可以定義一個應(yīng)用和全部對應(yīng)的子組件。每個XML指定的應(yīng)用模板可以進一步包括可由終端用戶在從XML指定的模板創(chuàng)建應(yīng)用實例時進行配置的可變點。盡管如此,終端用戶對應(yīng)用模板所施加的改變不容易反映在所產(chǎn)生的應(yīng)用實例中,這導(dǎo)致了終端用戶在應(yīng)用模板中指定的應(yīng)用和所產(chǎn)生的應(yīng)用實例之間的分離。
部署模板化應(yīng)用已被證明即使對于最精通信息技術(shù)的人也是有挑戰(zhàn)性的。一般地,模板化應(yīng)用遵循專有的格式,并在形式上可以相當(dāng)復(fù)雜。為處理部署模板化應(yīng)用的復(fù)雜性已開發(fā)了幾種技術(shù);然而,傳統(tǒng)的用于模板化應(yīng)用的自動部署技術(shù)僅提供了用于模板化應(yīng)用的特定類型的組件“族”(family)的打包和部署。例如,基于Microsoft(TM)Windows(TM)的應(yīng)用的安裝器不能部署Java 2(TM)Enterprise Edition(J2EE)組件。因此,每個不同的組件族類型需要不同的安裝器。
發(fā)明內(nèi)容本發(fā)明的實施例處理本領(lǐng)域中有關(guān)模板化應(yīng)用部署的不足,并提供了一種用于應(yīng)用模板的創(chuàng)建和管理的統(tǒng)一規(guī)范的新穎的和非顯而易見的方法、系統(tǒng)和計算機程序產(chǎn)品。在一個實施例中,可提供一種用于利用資產(chǎn)(asset)創(chuàng)建和管理應(yīng)用模板的方法。該方法可包括將模板化應(yīng)用組件分組為由簡檔描述的資產(chǎn),為分組資產(chǎn)建立清單(manifest),將分組資產(chǎn)及其清單打包在一檔案(archive)中。在這方面,將模板化應(yīng)用組件分組為由簡檔描述的資產(chǎn),可包括將模板化應(yīng)用組件分組為由可重用資產(chǎn)規(guī)范(Reusable Asset Specification,RAS)簡檔描述的RAS資產(chǎn)。
在實施例的一個方面,該方法還可以包括從檔案中提取分組資產(chǎn)及清單。從而可以根據(jù)從檔案中提取的分組資產(chǎn)創(chuàng)建模板化應(yīng)用的實例。更具體地,根據(jù)從檔案中提取的分組資產(chǎn)創(chuàng)建模板化應(yīng)用的實例可以包括,在分組資產(chǎn)中循環(huán),并為分組資產(chǎn)的每一個創(chuàng)建可實例化組件。隨后,對于為分組資產(chǎn)中的資產(chǎn)識別的每一個依賴者,可為該依賴者創(chuàng)建可實例化組件。
在本發(fā)明的另一實施例中,一種模板化應(yīng)用部署數(shù)據(jù)處理系統(tǒng)可包括一應(yīng)用容器,該應(yīng)用容器被配置為容納多個由應(yīng)用模板指定的、并定義模板化應(yīng)用的應(yīng)用組件實例。該數(shù)據(jù)處理系統(tǒng)還可包括應(yīng)用部署邏輯,該應(yīng)用部署邏輯包括使能在應(yīng)用容器中創(chuàng)建應(yīng)用組件實例的程序代碼。最后,該數(shù)據(jù)處理系統(tǒng)可包括連接于應(yīng)用部署邏輯的基于資產(chǎn)的模板處理邏輯。
基于資產(chǎn)的模板處理邏輯可包括這樣的程序代碼,其能夠為應(yīng)用模板簡檔在分組資產(chǎn)中循環(huán)以便為分組資產(chǎn)中的每一個創(chuàng)建可實例化組件,并且對于為分組資產(chǎn)中的一個資產(chǎn)識別的每一個依賴者,為該依賴者創(chuàng)建可實例化組件。在這方面,該用于基于資產(chǎn)的模板處理邏輯程序的程序代碼能夠為一RAS應(yīng)用模板簡檔在分組RAS資產(chǎn)中循環(huán)以便為分組RAS資產(chǎn)中的每一個創(chuàng)建可實例化組件,并且對于為分組資產(chǎn)中的一RAS資產(chǎn)識別的每一個依賴者,為該依賴者創(chuàng)建可實例化組件。
在實施例的一個方面,該數(shù)據(jù)處理系統(tǒng)可進一步包括一開發(fā)環(huán)境。該開發(fā)環(huán)境可包括這樣的程序代碼,其能夠?qū)?yīng)用模板指定的應(yīng)用組件分組為由簡檔描述的資產(chǎn),為分組資產(chǎn)建立清單并將分組資產(chǎn)及清單打包在一檔案中。例如,分組資產(chǎn)可以是由RAS簡檔描述的RAS資產(chǎn)。
本發(fā)明的其它方面將在接下來的說明書中部分地闡明,部分可以由說明書顯而易見地得到,或通過實踐本發(fā)明而學(xué)習(xí)到。本發(fā)明的各方面將通過所附權(quán)利要求
特別指出的要素及組合實現(xiàn)和獲得。應(yīng)理解上文中的概述和接下來的詳細說明,僅為本發(fā)明的示例和解釋,而不是對于如權(quán)利要求
所要求的本發(fā)明的限制。
并入本說明書中并作為其一部分的附圖示出了本發(fā)明的實施例,并與說明書共同用于解釋本發(fā)明的原理。在此示出的實施例是目前優(yōu)選的,然而,應(yīng)當(dāng)理解本發(fā)明并不嚴格局限于所示的排列和裝置,其中圖1為被配置為用于應(yīng)用模板創(chuàng)建和管理的標(biāo)準(zhǔn)規(guī)范的數(shù)據(jù)處理系統(tǒng)的示例性說明;圖2為圖1中應(yīng)用模板資產(chǎn)的統(tǒng)一建模語言(UML)框圖;以及圖3為示出用于利用圖2中的應(yīng)用模板資產(chǎn)創(chuàng)建和管理應(yīng)用模板的過程的流程圖。
具體實施方式本發(fā)明的實施例提供了一種用于應(yīng)用模板創(chuàng)建和管理的標(biāo)準(zhǔn)規(guī)范的方法、系統(tǒng)和計算機程序產(chǎn)品。根據(jù)本發(fā)明的實施例,由應(yīng)用模板所指定的應(yīng)用組件可以分組為由簡檔所描述的資產(chǎn)。簡檔的資產(chǎn)和簡檔自身可以遵照概述于可重用資產(chǎn)規(guī)范最終采用規(guī)范(Reusable Asset Specification FinalAdopted Specification),ptc/04-06-06(OMG June 2004)中的對象管理組可重用資產(chǎn)規(guī)范(RAS),其內(nèi)容合并于此作為參考。這樣,模板化應(yīng)用的組件可以被打包以用于以標(biāo)準(zhǔn)的、非專有的方式分發(fā)。
在圖1中,示意性示出了被配置為用于應(yīng)用模板創(chuàng)建和管理的標(biāo)準(zhǔn)規(guī)范的數(shù)據(jù)處理系統(tǒng)。該數(shù)據(jù)處理系統(tǒng)可包括通過計算機通信網(wǎng)絡(luò)120與服務(wù)器計算設(shè)備130通信連接的一個或多個客戶計算設(shè)備110。該服務(wù)器計算設(shè)備130可包括應(yīng)用服務(wù)器140或其他相似容器,其用于容納應(yīng)用實例100的執(zhí)行以便客戶計算設(shè)備100通過計算機通信網(wǎng)絡(luò)120訪問??蛇x地,服務(wù)器計算設(shè)備130可進一步容納一開發(fā)環(huán)境150,通過該開發(fā)環(huán)境,可以根據(jù)持久存儲在數(shù)據(jù)存儲庫(data store)160中的模板190來指定應(yīng)用。
特別地,指定應(yīng)用的模板190可以由應(yīng)用部署邏輯170處理,以產(chǎn)生形成一模板化應(yīng)用的應(yīng)用實例100。從一個或多個模板190部署應(yīng)用實例100以生成模板化應(yīng)用是本領(lǐng)域熟知的過程,并在美國馬薩諸塞州Beverly的James Goodwin的、公開號為US 20050085937 A1、標(biāo)題為“CREATINGCUSTOMIZED APPLICATIONS USING TEMPLATES HAVINGPOINTS OF VARIABILITY”的專利申請中被詳細描述。
重要地,模板190可以使用RAS資產(chǎn)定義模板化應(yīng)用。如本領(lǐng)域所熟知的,RAS資產(chǎn)可包括模式(schema)描述,該模式描述具有分類部分、解決方案部分、使用部分和相關(guān)資產(chǎn)部分。特別地,模板190中指定的每個組件可由一RAS資產(chǎn)得出,其中模板化應(yīng)用中其他組件的正確操作所需要的組件可以被稱為相關(guān)資產(chǎn),并被實現(xiàn)為可實例化組件,每個所述可實例化組件也從RAS資產(chǎn)中得出。這樣,RAS模板處理邏輯可以處理模板190來產(chǎn)生模板化應(yīng)用,以便由應(yīng)用部署邏輯170將其作為應(yīng)用實例100部署在應(yīng)用服務(wù)器140中。
圖2進一步示出了圖1中應(yīng)用模板資產(chǎn)的UML圖。特別地,參見圖2,一應(yīng)用模板簡檔210可以描述從RAS資產(chǎn)中得到的應(yīng)用模板220。如同在RAS中的情況那樣,應(yīng)用模板220作為RAS資產(chǎn)可包括分類230、解決方案240和使用250中的每一個。此外,解決方案240可包括一個或多個涉及不同類型的可部署對象260;而使用250可包括一相應(yīng)的應(yīng)用模板用戶界面290。本領(lǐng)域技術(shù)人員將認識到,UML框圖的前述部分反映了RAS的實現(xiàn)。
重要地,應(yīng)用模板220可與一個或多個相關(guān)資產(chǎn)270相關(guān)聯(lián)。每個相關(guān)資產(chǎn)270轉(zhuǎn)而可與從資產(chǎn)中得出的可實例化組件280相關(guān)聯(lián)。優(yōu)選地,可實例化組件280可由可實例化組件資產(chǎn)簡檔(未示出)所描述,所述簡檔可包括一包含一組件的解決方案部分,該組件實現(xiàn)一生命周期界面并由應(yīng)用部署邏輯所使用從而為應(yīng)用創(chuàng)建應(yīng)用實例。同樣,可實例化組件資產(chǎn)簡檔可包括使用部分,該使用部分包含用于應(yīng)用的可變點。最后,可實例化組件資產(chǎn)簡檔可包括相關(guān)資產(chǎn)部分,該相關(guān)資產(chǎn)部分指定被由簡檔所描述的可實例化組件280所依賴其他可實例化組件。
基于圖2所示的體系結(jié)構(gòu),應(yīng)用可根據(jù)資產(chǎn)驅(qū)動模型被打包。特別地,圖3示出了利用圖2中的應(yīng)用模板資產(chǎn)創(chuàng)建和管理應(yīng)用模板的過程的流程圖。在方框310開始,應(yīng)用模板可被獲取以用于處理,并且在方框320中,可為模板化應(yīng)用創(chuàng)建描述應(yīng)用模板資產(chǎn)的資產(chǎn)簡檔。在方框330中,可選擇用于模板化應(yīng)用的第一組件,并且在方框340中,可為所選擇組件定義一可實例化組件。隨后,該過程可為模板化應(yīng)用中的其他組件重復(fù)方框350到360。
在方框370中,一旦模板化應(yīng)用中的全部組件均已由資產(chǎn)的可實例化組件定義,該模型中的資產(chǎn)可被序列化以便存儲,并且在方框380中,可隨同序列化來寫用于模板化應(yīng)用的組件的清單。最后,在方框390中,可將該清單連同模板化應(yīng)用中的組件打包。這樣,通過在用于組件的打包選集的清單中循環(huán),模板化應(yīng)用可被實例化,并可創(chuàng)建每一個資產(chǎn)實例化。對于依賴者,可遞歸造成相關(guān)資產(chǎn)的實例化,以便完成模板化應(yīng)用的創(chuàng)建。
本發(fā)明的實施例可采取完全硬件實施例的形式,完全軟件實施例的形式或包含硬件和軟件元素的實施例形式。在優(yōu)選實施例中,本發(fā)明在軟件中實現(xiàn),該軟件包括但并不限于固件、常駐軟件、微代碼以及類似物。此外,本發(fā)明可采取可從計算機可用或計算機可讀介質(zhì)訪問的計算機程序產(chǎn)品的形式,該介質(zhì)提供由計算機和任何指令處理系統(tǒng)使用或與之相關(guān)聯(lián)地使用的程序代碼。
為了本描述的目的,計算機可用或計算機可讀介質(zhì)可以是任何能夠容納、存儲、傳送、傳播或運送由指令處理系統(tǒng)、裝置或設(shè)備使用或與之相關(guān)聯(lián)地使用的程序的裝置。該介質(zhì)可以為電的、磁的、光的、電磁的、紅外的或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備),或為傳播介質(zhì)。計算機可讀介質(zhì)的例子包括半導(dǎo)體或固態(tài)存儲器、磁帶、可拆裝計算機軟盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、剛性磁盤和光盤。目前光盤的例子包括光盤-只讀存儲器(CD-ROM)、可讀寫光盤(CD-R/W)和DVD。
一種適于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)包括至少一個通過系統(tǒng)總線直接或間接連接到存儲器元件的處理器。存儲器元件可以包括程序代碼實際執(zhí)行期間使用的本地存儲器、大容量存儲器和提供至少一些程序代碼的臨時存儲以便減少執(zhí)行期間代碼必須從大容量存儲器獲取的次數(shù)的高速緩存。輸入/輸出或I/O設(shè)備(包括但并不限于鍵盤、顯示器、指點設(shè)備等)可直接或通過中間I/O控制器與系統(tǒng)連接。網(wǎng)絡(luò)適配器也可以與系統(tǒng)連接,以使得數(shù)據(jù)處理系統(tǒng)可以通過中間的私有或公共網(wǎng)絡(luò)與其他數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲設(shè)備連接。調(diào)制解調(diào)器,線纜調(diào)制解調(diào)器和以太網(wǎng)卡只是幾種目前可用的網(wǎng)絡(luò)適配器類型。
權(quán)利要求
1.一種利用資產(chǎn)創(chuàng)建和管理應(yīng)用模板的方法,該方法包括將模板化應(yīng)用組件分組為由簡檔描述的資產(chǎn);為分組資產(chǎn)建立清單;以及將分組資產(chǎn)和清單打包在檔案中。
2.如權(quán)利要求
1所述的方法,其中將模板化應(yīng)用組件分組為由簡檔描述的資產(chǎn)的步驟包括將模板化應(yīng)用組件分組為由RAS簡檔描述的可重用資產(chǎn)規(guī)范(RAS)資產(chǎn)。
3.如權(quán)利要求
1所述的方法,進一步包括從所述檔案中提取所述分組資產(chǎn)和清單;以及根據(jù)從所述檔案中提取的所述分組資產(chǎn)創(chuàng)建模板化應(yīng)用的實例。
4.如權(quán)利要求
3所述的方法,其中所述根據(jù)從所述檔案中提取的所述分組資產(chǎn)創(chuàng)建模板化應(yīng)用的實例的步驟包括在所述分組資產(chǎn)中循環(huán),對于所述分組資產(chǎn)中的每一個創(chuàng)建可實例化組件;以及對于為所述分組資產(chǎn)中的資產(chǎn)識別的每個依賴者,為該依賴者創(chuàng)建可實例化組件。
5.一種模板化應(yīng)用部署數(shù)據(jù)處理系統(tǒng),包括應(yīng)用容器,其被配置為容納多個由應(yīng)用模板指定的、并定義模板化應(yīng)用的應(yīng)用組件實例;應(yīng)用部署邏輯,其包括能夠創(chuàng)建所述應(yīng)用容器中的所述應(yīng)用組件實例的程序代碼;以及連接于所述應(yīng)用部署邏輯的基于資產(chǎn)的模板處理邏輯,該基于資產(chǎn)的模板處理邏輯包括這樣的程序代碼,該程序代碼能夠為應(yīng)用模板簡檔在分組資產(chǎn)中循環(huán)來為所述分組資產(chǎn)中的每一個創(chuàng)建可實例化組件,并對于為所述分組資產(chǎn)中的資產(chǎn)識別的每一個依賴者,為該依賴者創(chuàng)建可實例化組件。
6.如權(quán)利要求
5所述的系統(tǒng),其中所述用于基于資產(chǎn)的模板處理邏輯的程序代碼能夠為RAS應(yīng)用模板簡檔在分組可重用資產(chǎn)規(guī)范(RAS)資產(chǎn)中循環(huán)來為所述分組RAS資產(chǎn)中的每一個創(chuàng)建可實例化組件,并對于為所述分組資產(chǎn)中的資產(chǎn)識別的每一個依賴者,為該依賴者創(chuàng)建可實例化組件。
7.如權(quán)利要求
5所述的系統(tǒng),進一步包括開發(fā)環(huán)境。
8.如權(quán)利要求
7所述的系統(tǒng),其中所述開發(fā)環(huán)境包括這樣的程序代碼,其能夠?qū)?yīng)用模板指定的應(yīng)用組件分組為由簡檔描述的資產(chǎn),為所述分組資產(chǎn)建立清單,并將所述分組資產(chǎn)和清單打包在檔案中。
9.如權(quán)利要求
8所述的系統(tǒng),其中所述分組資產(chǎn)是由RAS簡檔描述的可重用資產(chǎn)規(guī)范資產(chǎn)。
10.一種計算機程序產(chǎn)品,包括具有計算機可用程序代碼的計算機可用介質(zhì),該計算機可用程序代碼用于利用資產(chǎn)創(chuàng)建和管理應(yīng)用模板,所述計算機程序產(chǎn)品包括用于將模板化應(yīng)用組件分組為由簡檔描述的資產(chǎn)的計算機可用程序代碼;用于為所述分組資產(chǎn)建立清單的計算機可用程序代碼;以及用于將所述分組資產(chǎn)和清單打包在檔案中的計算機可用程序代碼。
專利摘要
本發(fā)明的實施例解決了本技術(shù)領(lǐng)域:
中有關(guān)模板化應(yīng)用部署的不足,并提供了一種用于應(yīng)用模板創(chuàng)建和管理的統(tǒng)一規(guī)范的新穎的和非顯而易見的方法、系統(tǒng)和計算機程序產(chǎn)品。在一個實施例中,可提供一種利用資產(chǎn)創(chuàng)建和管理應(yīng)用模板的方法。該方法可包括將模板化應(yīng)用組件分組為由簡檔描述的資產(chǎn),為分組資產(chǎn)建立清單,將分組資產(chǎn)及其清單打包在一檔案中。在這方面,將模板化應(yīng)用組件分組為由簡檔描述的資產(chǎn),可包括將模板化應(yīng)用組件分組為由可重用資產(chǎn)規(guī)范簡檔描述的RAS資產(chǎn)。
文檔編號G06F9/44GK1991753SQ200610163930
公開日2007年7月4日 申請日期2006年11月14日
發(fā)明者H·魯索, M·M·奧康奈爾, M·A·巴爾德拉斯, E-G·卡拉, A·A·韋斯利 申請人:國際商業(yè)機器公司導(dǎo)出引文BiBTeX, EndNote, RefMan