專(zhuān)利名稱(chēng):模型、操作以及實(shí)現(xiàn)的分離的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將服務(wù)操作與各種受管理的系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合,以及確定有效的動(dòng)態(tài)編程接口組合
背景技術(shù):
計(jì)算機(jī)已變得高度集成于工作、家庭、移動(dòng)設(shè)備以及許多其他地方中。計(jì)算機(jī)可快速且有效地處理大量信息。被設(shè)計(jì)成在計(jì)算機(jī)系統(tǒng)上運(yùn)行的軟件應(yīng)用程序允許用戶執(zhí)行包括商業(yè)應(yīng)用程序、學(xué)校作業(yè)、娛樂(lè)等等在內(nèi)的各種各樣的功能。軟件應(yīng)用程序通常被設(shè)計(jì)成執(zhí)行特定任務(wù),諸如用于草擬文檔的文字處理器應(yīng)用程序或者用于發(fā)送、接收和組織電子郵件的電子郵件程序。在許多情況下,軟件應(yīng)用程序被設(shè)計(jì)為與其他軟件應(yīng)用程序或其他計(jì)算機(jī)系統(tǒng)交互。例如,客戶機(jī)計(jì)算機(jī)系統(tǒng)可被配置成請(qǐng)求并接收由后端服務(wù)器所主存的服務(wù)或軟件應(yīng)用程序。在一些情況下,后端服務(wù)器的服務(wù)可具有各種不同服務(wù)操作。這些服務(wù)操作一般被綁定到模型對(duì)象并將只與那些特定的模型對(duì)象一起工作。
發(fā)明內(nèi)容
此處描述的實(shí)施例涉及將服務(wù)操作與各種受管理的系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合,以及確定有效的動(dòng)態(tài)編程接口組合。在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)確定選定的受管理系統(tǒng)提供了哪些服務(wù)操作。該選定的受管理系統(tǒng)被配置以提供各種服務(wù),包括多個(gè)不同的服務(wù)操作。計(jì)算機(jī)系統(tǒng)確定受管理系統(tǒng)的受管理系統(tǒng)對(duì)象將要與服務(wù)操作中的至少一個(gè)相組合。計(jì)算機(jī)系統(tǒng)還將服務(wù)操作與受管理系統(tǒng)對(duì)象組合,使得新的動(dòng)態(tài)編程接口組合被創(chuàng)建。新的動(dòng)態(tài)編程接口組合被配置以供受管理系統(tǒng)所提供的服務(wù)來(lái)使用。在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)在選定受管理系統(tǒng)上實(shí)現(xiàn)一提供者組件。提供者組件提供包括將服務(wù)操作與受管理系統(tǒng)對(duì)象組合的各種動(dòng)態(tài)編程接口組合的功能。計(jì)算機(jī)系統(tǒng)根據(jù)哪些動(dòng)態(tài)編程接口組合是由提供者組件所提供的來(lái)確定哪些動(dòng)態(tài)編程接口組合對(duì)于選定的受管理系統(tǒng)是有效的。計(jì)算機(jī)系統(tǒng)還接收指示要根據(jù)用戶提供的屬性來(lái)對(duì)有效動(dòng)態(tài)編程接口組合中的至少一個(gè)進(jìn)行處理的用戶(或程序性)輸入。提供本發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。本發(fā)明的附加特征和優(yōu)點(diǎn)將在以下描述中闡述,且其一部分根據(jù)本描述將是顯而易見(jiàn)的,或可通過(guò)對(duì)此處的原理的實(shí)踐來(lái)獲悉。本發(fā)明的特征和優(yōu)點(diǎn)可通過(guò)在所附權(quán)利要求書(shū)中特別指出的工具和組合來(lái)實(shí)現(xiàn)和獲得。本發(fā)明的特征將通過(guò)以下描述和所附權(quán)利要求書(shū)變得更加顯而易見(jiàn),或可通過(guò)對(duì)下文中所述的本發(fā)明的實(shí)踐來(lái)獲悉。
為了進(jìn)一步闡明本發(fā)明的各實(shí)施例的以上和其他優(yōu)點(diǎn)和特征,將參考附圖來(lái)呈現(xiàn)本發(fā)明的各實(shí)施例的更具體的描述??梢岳斫猓@些附圖只描繪本發(fā)明的典型實(shí)施例,因此將不被認(rèn)為是對(duì)其范圍的限制。本發(fā)明將通過(guò)使用附圖用附加特征和細(xì)節(jié)來(lái)描述和解釋?zhuān)?附圖中圖1示出了可以運(yùn)行本發(fā)明的各實(shí)施例的計(jì)算機(jī)體系結(jié)構(gòu),這些實(shí)施例包括將服務(wù)操作與各種受管理的系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合,以及確定有效的動(dòng)態(tài)編程接口組合。圖2示出了用于將服務(wù)操作與各種受管理的系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合的示例性方法的流程圖。圖3示出了用于確定有效的動(dòng)態(tài)編程接口組合的示例性方法的流程圖。圖4示出了本發(fā)明的一實(shí)施例,其應(yīng)用模型、服務(wù)和實(shí)現(xiàn)是分離的。
具體實(shí)施例方式此處描述的實(shí)施例涉及將服務(wù)操作與各種受管理的系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合,以及確定有效的動(dòng)態(tài)編程接口組合。在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)確定選定的受管理系統(tǒng)提供了哪些服務(wù)操作。該選定的受管理系統(tǒng)被配置以提供各種服務(wù),包括多個(gè)不同的服務(wù)操作。計(jì)算機(jī)系統(tǒng)確定受管理系統(tǒng)的受管理系統(tǒng)對(duì)象將要與服務(wù)操作中的至少一個(gè)相組合。計(jì)算機(jī)系統(tǒng)還將服務(wù)操作與受管理系統(tǒng)對(duì)象組合,使得新的動(dòng)態(tài)編程接口組合被創(chuàng)建。新的動(dòng)態(tài)編程接口組合被配置以供受管理系統(tǒng)所提供的服務(wù)來(lái)使用。在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)在選定受管理系統(tǒng)上實(shí)現(xiàn)一提供者組件。提供者組件提供包括將服務(wù)操作與受管理系統(tǒng)對(duì)象組合的各種動(dòng)態(tài)編程接口組合的功能。計(jì)算機(jī)系統(tǒng)根據(jù)哪些動(dòng)態(tài)編程接口組合是由提供者組件所提供的來(lái)確定哪些動(dòng)態(tài)編程接口組合對(duì)于選定的受管理系統(tǒng)是有效的。計(jì)算機(jī)系統(tǒng)還接收指示要根據(jù)用戶提供的屬性來(lái)對(duì)有效動(dòng)態(tài)編程接口組合中的至少一個(gè)進(jìn)行處理的用戶輸入。以下討論現(xiàn)涉及可以執(zhí)行的多種方法以及方法動(dòng)作。應(yīng)當(dāng)注意,雖然這些方法動(dòng)作可能是按一定次序討論的,或者是在流程圖中被描繪為是按照特定順序進(jìn)行的,然而并非必然需要特定的次序,除非特別聲明,或者是因?yàn)橐粋€(gè)動(dòng)作依賴(lài)于另一動(dòng)作在該動(dòng)作被執(zhí)行之前完成而需要的。本發(fā)明的各實(shí)施例可包括或利用專(zhuān)用或通用計(jì)算機(jī),該專(zhuān)用或通用計(jì)算機(jī)包括諸如例如一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器等計(jì)算機(jī)硬件,如以下更詳細(xì)討論的。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于攜帶或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理介質(zhì)和其他計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問(wèn)的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是計(jì)算機(jī)存儲(chǔ)介質(zhì)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種完全不同的計(jì)算機(jī)可讀介質(zhì)計(jì)算機(jī)存儲(chǔ)介質(zhì)和傳輸介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤(pán)存儲(chǔ)、磁盤(pán)存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何其他介質(zhì)?!熬W(wǎng)絡(luò)”被定義為允許在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子
5數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過(guò)網(wǎng)絡(luò)或另一通信連接(硬連線、無(wú)線、或硬連線或無(wú)線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置并可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動(dòng)傳輸?shù)接?jì)算機(jī)存儲(chǔ)介質(zhì)(或反之亦然)。例如,通過(guò)網(wǎng)絡(luò)或數(shù)據(jù)鏈接接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”) 內(nèi)的RAM中,然后最終被傳輸?shù)接?jì)算機(jī)系統(tǒng)RAM和/或計(jì)算機(jī)系統(tǒng)處的較不易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)。因而,應(yīng)當(dāng)理解,計(jì)算機(jī)存儲(chǔ)介質(zhì)可被包括在還利用(甚至主要利用)傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。計(jì)算機(jī)可執(zhí)行指令包括,例如使通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語(yǔ)言等中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專(zhuān)用的語(yǔ)言描述了本主題,但可以理解的是,所附權(quán)利要求書(shū)中定義的主題不必限于上述特征或動(dòng)作。相反,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開(kāi)的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類(lèi)型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可以在其中通過(guò)網(wǎng)絡(luò)鏈接(或者通過(guò)硬連線數(shù)據(jù)鏈路、無(wú)線數(shù)據(jù)鏈路,或者通過(guò)硬連線和無(wú)線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)踐。在分布式系統(tǒng)環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。圖1示出了可在其中采用本發(fā)明的原理的計(jì)算機(jī)體系結(jié)構(gòu)100。計(jì)算機(jī)體系結(jié)構(gòu) 100包括受管理系統(tǒng)115。在一些情況下,受管理系統(tǒng)115可以是諸如web服務(wù)器、后端服務(wù)器、服務(wù)提供者等計(jì)算機(jī)服務(wù)器、或這些服務(wù)器的集合(即,分布式或基于云的服務(wù)器)。 受管理系統(tǒng)可包括服務(wù)116,服務(wù)116本身包括服務(wù)操作117。如此處所使用的,服務(wù)可包括任何類(lèi)型的軟件功能,包括應(yīng)用程序、功能、web服務(wù)或諸如此類(lèi)。服務(wù)還可包括硬件設(shè)備 (或?qū)τ布O(shè)備的訪問(wèn))或?yàn)橛脩籼峁┕δ艿钠渌b置。服務(wù)操作包括部分服務(wù)或動(dòng)作,諸如創(chuàng)建、刪除或編寫(xiě)腳本。服務(wù)操作可包括單一動(dòng)作或動(dòng)作的組合以執(zhí)行給定操作。因此, 例如,如果服務(wù)提供在線銀行,則多個(gè)不同服務(wù)操作(包括登錄認(rèn)證、數(shù)據(jù)庫(kù)訪問(wèn)等等)用于提供該服務(wù)的功能。服務(wù)可與受管理系統(tǒng)對(duì)象118交互或以其它方式使用受管理系統(tǒng)對(duì)象118。受管理系統(tǒng)對(duì)象包括由受管理系統(tǒng)所使用或存儲(chǔ)的任何數(shù)據(jù)文件、數(shù)據(jù)庫(kù)(包括各行、列或單元)、用戶對(duì)象或數(shù)換的任何其它部分。在一些情況下,服務(wù)116在提供服務(wù)時(shí)實(shí)現(xiàn)受管理系統(tǒng)對(duì)象118。在一些實(shí)施例中,服務(wù)或服務(wù)操作被具體設(shè)計(jì)成與某些受管理系統(tǒng)對(duì)象一起工作,并在實(shí)現(xiàn)服務(wù)操作/受管理系統(tǒng)對(duì)象組合時(shí)使用專(zhuān)用的協(xié)議或接口方法。相應(yīng)的, 動(dòng)態(tài)編程接口組合模塊120可被配置以將給定的服務(wù)操作117A與給定的受管理系統(tǒng)對(duì)象 118A相組合以形成動(dòng)態(tài)編程接口組合121。這一動(dòng)態(tài)編程接口組合121可被提供給提供者組件110,該提供者組件與用戶105進(jìn)行交互。以此方式,提供者組件可提供對(duì)受管理系統(tǒng)能夠提供的任何服務(wù)操作/受管理系統(tǒng)對(duì)象組合的訪問(wèn)。如圖4中所示,系統(tǒng)的模型(受管理系統(tǒng)對(duì)象(也叫做實(shí)體451)以及對(duì)象的相應(yīng)屬性452和關(guān)系453)、模型的服務(wù)(例如通用服務(wù)461和特定服務(wù)462)以及目標(biāo)受管理系統(tǒng)的實(shí)現(xiàn)(例如,提供者組件470)可以是分離的。這一分離提供了動(dòng)態(tài)改變模型(即實(shí)體、屬性和關(guān)系)而不會(huì)對(duì)可針對(duì)該模型操作的服務(wù)產(chǎn)生影響的能力。這還允許單個(gè)模型由多個(gè)后端系統(tǒng)(例如,產(chǎn)品和軟件打包在一起作為服務(wù))來(lái)實(shí)現(xiàn),即使后端系統(tǒng)之間存在語(yǔ)義區(qū)別。這一分離確保了對(duì)于一個(gè)后端服務(wù)器的改變不影響任何其它的后端。另外,這些特征的每一個(gè)都使調(diào)用工具無(wú)須理解各個(gè)后端系統(tǒng)之間的區(qū)別。本發(fā)明清除并將可管理性棧內(nèi)的組件的各個(gè)角色分離為幾個(gè)不同區(qū)域元數(shù)據(jù)——對(duì)管理域類(lèi)型、屬性以及關(guān)系的編碼;服務(wù)——作用于任何域并提供針對(duì)運(yùn)行時(shí)的算法或其它值的通用服務(wù),示例是導(dǎo)航、序列化、查詢(xún)、CRUD(創(chuàng)建、讀取、更新以及刪除); 提供者——提供與作為管理的目標(biāo)對(duì)象的后端系統(tǒng)有關(guān)的服務(wù)的整體或部分的實(shí)現(xiàn)的插件式組件,每個(gè)后端系統(tǒng)類(lèi)型(SQL服務(wù)器、分析服務(wù)服務(wù)器等)有一個(gè)提供者實(shí)現(xiàn);管理運(yùn)行時(shí)——提供接口,用于操縱及查詢(xún)域和實(shí)例數(shù)據(jù)以及用于運(yùn)行時(shí)所使用的實(shí)例數(shù)據(jù)的本地存儲(chǔ)。在一個(gè)實(shí)施例中,添加了提供備份功能的可管理性服務(wù)?,F(xiàn)有系統(tǒng)(例如,結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)服務(wù)器)可定義用于啟動(dòng)相應(yīng)的服務(wù)操作117以及服務(wù)器、數(shù)據(jù)庫(kù)、表以及文件受管理系統(tǒng)對(duì)象的備份語(yǔ)義。在這一實(shí)施例中,SQL服務(wù)器數(shù)據(jù)庫(kù)引擎的提供者的實(shí)現(xiàn)允許備份服務(wù)語(yǔ)義與數(shù)據(jù)庫(kù)和文件系統(tǒng)對(duì)象相組合,使得備份服務(wù)對(duì)于數(shù)據(jù)庫(kù)和文件系統(tǒng)對(duì)象可用。在其它實(shí)施例中,提供者組件(例如110)可允許特定服務(wù)操作/受管理系統(tǒng)對(duì)象組合,同時(shí)禁止其它的。從用戶的視角,給定服務(wù)(例如備份服務(wù))的使用沒(méi)有實(shí)質(zhì)性的改變,因?yàn)榉?wù)本身沒(méi)有改變。在其中服務(wù)可用的上下文(即,服務(wù)可用于的受管理系統(tǒng)對(duì)象)可在運(yùn)行時(shí)動(dòng)態(tài)地確定。對(duì)后端系統(tǒng)(即,受管理系統(tǒng)11 專(zhuān)用的邏輯可被封裝在提供者組件中并在根據(jù)后端系統(tǒng)連接實(shí)例化特定提供者時(shí)使用。另外,開(kāi)發(fā)者可能夠?qū)崿F(xiàn)并測(cè)試新的提供者而無(wú)需改變現(xiàn)有的提供者,并且無(wú)需冒著把新的缺陷引入代碼的已實(shí)現(xiàn)部分中的風(fēng)險(xiǎn)。下面,分別針對(duì)圖2和圖3的方法200和300,更詳細(xì)地解釋這些和其他概念??紤]到以上描述的系統(tǒng)和體系結(jié)構(gòu),參考圖2和圖3的流程圖將更好地理解根據(jù)所公開(kāi)的主題實(shí)現(xiàn)的方法。為了解釋簡(jiǎn)明起見(jiàn),這些方法被示出和描述為一系列框。然而, 應(yīng)該理解和了解,所要求保護(hù)的主題不受框的次序的限制,因?yàn)橐恍┛蚩砂床煌拇涡蜻M(jìn)行和/或與此處所描繪和描述的其他框同時(shí)進(jìn)行。此外,并非全部所示出的框都是實(shí)現(xiàn)下面所描述的方法所必需的。圖2示出了用于將服務(wù)操作與各種受管理的系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合的方法200的流程圖。現(xiàn)在將頻繁參照環(huán)境100的組件和數(shù)據(jù)來(lái)描述方法200。方法200包括確定選定的受管理系統(tǒng)提供了哪些服務(wù)操作的動(dòng)作,其中選定的受管理系統(tǒng)被配置以提供包括多個(gè)不同服務(wù)操作在內(nèi)的一個(gè)或多個(gè)服務(wù)(動(dòng)作210)。例如, 受管理系統(tǒng)115可提供各種不同服務(wù)操作117,這些服務(wù)操作117是服務(wù)116的一部分。服務(wù)可為用戶105提供各種不同類(lèi)型的功能。在一些情況下,用戶登錄到受管理系統(tǒng)115或以其它方式向受管理系統(tǒng)115認(rèn)證以獲取對(duì)所提供的服務(wù)的訪問(wèn)。用戶可查詢(xún)受管理系統(tǒng)以確定其軟件版本和軟件能力。受管理系統(tǒng)可直接回復(fù)查詢(xún),或可將版本信息包含在(例如通過(guò)提供者組件110)發(fā)送給客戶端的其它數(shù)據(jù)中。如圖4中所示,分離的服務(wù)組件460可對(duì)于管理運(yùn)行時(shí)480可用。服務(wù)組件可包括通用服務(wù)461和特定服務(wù)462。通用服務(wù)的非限制性示例可包括但不限于導(dǎo)航、元數(shù)據(jù)、 CRUD、查詢(xún)、編寫(xiě)腳本、序列化、不同操作以及其它服務(wù)。特定服務(wù)的非限制性示例可包括但不限于備份服務(wù)、策略評(píng)估服務(wù)及其它。如圖4中所示,分離的模型定義組件450可對(duì)于管理運(yùn)行時(shí)可用。模型定義組件描述了包含各自具有相關(guān)聯(lián)的屬性452和關(guān)系453的各種實(shí)體(即受管理系統(tǒng)對(duì)象)的模型。組件450和460的模型和服務(wù)可對(duì)提供者組件470可用, 提供者組件470被配置以經(jīng)由服務(wù)提供者接口 471提供模型和服務(wù)的特征(即,動(dòng)態(tài)編程接口組合121),接口映射組件472已將動(dòng)態(tài)編程接口組合的組合的功能映射到服務(wù)提供者接口 471。方法200包括確定受管理系統(tǒng)的一個(gè)或多個(gè)受管理系統(tǒng)對(duì)象將與服務(wù)操作的至少一個(gè)相組合的動(dòng)作(動(dòng)作220)。例如,用戶105可指示想要使用某個(gè)受管理系統(tǒng)對(duì)象以及某個(gè)服務(wù)或服務(wù)操作。相應(yīng)的,在這些情況下,受管理系統(tǒng)115可確定特定的系統(tǒng)對(duì)象 118和特定的服務(wù)操作117將要被組合。在受管理系統(tǒng)115中,可將受管理系統(tǒng)對(duì)象(在此也稱(chēng)為實(shí)體)與服務(wù)操作117分開(kāi)定義,受管理系統(tǒng)對(duì)象包含它們對(duì)應(yīng)的屬性和與其它系統(tǒng)對(duì)象的關(guān)系。由此,服務(wù)操作可與多個(gè)不同受管理系統(tǒng)對(duì)象一起工作。具有特定(特定版本或特定版)語(yǔ)義的服務(wù)操作可與系統(tǒng)對(duì)象相組合,并經(jīng)由提供者模塊提供給用戶。因此,提供者模塊允許實(shí)質(zhì)上任何服務(wù)操作與實(shí)質(zhì)上任何受管理對(duì)象或?qū)嶓w一起使用,而無(wú)論特定語(yǔ)義或?qū)τ谑褂脤?duì)象或服務(wù)的其它特定要求。在此,將可理解的是不要求提供者允許所有的服務(wù)被用于所有模型。相反,映射可以是部分的并且客戶機(jī)應(yīng)用程序可以被改動(dòng)以詢(xún)問(wèn)給定的操作或模型是否是可用的。此外,可根據(jù)用戶界面選項(xiàng)對(duì)于給定的后端版本是否存在來(lái)改動(dòng)客戶機(jī)應(yīng)用程序以顯示或隱藏那些選項(xiàng)。方法200包括將服務(wù)操作與受管理系統(tǒng)對(duì)象相組合的動(dòng)作,使得新的動(dòng)態(tài)編程接口組合被創(chuàng)建,其中新的動(dòng)態(tài)編程接口組合被配置以供受管理系統(tǒng)所提供的一個(gè)或多個(gè)服務(wù)使用(動(dòng)作230)。例如,動(dòng)態(tài)編程接口組合模塊120可將服務(wù)操作117與受管理系統(tǒng)對(duì)象118組合以創(chuàng)建動(dòng)態(tài)編程接口組合121。提供者組件110可被實(shí)現(xiàn)以與某些受管理系統(tǒng)對(duì)象相組合地向用戶提供服務(wù)功能。例如,如果服務(wù)操作117A是“刪除”操作而受管理系統(tǒng)對(duì)象118A是“文件”對(duì)象,則提供者組件110將為用戶提供“刪除文件”動(dòng)態(tài)編程接口組合。本領(lǐng)域技術(shù)人員將能夠理解的是,這只是提供者110可實(shí)現(xiàn)的服務(wù)操作和系統(tǒng)對(duì)象的一個(gè)示例,并且實(shí)際上可使用服務(wù)操作和系統(tǒng)對(duì)象的任何組合。在一些情況下,提供者指示受管理系統(tǒng)支持哪些動(dòng)態(tài)編程接口組合。對(duì)于受管理系統(tǒng)所支持的動(dòng)態(tài)編程接口組合,提供者可將動(dòng)態(tài)編程接口組合映射到用戶界面供用戶選擇。相應(yīng)的,在這些情況下,用戶可能夠通過(guò)訪問(wèn)用戶界面來(lái)使用由提供者模塊所提供的服務(wù)操作和受管理系統(tǒng)對(duì)象。用戶界面將僅呈現(xiàn)對(duì)于用戶所連接到的那個(gè)版本或版的后端系統(tǒng)可用的那些選項(xiàng)。因此,某個(gè)軟件版本或版所未提供的特征不被顯示在用戶界面中。用戶105可能夠提供將要與用戶選擇的動(dòng)態(tài)編程接口結(jié)合(例如121)使用的各種不同屬性。提供者組件可執(zhí)行選定的動(dòng)態(tài)編程接口組合并將結(jié)果映射到受管理系統(tǒng),用戶可在受管理系統(tǒng)處訪問(wèn)結(jié)果。用戶所提供的屬性可被用于動(dòng)態(tài)編程接口組合的執(zhí)行。在一些情況下,受管理系統(tǒng)特定的邏輯的各個(gè)部分可被委托給提供者組件。提供者組件可隨后使用所委托的邏輯的向用戶提供服務(wù)。在一些實(shí)施例中,可添加對(duì)于新的受管理系統(tǒng)的支持,而不會(huì)影響使用專(zhuān)用于新的受管理系統(tǒng)的提供者的其它受管理系統(tǒng)。換句話說(shuō),如果給定的受管理系統(tǒng)已經(jīng)在使用中,可通過(guò)添加新的提供者組件來(lái)添加和實(shí)現(xiàn)新的受管理系統(tǒng)。因此,在這些情況下,每個(gè)后端服務(wù)器將具有其自己的提供者,該提供者提供由該版本或該版的后端服務(wù)器所提供的那些服務(wù)操作和受管理系統(tǒng)對(duì)象。由于每個(gè)提供者僅提供那些因提供者的對(duì)應(yīng)后端服務(wù)器而變得可用的服務(wù)和系統(tǒng)對(duì)象,每個(gè)提供者針對(duì)其后端服務(wù)器來(lái)定制。以此方式,專(zhuān)用于給定受管理系統(tǒng)的提供者可改變受管理系統(tǒng)實(shí)現(xiàn)而不影響其它受管理系統(tǒng)。現(xiàn)在轉(zhuǎn)向圖3,圖3示出用于確定有效動(dòng)態(tài)編程接口組合的方法300的流程圖。現(xiàn)在將頻繁參照?qǐng)D1的環(huán)境100和圖4的環(huán)境400的組件和數(shù)據(jù)來(lái)描述方法300。方法300包括在受管理系統(tǒng)上實(shí)現(xiàn)提供者組件的動(dòng)作,其中提供者組件提供包括將服務(wù)操作與受管理系統(tǒng)對(duì)象組合在一起的一個(gè)或多個(gè)動(dòng)態(tài)編程接口組合在內(nèi)的各種功能(動(dòng)作310)。例如,提供者組件470可以被實(shí)現(xiàn)在受管理系統(tǒng)(例如115)的管理運(yùn)行時(shí) 480上。至少在一些情況下,提供者組件提供包括服務(wù)提供者接口 471、接口映射組件472以及將服務(wù)操作117與受管理系統(tǒng)對(duì)象118組合在一起的一個(gè)或多個(gè)動(dòng)態(tài)編程接口組合121 在內(nèi)的功能。如上所指示的,受管理系統(tǒng)對(duì)象與由受管理系統(tǒng)所提供的服務(wù)操作分開(kāi)定義。 由此,服務(wù)操作可被配置成與多個(gè)不同的受管理系統(tǒng)對(duì)象一起工作,無(wú)論正使用哪版或哪個(gè)版本的后端服務(wù)器。方法300包括根據(jù)哪些動(dòng)態(tài)編程接口組合是由提供者組件所提供的來(lái)確定哪些動(dòng)態(tài)編程接口組合對(duì)于選定的受管理系統(tǒng)是有效的的動(dòng)作(動(dòng)作320)。例如,可根據(jù)哪些動(dòng)態(tài)編程接口組合是由提供者組件110所提供的來(lái)確定哪些動(dòng)態(tài)編程接口組合121對(duì)于特定版本或特定版的受管理系統(tǒng)115是有效的。提供者組件可被配置成向服務(wù)提供者接口 471提供僅僅那些受管理系統(tǒng)能夠提供的服務(wù)操作和受管理系統(tǒng)對(duì)象。方法300還包括接收指示將要根據(jù)一個(gè)或多個(gè)用戶提供的屬性來(lái)對(duì)有效動(dòng)態(tài)編程接口組合中的至少一個(gè)進(jìn)行處理的用戶輸入的動(dòng)作(動(dòng)作330)。例如,用戶105可提供一輸入,聲明動(dòng)態(tài)編程接口組合121將根據(jù)一個(gè)或多個(gè)用戶提供的設(shè)置或?qū)傩詠?lái)進(jìn)行處理。例如,用戶可具有在動(dòng)態(tài)編程接口組合的處理期間用戶想要實(shí)現(xiàn)的規(guī)則或策略。提供者組件可實(shí)現(xiàn)策略作為提供其對(duì)應(yīng)的受管理系統(tǒng)的服務(wù)的一部分。通過(guò)實(shí)現(xiàn)經(jīng)由管理運(yùn)行時(shí)來(lái)與其它組件(即模型定義組件和服務(wù)組件)進(jìn)行交互的分離的提供者組件,可在不影響其它受管理系統(tǒng)的情況下改變受管理系統(tǒng)實(shí)現(xiàn)。當(dāng)使用新的(或不同的)受管理系統(tǒng)時(shí),可實(shí)現(xiàn)提供該新的或不同的受管理系統(tǒng)的那些服務(wù)和受管理系統(tǒng)對(duì)象的新的提供者。受管理對(duì)象、服務(wù)和實(shí)現(xiàn)的這一經(jīng)由提供者的分離允許后端系統(tǒng)被改變或升級(jí)而不影響網(wǎng)絡(luò)中的任何其它受管理系統(tǒng)。此外,這一分離允許動(dòng)態(tài)編程接口被管理,無(wú)論該動(dòng)態(tài)編程接口是如何被創(chuàng)建的,并且不需要作出關(guān)于接口中包含了什么的假定。與每個(gè)受管理系統(tǒng)相關(guān)聯(lián)的提供者組件指示該系統(tǒng)提供了什么。方法300包括根據(jù)用戶提供的屬性處理所指示的有效動(dòng)態(tài)編程接口組合的動(dòng)作 (動(dòng)作340)。例如,可使用用戶提供的屬性來(lái)處理有效動(dòng)態(tài)編程接口組合121。因此,用戶可規(guī)定根據(jù)給定的規(guī)則或策略來(lái)處理動(dòng)態(tài)編程接口組合。因此,提供了將服務(wù)操作和各種受管理系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。此外,提供了確定對(duì)于給定的受管理系統(tǒng)的有效動(dòng)態(tài)編程接口組合的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。經(jīng)由專(zhuān)用于每個(gè)受管理系統(tǒng)的提供者組件來(lái)實(shí)現(xiàn)有效動(dòng)態(tài)編程接口組合。本發(fā)明可具體化為其他具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說(shuō)明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書(shū)而非前述描述指示。落入權(quán)利要求書(shū)的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書(shū)的范圍所涵蓋。
權(quán)利要求
1.一種在包括多個(gè)計(jì)算系統(tǒng)的計(jì)算機(jī)聯(lián)網(wǎng)環(huán)境中在包括處理器和存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)處的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法用于將操作服務(wù)與各種受管理系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合,所述方法包括確定選定的受管理系統(tǒng)(115)提供了哪些服務(wù)操作(117)的動(dòng)作,其中所述選定的受管理系統(tǒng)被配置以提供包括多個(gè)不同服務(wù)操作在內(nèi)的一個(gè)或多個(gè)服務(wù)(116);確定所述受管理系統(tǒng)的一個(gè)或多個(gè)受管理系統(tǒng)對(duì)象(118)將與所述服務(wù)操作的至少一個(gè)相組合的動(dòng)作;將所述服務(wù)操作(117A)與所述受管理系統(tǒng)對(duì)象(118A)相組合的動(dòng)作,使得新的動(dòng)態(tài)編程接口組合(121)被創(chuàng)建,其中所述新的動(dòng)態(tài)編程接口組合被配置以供由所述受管理系統(tǒng)所提供的一個(gè)或多個(gè)服務(wù)使用。
2.如權(quán)利要求1所述的方法,其特征在于,所述受管理系統(tǒng)對(duì)象與由所述受管理系統(tǒng)所提供的服務(wù)操作分開(kāi)定義。
3.如權(quán)利要求2所述的方法,其特征在于,所述服務(wù)操作被配置以與多個(gè)不同的受管理系統(tǒng)對(duì)象一起工作。
4.如權(quán)利要求1所述的方法,其特征在于,還包括在所述選定的受管理系統(tǒng)上實(shí)現(xiàn)提供者組件的動(dòng)作。
5.如權(quán)利要求4所述的方法,其特征在于,所述提供者指示所述選定的受管理系統(tǒng)支持哪些動(dòng)態(tài)編程接口組合。
6.如權(quán)利要求5所述的方法,其特征在于,對(duì)于所述選定的受管理系統(tǒng)所支持的動(dòng)態(tài)編程接口組合,提供者將所述動(dòng)態(tài)編程接口組合映射到用戶界面供用戶選擇。
7.如權(quán)利要求6所述的方法,其特征在于,所述用戶提供要與用戶選擇的動(dòng)態(tài)編程接口結(jié)合使用的一個(gè)或多個(gè)屬性。
8.如權(quán)利要求6所述的方法,其特征在于,所述提供者組件執(zhí)行所選擇的動(dòng)態(tài)編程接口組合并將結(jié)果映射到所述受管理系統(tǒng),其中用戶可在受管理系統(tǒng)處訪問(wèn)所述結(jié)果。
9.如權(quán)利要求4所述的方法,其特征在于,受管理系統(tǒng)專(zhuān)用的邏輯的一個(gè)或多個(gè)部分被委托給所述提供者組件。
10.如權(quán)利要求4所述的方法,其特征在于,還包括使用專(zhuān)用于新的受管理系統(tǒng)的提供者來(lái)添加對(duì)所述新的受管理系統(tǒng)的支持而不影響其它受管理系統(tǒng)的動(dòng)作。
11.如權(quán)利要求4所述的方法,其特征在于,還包括使用專(zhuān)用于被改變的受管理系統(tǒng)的提供者來(lái)改變所述受管理系統(tǒng)而不影響其它受管理系統(tǒng)的動(dòng)作。
12.一種用于實(shí)現(xiàn)一種方法的計(jì)算機(jī)程序產(chǎn)品,所述方法用于確定有效動(dòng)態(tài)編程接口組合,所述計(jì)算機(jī)程序產(chǎn)品包括其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令在被計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得所述計(jì)算系統(tǒng)執(zhí)行所述方法,所述方法包括在選定的受管理系統(tǒng)(11 上實(shí)現(xiàn)提供者組件(110)的動(dòng)作,其中提供者組件提供包括將服務(wù)操作(117A)與受管理系統(tǒng)對(duì)象(118A)相組合的一個(gè)或多個(gè)動(dòng)態(tài)編程接口組合 (121)在內(nèi)的各種功能;根據(jù)哪些動(dòng)態(tài)編程接口組合是由所述提供者組件所提供的來(lái)確定哪些動(dòng)態(tài)編程接口組合對(duì)于所述選定的受管理系統(tǒng)是有效的的動(dòng)作;接收指示要根據(jù)一個(gè)或多個(gè)用戶提供的屬性來(lái)對(duì)所述有效動(dòng)態(tài)編程接口組合中的至少一個(gè)進(jìn)行處理的用戶(105)輸入的動(dòng)作;以及根據(jù)所述用戶提供的屬性處理所指示的有效動(dòng)態(tài)編程接口組合的動(dòng)作。
13.如權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,還包括在所述選定的受管理系統(tǒng)上實(shí)現(xiàn)提供者組件的動(dòng)作。
14.如權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,還包括使用專(zhuān)用于被改變的受管理系統(tǒng)的提供者來(lái)改變受管理系統(tǒng)而不影響其它受管理系統(tǒng)的動(dòng)作。
15.一種計(jì)算機(jī)系統(tǒng),包括 一個(gè)或更多個(gè)處理器; 系統(tǒng)存儲(chǔ)器;其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí)致使所述計(jì)算系統(tǒng)執(zhí)行一種用于將服務(wù)操作與各個(gè)受管理系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合的方法,所述方法包括以下動(dòng)作確定選定的受管理系統(tǒng)(115)提供了哪些服務(wù)操作(117)的動(dòng)作,其中所述選定的受管理系統(tǒng)被配置以提供包括多個(gè)不同服務(wù)操作在內(nèi)的一個(gè)或多個(gè)服務(wù)(116);確定所述受管理系統(tǒng)的一個(gè)或多個(gè)受管理系統(tǒng)對(duì)象(118)將與所述服務(wù)操作的至少一個(gè)相組合的動(dòng)作;將服務(wù)操作(117A)與受管理系統(tǒng)對(duì)象(118A)相組合的動(dòng)作,使得新的動(dòng)態(tài)編程接口組合(121)被創(chuàng)建,其中所述新的動(dòng)態(tài)編程接口組合被配置以供所述受管理系統(tǒng)所提供的一個(gè)或多個(gè)服務(wù)使用;在所述選定的受管理系統(tǒng)上實(shí)現(xiàn)提供者組件(110)的動(dòng)作;以及使用專(zhuān)用于被改變的受管理系統(tǒng)的提供者來(lái)改變所述受管理系統(tǒng)而不影響其它受管理系統(tǒng)的動(dòng)作。
全文摘要
本發(fā)明涉及模型、操作以及實(shí)現(xiàn)的分離。實(shí)施例涉及將服務(wù)操作與各種受管理的系統(tǒng)對(duì)象組合以形成新的動(dòng)態(tài)編程接口組合,以及確定有效的動(dòng)態(tài)編程接口組合。計(jì)算機(jī)系統(tǒng)確定選定的受管理系統(tǒng)提供了哪些服務(wù)操作。該選定的受管理系統(tǒng)被配置以提供各種服務(wù),包括多個(gè)不同的服務(wù)操作。計(jì)算機(jī)系統(tǒng)確定受管理系統(tǒng)的受管理系統(tǒng)對(duì)象將要與服務(wù)操作中的至少一個(gè)相組合。計(jì)算機(jī)系統(tǒng)還將服務(wù)操作與受管理系統(tǒng)對(duì)象組合,使得新的動(dòng)態(tài)編程接口組合被創(chuàng)建。新的動(dòng)態(tài)編程接口組合被配置以供受管理系統(tǒng)所提供的服務(wù)來(lái)使用。
文檔編號(hào)G06F9/44GK102402433SQ201110307959
公開(kāi)日2012年4月4日 申請(qǐng)日期2011年9月29日 優(yōu)先權(quán)日2010年9月30日
發(fā)明者E·W·杜登赫費(fèi)爾, M·薩諾維茨, S·A·科納斯曼, S·博什拉 申請(qǐng)人:微軟公司