本發(fā)明涉及允許在GenIL層頂部提供ODdata服務(wù)的計(jì)算機(jī)實(shí)施的方法、軟件和系統(tǒng)。
背景技術(shù):通常,通過(guò)定制的圖形用戶(hù)界面來(lái)提供提供對(duì)業(yè)務(wù)套件系統(tǒng)(businesssuitesystem)的訪問(wèn),該定制的圖形用戶(hù)界面通過(guò)使用關(guān)聯(lián)的通用交互層(GenIL)的業(yè)務(wù)對(duì)象層與后端業(yè)務(wù)對(duì)象和數(shù)據(jù)連接。隨著移動(dòng)計(jì)算和其他計(jì)算平臺(tái)(諸如智能電話(huà)和平板計(jì)算機(jī))使用的增加,開(kāi)放數(shù)據(jù)協(xié)議(opendataprotocol,OData)的使用變得更加普遍。允許設(shè)備使用OData訪問(wèn)業(yè)務(wù)套件系統(tǒng)需要開(kāi)發(fā)定制的OData-GenIL接口。定制的OData-GenIL接口的開(kāi)發(fā)已經(jīng)導(dǎo)致針對(duì)每個(gè)OData-GenIL接口的更高的開(kāi)發(fā)和維護(hù)成本、以及整體較高的業(yè)務(wù)套件系統(tǒng)的總擁有成本。
技術(shù)實(shí)現(xiàn)要素:本公開(kāi)涉及允許在GenIL層頂部提供OData服務(wù)的計(jì)算機(jī)實(shí)施的方法、軟件和系統(tǒng)。一種計(jì)算機(jī)實(shí)施的方法包括:接收對(duì)數(shù)據(jù)的OData兼容請(qǐng)求,確定用于接收對(duì)數(shù)據(jù)的OData兼容請(qǐng)求的GenIL數(shù)據(jù)提供者,確定該數(shù)據(jù)的存儲(chǔ)器位置,從所確定的存儲(chǔ)器位置請(qǐng)求數(shù)據(jù),從所確定的存儲(chǔ)器位置接收所請(qǐng)求的數(shù)據(jù),使用至少一臺(tái)計(jì)算機(jī)將接收到的數(shù)據(jù)轉(zhuǎn)換為OData兼容格式,呈現(xiàn)OData兼容響應(yīng),以及發(fā)送該OData兼容響應(yīng)。這個(gè)方面的其他實(shí)施包括相應(yīng)的計(jì)算機(jī)系統(tǒng)、裝置、以及記錄在一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)設(shè)備上的計(jì)算機(jī)程序,每一個(gè)都被配置以執(zhí)行該方法的動(dòng)作。一個(gè)或多個(gè)計(jì)算機(jī)的系統(tǒng)能夠被配置以通過(guò)安裝在系統(tǒng)上的、操作將導(dǎo)致執(zhí)行動(dòng)作或?qū)е孪到y(tǒng)執(zhí)行動(dòng)作的軟件、固件、硬件或者軟件、固件或硬件的組合來(lái)執(zhí)行特定操作或動(dòng)作。一個(gè)或多個(gè)計(jì)算機(jī)程序能夠被配置以通過(guò)包括指令來(lái)執(zhí)行特定操作或動(dòng)作,當(dāng)該指令由數(shù)據(jù)處理裝置運(yùn)行時(shí)將導(dǎo)致裝置執(zhí)行動(dòng)作。上述和其他實(shí)施每個(gè)都可以選擇地、以單獨(dú)或組合的方式包括一個(gè)或多個(gè)以下特征。特別地,一個(gè)實(shí)施可以包括以下特征:在第一方面,可以與一般實(shí)施組合,數(shù)據(jù)的OData兼容請(qǐng)求針對(duì)對(duì)象模型或?qū)ο竽P拖嚓P(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)中的至少一個(gè)。在第二方面,可以與任意前述方面組合,數(shù)據(jù)的OData兼容請(qǐng)求是運(yùn)行前生成的。在第三方面,可以與任意前述方面組合,對(duì)象模型相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)與從GenIL兼容格式映射到OData兼容格式的對(duì)象模型相關(guān)聯(lián)。在第四方面,可以與任意前述方面組合,GenIL數(shù)據(jù)提供者為對(duì)象模型或運(yùn)行時(shí)數(shù)據(jù)中的至少一個(gè)提供GenIL兼容數(shù)據(jù)。在第五方面,可以與任意前述方面組合,對(duì)所確定的存儲(chǔ)器位置的數(shù)據(jù)的請(qǐng)求是GenIL兼容格式的。在第六方面,可以與任意前述方面組合,包括根據(jù)接收到的數(shù)據(jù)構(gòu)造OData對(duì)象模型。本說(shuō)明書(shū)中描述的主題可以在特定實(shí)施中實(shí)現(xiàn),以便實(shí)現(xiàn)以下優(yōu)點(diǎn)中的一個(gè)或多個(gè)。首先,可以實(shí)現(xiàn)通用適配器以方便OData服務(wù)和GenIL接口(其與后端存儲(chǔ)器通信)之間的通信。其次,不需要在后端存儲(chǔ)器上部署適配器的任何部分。第三,通用適配器對(duì)現(xiàn)有應(yīng)用是透明的。第四,通過(guò)使用各種可定制的OData兼容工具,通用適配器支持對(duì)象模型定制靈活性。其他優(yōu)勢(shì)對(duì)本領(lǐng)域技術(shù)人員將是明顯的。在附圖和以下描述中闡明本說(shuō)明書(shū)的主題的一個(gè)或多個(gè)實(shí)施的細(xì)節(jié)。根據(jù)說(shuō)明書(shū)、附圖和權(quán)利要求書(shū),該主題的其他特征、方面和優(yōu)點(diǎn)將變得明顯。附圖說(shuō)明圖1示出了允許在GenIL層頂部提供ODdata服務(wù)的示例系統(tǒng)的框圖;圖2是示出客戶(hù)端GUI多層架構(gòu)的框圖;圖3A-3B示出了從GenIL兼容格式到OData兼容格式的對(duì)象模型的映射的示例;圖4是示出具有并入網(wǎng)關(guān)服務(wù)器的OData-GenIL適配器的、更新的客戶(hù)端GUI多層架構(gòu)的框圖;圖5是示出包括OData-GenIL適配器的網(wǎng)關(guān)服務(wù)器的架構(gòu)的框圖;圖6是利用并入網(wǎng)關(guān)服務(wù)器的GenIL-OData適配器將請(qǐng)求的對(duì)象模型從GenIL兼容格式映射到OData兼容格式的流程圖;圖7是利用并入網(wǎng)關(guān)服務(wù)器的GenIL-OData適配器對(duì)與從GenIL兼容格式映射到OData兼容格式的對(duì)象模型相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)進(jìn)行轉(zhuǎn)換的流程圖;圖8是示出具有并入業(yè)務(wù)套件服務(wù)器的OData-GenIL適配器的、更新的客戶(hù)端GUI多層架構(gòu)的框圖;圖9是示出業(yè)務(wù)套件服務(wù)器和并入業(yè)務(wù)套件服務(wù)器內(nèi)的OData-GenIL適配器的架構(gòu)的框圖;圖10是利用并入業(yè)務(wù)套件服務(wù)器的GenIL-OData適配器將請(qǐng)求的對(duì)象模型從GenIL兼容格式映射到OData兼容格式的流程圖;以及圖11是利用并入業(yè)務(wù)套件服務(wù)器的GenIL-OData適配器對(duì)與從GenIL兼容格式映射到OData兼容格式的對(duì)象模型相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)進(jìn)行轉(zhuǎn)換的流程圖。在不同附圖中,相同的參考標(biāo)記和標(biāo)志指示相同的元素。具體實(shí)施方式本公開(kāi)一般描述了允許在GenIL層頂部提供ODdata服務(wù)的計(jì)算機(jī)實(shí)施的方法、軟件和系統(tǒng)。對(duì)于本公開(kāi)的該目的,業(yè)務(wù)套件是業(yè)務(wù)應(yīng)用的捆綁,其提供了一體化的信息和過(guò)程、協(xié)作工具、特定行業(yè)的功能、以及可擴(kuò)展性。業(yè)務(wù)套件提供了端到端的業(yè)務(wù)過(guò)程的傳遞,其跨越了諸如業(yè)務(wù)部門(mén)和位置的組織界限,集成了諸如客戶(hù)、供應(yīng)者和服務(wù)提供者的業(yè)務(wù)伙伴,并且允許組織調(diào)整業(yè)務(wù)計(jì)劃、預(yù)算和運(yùn)作報(bào)告(operationalreport)。只利用網(wǎng)絡(luò)瀏覽器,當(dāng)業(yè)務(wù)套件的用戶(hù)已經(jīng)通過(guò)驗(yàn)證、提供對(duì)信息、功能和服務(wù)的單一訪問(wèn)點(diǎn)時(shí),它們就可以開(kāi)始工作。業(yè)務(wù)套件可以以統(tǒng)一且結(jié)構(gòu)化的方式呈現(xiàn)來(lái)自不同源的信息,并提供附加的服務(wù),諸如儀表板、內(nèi)部搜索引擎、電子郵件、新聞、導(dǎo)航工具、以及其他各種功能。業(yè)務(wù)套件通常由企業(yè)使用,以便向其員工、客戶(hù)和可能的其他用戶(hù)提供一致的外觀和體驗(yàn)、訪問(wèn)控制和處置(procedure)多個(gè)應(yīng)用,否則多個(gè)應(yīng)用將是完全獨(dú)立的實(shí)體。一般地,通過(guò)圖形用戶(hù)界面(GUI)向業(yè)務(wù)套件用戶(hù)提供有效和用戶(hù)友好的數(shù)據(jù)呈現(xiàn),該數(shù)據(jù)由系統(tǒng)提供或者在系統(tǒng)內(nèi)通信。術(shù)語(yǔ)“圖形用戶(hù)界面”或GUI可以用于單數(shù)或復(fù)數(shù)來(lái)描述一個(gè)或多個(gè)圖形用戶(hù)界面以及特定圖形用戶(hù)界面的每個(gè)顯示。因此,GUI可以代表任何圖形用戶(hù)界面,包括但不限于網(wǎng)絡(luò)瀏覽器、觸摸屏、或處理信息并有效地向用戶(hù)呈現(xiàn)信息結(jié)果的命令行界面(CLI)。一般情況下,GUI可以包括多個(gè)用戶(hù)界面(UI)元素,該UI元素的一部分或全部與網(wǎng)絡(luò)瀏覽器相關(guān)聯(lián),諸如業(yè)務(wù)套件用戶(hù)可操作的交互字段、下拉列表和按鈕。這些和其他UI元素可以與網(wǎng)絡(luò)瀏覽器的功能有關(guān)或者代表網(wǎng)絡(luò)瀏覽器的功能。圖1示出了可操作以允許在GenIL層頂部提供ODdata服務(wù)的示例分布式計(jì)算系統(tǒng)100。具體來(lái)說(shuō),所示出的示例分布式計(jì)算系統(tǒng)100包括或與通信方式耦接在網(wǎng)絡(luò)130上通信的業(yè)務(wù)套件服務(wù)器102和客戶(hù)端140。一般情況下,業(yè)務(wù)套件服務(wù)器102是存儲(chǔ)一個(gè)或多個(gè)業(yè)務(wù)應(yīng)用108的服務(wù)器,其中至少一部分業(yè)務(wù)應(yīng)用108經(jīng)由向示例分布式計(jì)算系統(tǒng)100內(nèi)的或者以通信方式與示例分布式計(jì)算系統(tǒng)100耦接的用戶(hù)或客戶(hù)端發(fā)送請(qǐng)求和響應(yīng)來(lái)運(yùn)行。在一些實(shí)施中,業(yè)務(wù)套件服務(wù)器102可以存儲(chǔ)多個(gè)不同的業(yè)務(wù)應(yīng)用108。在其他實(shí)施中,業(yè)務(wù)套件服務(wù)器102可以是用于存儲(chǔ)和執(zhí)行僅單一業(yè)務(wù)應(yīng)用108的專(zhuān)用服務(wù)器。在一些實(shí)施中,業(yè)務(wù)套件服務(wù)器102可以包括網(wǎng)絡(luò)服務(wù)器,其中業(yè)務(wù)應(yīng)用108代表由客戶(hù)端140經(jīng)由網(wǎng)絡(luò)130訪問(wèn)和運(yùn)行的、或者在業(yè)務(wù)套件服務(wù)器102處直接訪問(wèn)和運(yùn)行以便執(zhí)行業(yè)務(wù)應(yīng)用108已編程的任務(wù)或操作的一個(gè)或多個(gè)基于網(wǎng)絡(luò)的應(yīng)用。在高層次上,業(yè)務(wù)套件服務(wù)器102包括可操作以接收、發(fā)送、處理、存儲(chǔ)、或管理與示例分布式計(jì)算系統(tǒng)100相關(guān)聯(lián)的數(shù)據(jù)和信息的電子計(jì)算設(shè)備。具體來(lái)說(shuō),圖1所示的業(yè)務(wù)套件服務(wù)器102負(fù)責(zé)從與示例分布式計(jì)算系統(tǒng)100的客戶(hù)端140相關(guān)聯(lián)的一個(gè)或多個(gè)客戶(hù)端應(yīng)用接收應(yīng)用請(qǐng)求(例如業(yè)務(wù)套件導(dǎo)航請(qǐng)求)并且通過(guò)在相關(guān)聯(lián)的業(yè)務(wù)應(yīng)用108中處理所述請(qǐng)求來(lái)響應(yīng)接收到的請(qǐng)求,并且將來(lái)自業(yè)務(wù)應(yīng)用108的適當(dāng)響應(yīng)發(fā)回發(fā)出請(qǐng)求的客戶(hù)端應(yīng)用146。除了來(lái)自客戶(hù)端140的請(qǐng)求,也可以發(fā)送來(lái)自?xún)?nèi)部用戶(hù)、外部或第三方客戶(hù)、其他自動(dòng)化應(yīng)用、以及任何其他適當(dāng)實(shí)體、個(gè)人、系統(tǒng)或計(jì)算機(jī)的與業(yè)務(wù)應(yīng)用108相關(guān)聯(lián)的請(qǐng)求。如本公開(kāi)中所使用的那樣,術(shù)語(yǔ)“計(jì)算機(jī)”旨在包括任何合適的處理設(shè)備。例如,雖然圖1示出了單一業(yè)務(wù)套件服務(wù)器102,但是可以使用兩個(gè)或更多個(gè)服務(wù)器102以及除了服務(wù)器的計(jì)算機(jī)(包括服務(wù)器池)來(lái)實(shí)現(xiàn)環(huán)境100。事實(shí)上,業(yè)務(wù)套件服務(wù)器102可以是任何計(jì)算機(jī)或處理設(shè)備,例如,刀片服務(wù)器、通用個(gè)人計(jì)算機(jī)(PC)、麥金托什機(jī)(Macintosh)、工作站、基于UNIX的工作站、或任何其他合適的設(shè)備。換句話(huà)說(shuō),本公開(kāi)預(yù)期(contemplate)除了通用計(jì)算機(jī)的其他計(jì)算機(jī)、以及不使用傳統(tǒng)操作系統(tǒng)的計(jì)算機(jī)。此外,所示出的業(yè)務(wù)套件服務(wù)器102可以適于運(yùn)行任何操作系統(tǒng),包括Linux、UNIX、Windows、MacOS、或任何其他合適的操作系統(tǒng)。根據(jù)一個(gè)實(shí)施,業(yè)務(wù)套件服務(wù)器102也可以包括或以通信方式耦接電子郵件服務(wù)器、網(wǎng)絡(luò)服務(wù)器、緩存服務(wù)器、流數(shù)據(jù)服務(wù)器、和/或其他合適的服務(wù)器。業(yè)務(wù)套件服務(wù)器102還包括接口104、處理器106、和存儲(chǔ)器107。業(yè)務(wù)套件服務(wù)器102使用接口104與連接到網(wǎng)絡(luò)130的分布式環(huán)境(包括在環(huán)境100內(nèi))中的其他系統(tǒng)通信,例如客戶(hù)端140以及以通信方式耦接到網(wǎng)絡(luò)130的其他系統(tǒng)(未示出)。一般地,接口104包括在軟件和/或硬件中以合適的組合編碼的邏輯,并且可操作以與網(wǎng)絡(luò)130通信。更具體地,接口104可以包括支持與通信相關(guān)聯(lián)的一個(gè)或多個(gè)通信協(xié)議的軟件,從而網(wǎng)絡(luò)130或者接口的硬件可操作以在所示的示例分布式計(jì)算系統(tǒng)100的內(nèi)部和外部傳遞物理信號(hào)。如圖1所示,業(yè)務(wù)套件服務(wù)器102包括處理器106。雖然在圖1中示出為單一處理器106,但是根據(jù)環(huán)境100的特定需要、期望、或特定實(shí)施,可以使用兩個(gè)或更多個(gè)處理器。每個(gè)處理器106可以是中央處理單元(CPU)、刀片處理器(blade)、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、或其他合適的組件。一般地,處理器106運(yùn)行指令并處理數(shù)據(jù)以執(zhí)行業(yè)務(wù)套件服務(wù)器102的操作。具體地,處理器106運(yùn)行要求接收并響應(yīng)來(lái)自客戶(hù)端140的請(qǐng)求的功能,和/或允許在GenIL層頂部提供ODdata服務(wù)的功能。與特定實(shí)施無(wú)關(guān),“軟件”可以包括當(dāng)運(yùn)行軟件時(shí)可操作以至少執(zhí)行這里所描述的過(guò)程和操作的、在有形介質(zhì)(根據(jù)需要,臨時(shí)性或非臨時(shí)性)上的計(jì)算機(jī)可讀指令、固件、有線(xiàn)或程序化硬件、或其任意組合。事實(shí)上,每個(gè)軟件組件可以完全或部分地由包括C、C++、ObjectiveC、JAVA、VisualBasic、匯編(assembler)、Perl、任何合適的版本的4GL、以及其他語(yǔ)言的任何合適的計(jì)算機(jī)語(yǔ)言編寫(xiě)或描述。雖然圖1中所描述的軟件部分表示為通過(guò)不同對(duì)象、方法、或其他過(guò)程實(shí)施各種特征和功能的單獨(dú)模塊,但是軟件可以根據(jù)需要替代地包括許多子模塊、第三方服務(wù)、組件、庫(kù)等。相反,各個(gè)組件的特征和功能可以根據(jù)需要合并成單一組件。業(yè)務(wù)套件服務(wù)器102還包括存儲(chǔ)器107或多個(gè)存儲(chǔ)器107。存儲(chǔ)器107可以包括任何存儲(chǔ)器或數(shù)據(jù)庫(kù)模塊,并且可以采用易失性或非易失性存儲(chǔ)器的形式,包括但不限于磁介質(zhì)、光學(xué)介質(zhì)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可刪除介質(zhì)、或任何其他合適的本地或遠(yuǎn)程存儲(chǔ)器組件。存儲(chǔ)器107可以存儲(chǔ)各種對(duì)象或數(shù)據(jù),包括緩存、類(lèi)、框架(framework)、應(yīng)用、備份數(shù)據(jù)、作業(yè)(job)、網(wǎng)頁(yè)、網(wǎng)頁(yè)模板、數(shù)據(jù)庫(kù)表、存儲(chǔ)業(yè)務(wù)和/或動(dòng)態(tài)信息的存儲(chǔ)庫(kù)、以及任何其他適當(dāng)?shù)男畔?包括與業(yè)務(wù)套件服務(wù)器102的用途相關(guān)聯(lián)的任何參數(shù)、變量、算法、指令、規(guī)則、約束、或引用)。此外,存儲(chǔ)器107可以包括任何其他適當(dāng)?shù)臄?shù)據(jù),諸如VPN應(yīng)用、固件日志和策略、防火墻策略、安全或訪問(wèn)日志、打印或其他報(bào)告文件、以及其他數(shù)據(jù)。雖然將存儲(chǔ)器107示出為業(yè)務(wù)套件服務(wù)器102的整體組件,但是在可替換的實(shí)施中,存儲(chǔ)器107可以在業(yè)務(wù)套件服務(wù)器102和/或示例分布式計(jì)算系統(tǒng)100的外部。業(yè)務(wù)套件服務(wù)器102還包括應(yīng)用編程接口(API)111。該API111可以包括例程、數(shù)據(jù)結(jié)構(gòu)和對(duì)象類(lèi)的規(guī)范。API111可以與計(jì)算機(jī)語(yǔ)言無(wú)關(guān)、或者依賴(lài)于計(jì)算機(jī)語(yǔ)言,并且指代完整的接口、單一的功能、甚至一組API。在某些實(shí)施中,API111可以用于在硬件和軟件兩方面連接業(yè)務(wù)應(yīng)用108和/或業(yè)務(wù)套件服務(wù)器的一個(gè)或多個(gè)組件或者示例分布式計(jì)算系統(tǒng)100的其他組件。例如,在一個(gè)實(shí)施中,業(yè)務(wù)應(yīng)用108可以利用API111與客戶(hù)端140通信。雖然API111示出為業(yè)務(wù)套件服務(wù)器102內(nèi)的獨(dú)立組件,但是在示例分布式計(jì)算系統(tǒng)100中可能存在在硬件和軟件兩方面并入單獨(dú)組件或者可由單獨(dú)組件訪問(wèn)的多個(gè)其他API。服務(wù)層112向示例分布式計(jì)算系統(tǒng)100提供軟件服務(wù)。業(yè)務(wù)套件系統(tǒng)的功能可以經(jīng)由這個(gè)服務(wù)層對(duì)所有服務(wù)使用者(consumer)可訪問(wèn)。諸如業(yè)務(wù)套件導(dǎo)航的軟件服務(wù)通過(guò)定義的接口提供可重復(fù)使用的、定義的業(yè)務(wù)功能。定義的接口可以是以可擴(kuò)展標(biāo)記語(yǔ)言(XML)或其他合適的語(yǔ)言編寫(xiě)的軟件。雖然示出為示例分布式計(jì)算系統(tǒng)100中的業(yè)務(wù)套件服務(wù)器102的集成組件,但是可替換的實(shí)施可以將服務(wù)層112示出為與示例分布式計(jì)算系統(tǒng)100的其他組件有關(guān)的獨(dú)立組件。此外,服務(wù)層112的任何或所有組件可以實(shí)施為其他軟件模塊或企業(yè)應(yīng)用(未示出)或其他硬件模塊(未示出)的子段(child)或子模塊而不偏離本公開(kāi)的范圍。存儲(chǔ)器107(即,后端數(shù)據(jù)系統(tǒng))保存業(yè)務(wù)套件服務(wù)器102的數(shù)據(jù)。在一些實(shí)施中,存儲(chǔ)器107包括業(yè)務(wù)對(duì)象114、業(yè)務(wù)對(duì)象模型115和業(yè)務(wù)對(duì)象模型數(shù)據(jù)116。雖然示出為單一實(shí)例,但是可以存在一個(gè)以上的業(yè)務(wù)對(duì)象114、業(yè)務(wù)對(duì)象模型115和業(yè)務(wù)對(duì)象模型數(shù)據(jù)116的實(shí)例。業(yè)務(wù)對(duì)象114可以考慮為表示可理解的(intelligible)業(yè)務(wù)/非業(yè)務(wù)實(shí)體,諸如帳戶(hù)、訂單、員工、發(fā)票、財(cái)務(wù)報(bào)表等。業(yè)務(wù)對(duì)象114可以包括兩種功能,例如以方法和諸如一個(gè)或多個(gè)屬性的數(shù)據(jù)的形式。例如,帳戶(hù)業(yè)務(wù)對(duì)象114可以具有諸如名稱(chēng)(Name)、優(yōu)先級(jí)(priority)、值(Value)等的屬性。業(yè)務(wù)對(duì)象114可以通過(guò)將系統(tǒng)降低為更小的單元來(lái)降低系統(tǒng)的復(fù)雜性。業(yè)務(wù)對(duì)象114的實(shí)施細(xì)節(jié)通常對(duì)非開(kāi)發(fā)用戶(hù)隱藏,并且可以通過(guò)定義的功能和封裝的數(shù)據(jù)訪問(wèn)。業(yè)務(wù)對(duì)象114還形成了系統(tǒng)的功能和數(shù)據(jù)的入口點(diǎn),并且使得系統(tǒng)能夠方便地共享、通信、顯示、或以其他方式操作系統(tǒng)。業(yè)務(wù)對(duì)象114也可以認(rèn)為是特定業(yè)務(wù)套件中例如通過(guò)網(wǎng)頁(yè)請(qǐng)求數(shù)據(jù)的目標(biāo),并且可以包含訪問(wèn)業(yè)務(wù)對(duì)象114時(shí)將要顯示的視圖。在某些實(shí)施中,業(yè)務(wù)對(duì)象114可以控制選定視圖、為特定業(yè)務(wù)套件用戶(hù)個(gè)性化的視圖、以及動(dòng)態(tài)視圖的位置。雖然示出為與示例分布式計(jì)算系統(tǒng)100中的業(yè)務(wù)套件服務(wù)器102的存儲(chǔ)器107結(jié)合,但是在可替換的實(shí)施中,業(yè)務(wù)對(duì)象114可以存儲(chǔ)在業(yè)務(wù)套件服務(wù)器102的外部。業(yè)務(wù)對(duì)象模型115是代表適于組織的業(yè)務(wù)對(duì)象114的關(guān)系、聯(lián)系(association)、作用等的結(jié)構(gòu)化方式。例如,業(yè)務(wù)對(duì)象模型可以通過(guò)使用實(shí)體關(guān)系圖(entity-relationshipdiagram,ERD)或其他合適圖或描述方法來(lái)表示。產(chǎn)品銷(xiāo)售者(ProductSeller)的示例業(yè)務(wù)對(duì)象模型115可以包括諸如賬戶(hù)和訂單的根業(yè)務(wù)對(duì)象114,其中每個(gè)可以包含它們自己的方法、屬性、以及與業(yè)務(wù)對(duì)象模型115中其他相關(guān)對(duì)象之間的關(guān)系。根業(yè)務(wù)對(duì)象114還可以與其他相關(guān)業(yè)務(wù)對(duì)象114有聯(lián)系。賬戶(hù)根業(yè)務(wù)對(duì)象114的相關(guān)對(duì)象的示例可以包括AccountAddressUS。訂單根業(yè)務(wù)對(duì)象114的示例相關(guān)對(duì)象可以包括訂單合作伙伴(OrderPartner)和訂單內(nèi)容出貨數(shù)據(jù)(OrderItemShipmentData)。雖然示出為與示例分布式計(jì)算系統(tǒng)100中的業(yè)務(wù)套件服務(wù)器102的存儲(chǔ)器107結(jié)合,但是在可替換的實(shí)施中,業(yè)務(wù)對(duì)象模型115可以存儲(chǔ)在業(yè)務(wù)套件服務(wù)器102的外部。業(yè)務(wù)對(duì)象模型數(shù)據(jù)116是與業(yè)務(wù)對(duì)象114的具體實(shí)例相關(guān)聯(lián)的數(shù)據(jù)。例如,對(duì)于以上示例AccountAddressUS相關(guān)對(duì)象,可能是屬性名稱(chēng)、標(biāo)題、地址1、地址2、市、州和郵政編碼。業(yè)務(wù)對(duì)象數(shù)據(jù)116將是與每個(gè)屬性相關(guān)聯(lián)的數(shù)據(jù),例如,名稱(chēng)=“XYZ公司”、地址1=“任何街道12345”、地址2=“房間ABC”、市=“某城市”等。在某些實(shí)施中,業(yè)務(wù)對(duì)象模型數(shù)據(jù)116可以包括其他內(nèi)容:文字、圖像、聲音、視頻和動(dòng)畫(huà),等等。雖然示出為與示例分布式計(jì)算系統(tǒng)100中的業(yè)務(wù)套件服務(wù)器102的存儲(chǔ)器107結(jié)合,但是在可替換的實(shí)施中,業(yè)務(wù)對(duì)象模型數(shù)據(jù)116可以存儲(chǔ)在業(yè)務(wù)套件服務(wù)器102的外部。現(xiàn)在轉(zhuǎn)向圖2,圖2是示出客戶(hù)端GUI多層架構(gòu)200的框圖200。通過(guò)客戶(hù)端140(以下描述)提供對(duì)虛線(xiàn)202內(nèi)表示的業(yè)務(wù)套件服務(wù)器102的訪問(wèn),例如,網(wǎng)絡(luò)瀏覽器或其他合適的GUI應(yīng)用與用戶(hù)界面(UI)表示層109連接,該UI表示層109進(jìn)一步與由業(yè)務(wù)對(duì)象層(BOL)110提供的應(yīng)用編程接口(API)(未示出)連接。從這個(gè)角度上,表示層109和業(yè)務(wù)對(duì)象層110將被共同稱(chēng)為BOL110。BOL110API為GUI應(yīng)用提供一致的界面,以便訪問(wèn)與業(yè)務(wù)應(yīng)用108相關(guān)聯(lián)的業(yè)務(wù)對(duì)象114。通用交互層(GenIL)113與BOL110相關(guān)聯(lián),該GenIL113為BOL110提供一致的界面以便通過(guò)API111訪問(wèn)業(yè)務(wù)應(yīng)用108業(yè)務(wù)對(duì)象114,并且為業(yè)務(wù)應(yīng)用108提供一致的界面以便將數(shù)據(jù)返回到客戶(hù)端140。在高層次上,GenIL113用作客戶(hù)端140和業(yè)務(wù)應(yīng)用108之間的橋路。因?yàn)樵谶@種架構(gòu)中,只要BO110/GenIL113/API111的接口不改變,客戶(hù)端140就不受下層業(yè)務(wù)應(yīng)用108業(yè)務(wù)對(duì)象114的變化的影響。這種架構(gòu)通常也確保特定層、API等的變化還能夠不影響其他層、API等。開(kāi)放數(shù)據(jù)協(xié)議(OData)是用于查詢(xún)和更新數(shù)據(jù)的網(wǎng)絡(luò)協(xié)議,并且允許用戶(hù)通過(guò)超文本傳輸協(xié)議從數(shù)據(jù)源請(qǐng)求數(shù)據(jù)并以諸如Atom發(fā)布協(xié)議(AtomPublishingProtocol,Atom)、JavaScript對(duì)象表示法(JavaScriptObjectNotation,JSON)、可擴(kuò)展標(biāo)記語(yǔ)言(XML)等格式接收從數(shù)據(jù)源返回的結(jié)果。在一些實(shí)施中,請(qǐng)求可以被劃分為多個(gè)段。在一些實(shí)施中,可以同時(shí)和/或并行生成和/或接收多個(gè)請(qǐng)求段。諸如智能電話(huà)和平板計(jì)算機(jī)的移動(dòng)計(jì)算和其他計(jì)算平臺(tái)可以使用OData,并且是訪問(wèn)業(yè)務(wù)套件信息的越來(lái)越重要的方法。為了提供使用OData兼容的計(jì)算平臺(tái)來(lái)訪問(wèn)業(yè)務(wù)套件服務(wù)器102,將OData-GenIL適配器(OGA)用于至少提供運(yùn)行前(pre-runtime)的對(duì)象模型映射以及與映射的對(duì)象模型相關(guān)聯(lián)的數(shù)據(jù)的運(yùn)行時(shí)(runtime)轉(zhuǎn)換在一些實(shí)施中,OGA可以實(shí)施為軟件和/或硬件,并且可以包括一個(gè)或多個(gè)軟件和/或硬件模塊,以便提供運(yùn)行前對(duì)象模型映射和數(shù)據(jù)服務(wù)的運(yùn)行時(shí)轉(zhuǎn)換。模型映射現(xiàn)在轉(zhuǎn)向圖3A-3B,圖3A-3B示出了由OGA進(jìn)行的從GenIL兼容格式302(這里,以先進(jìn)的業(yè)務(wù)應(yīng)用程序(ABAP)語(yǔ)言)到OData兼容模型304(這里,以如由頭標(biāo)“<?xmlversion=“1.0”encoding=“utf-8”?>”所示的XML)的對(duì)象模型(例如,上述的對(duì)象模型ProductSeller)的運(yùn)行前映射的示例300。例如,如果在運(yùn)行特定客戶(hù)端140之前請(qǐng)求查看和/或編輯ProductSeller業(yè)務(wù)對(duì)象模型115,則OGA將把從存儲(chǔ)器107檢索到的GenIL兼容模型302轉(zhuǎn)換為OData兼容模型304以便發(fā)送到特定客戶(hù)端140。在示例轉(zhuǎn)換中,將GenIL兼容模型302“根(Root)”對(duì)象映射到OData兼容XML“實(shí)體類(lèi)型(EntityType)”306b。同樣,將GenIL兼容“聚合(Aggregation)”關(guān)系308a映射到OData兼容XML“聯(lián)合(Association)”308b。對(duì)普通技術(shù)人員明顯的將是,除了所示的示例外,存在多個(gè)可能的映射。在一些實(shí)施中,映射是自動(dòng)完成的,而在其他實(shí)施中,客戶(hù)端140可以通過(guò)GUI的輸入來(lái)要求完成映射。在一些實(shí)施中,映射可以是雙向的。在一些實(shí)施中,GenIL兼容模型302和/或OData兼容模型304可以預(yù)處理和/或后處理模型格式之間的映射的一部分。運(yùn)行時(shí)數(shù)據(jù)轉(zhuǎn)換一旦已經(jīng)由OGA完成對(duì)象模型映射,在高層次上,客戶(hù)端104對(duì)與所映射的對(duì)象模型相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)的請(qǐng)求將從存儲(chǔ)器107中請(qǐng)求,由OGA將該數(shù)據(jù)從GenIL格式(例如,ABAP)轉(zhuǎn)換為OData兼容格式(例如,XML)并返回到客戶(hù)端140。例如,如果特定客戶(hù)端140請(qǐng)求名稱(chēng)=“XYZ公司”的賬戶(hù)在1月1日至3月31日之間的所有訂單,則由OGA向存儲(chǔ)器107生成請(qǐng)求以檢索與映射的數(shù)據(jù)模型304相對(duì)應(yīng)的適用的運(yùn)行時(shí)數(shù)據(jù)。如果存在,則將返回的運(yùn)行時(shí)數(shù)據(jù)從GenIL兼容格式轉(zhuǎn)換為OData兼容格式并返回到客戶(hù)端140。在一些實(shí)施中,轉(zhuǎn)換是自動(dòng)完成的,而在其他實(shí)施中,客戶(hù)端140可以通過(guò)GUI的輸入來(lái)要求完成轉(zhuǎn)換。在一些實(shí)施中,轉(zhuǎn)換可以是雙向的。在一些實(shí)施中,GenIL兼容運(yùn)行時(shí)數(shù)據(jù)和/或OData兼容運(yùn)行時(shí)數(shù)據(jù)可以預(yù)處理和/或后處理轉(zhuǎn)換的一部分。在一些實(shí)施中,可以在數(shù)據(jù)模型映射之前或者在沒(méi)有數(shù)據(jù)模型映射的情況下請(qǐng)求并轉(zhuǎn)換運(yùn)行時(shí)數(shù)據(jù)。在一些實(shí)施中,根據(jù)運(yùn)行時(shí)數(shù)據(jù)是否與根對(duì)象或相關(guān)對(duì)象相關(guān)聯(lián)和/或是否請(qǐng)求了單個(gè)或多個(gè)數(shù)據(jù)集,運(yùn)行時(shí)數(shù)據(jù)的請(qǐng)求和/或處理可以是不同的。在一些實(shí)施中,取決于特定客戶(hù)端140GUI動(dòng)作(例如,按壓GUI按鈕、選擇菜單項(xiàng)、生成導(dǎo)航請(qǐng)求等)和/或客戶(hù)端140GUI動(dòng)作是否調(diào)用方法和/或生成查詢(xún)/動(dòng)態(tài)查詢(xún),由客戶(hù)端140的GUI動(dòng)作生成的運(yùn)行時(shí)數(shù)據(jù)的OData請(qǐng)求和/或處理可以是不同的。在示例分布式計(jì)算系統(tǒng)100內(nèi)OGA可以以各種方式實(shí)施。在一個(gè)實(shí)施中,OGA可以并入網(wǎng)關(guān)服務(wù)器160。在另一個(gè)實(shí)施中,OGA可以并入業(yè)務(wù)套件服務(wù)器102。并入網(wǎng)關(guān)服務(wù)器的OData-GenIL適配器移動(dòng)計(jì)算平臺(tái)可以通過(guò)網(wǎng)關(guān)服務(wù)器160訪問(wèn)業(yè)務(wù)套件服務(wù)器102。網(wǎng)關(guān)服務(wù)器160提供了定義的API并且用作客戶(hù)端140和業(yè)務(wù)套件服務(wù)器102之間的接口/網(wǎng)關(guān)。在一些實(shí)施中,網(wǎng)關(guān)服務(wù)器160可以通過(guò)超文本傳輸協(xié)議(HTTP)或超文本傳輸協(xié)議安全(HTTPS)請(qǐng)求與客戶(hù)端140通信。在一些實(shí)施中,網(wǎng)關(guān)服務(wù)器可以使用遠(yuǎn)程函數(shù)調(diào)用(RFC)接口與ABAP和/或非ABAP程序通信。在一些實(shí)施中,網(wǎng)關(guān)服務(wù)器160可以是獨(dú)立的。在一些實(shí)施中,網(wǎng)關(guān)服務(wù)器160可以并入示例分布式計(jì)算系統(tǒng)100的任何組件。在一些實(shí)施中,網(wǎng)關(guān)服務(wù)器可以是硬件服務(wù)器、軟件服務(wù)器、和/或虛擬服務(wù)器。在一些實(shí)施中,網(wǎng)關(guān)服務(wù)器160可以是網(wǎng)絡(luò)服務(wù)器、流媒體服務(wù)器、RSS服務(wù)器、或其他合適的服務(wù)器的一部分?,F(xiàn)在轉(zhuǎn)向圖4,圖4是示出具有并入網(wǎng)關(guān)服務(wù)器160的OGA402的、更新的客戶(hù)端GUI多層架構(gòu)的框圖400。在高層次上,網(wǎng)關(guān)服務(wù)器160從客戶(hù)端140接收OData兼容請(qǐng)求,并且網(wǎng)關(guān)服務(wù)器160使用OGA402將OData兼容請(qǐng)求轉(zhuǎn)換為GenIL兼容請(qǐng)求并且使用GenIL113將請(qǐng)求傳遞給BOL110。BOL110響應(yīng)于來(lái)自GenIL113的OData請(qǐng)求而接收數(shù)據(jù)并且發(fā)送到OGA402。OGA402將接收到的數(shù)據(jù)轉(zhuǎn)換為OData兼容數(shù)據(jù)。網(wǎng)關(guān)服務(wù)器160將轉(zhuǎn)換后的OData兼容數(shù)據(jù)發(fā)送到客戶(hù)端140。雖然圖4示出OGA402與網(wǎng)關(guān)服務(wù)器160整合,但是在可替換的實(shí)施中,OGA402的全部或部分可以實(shí)施在示例分布式計(jì)算系統(tǒng)100的其他組件中,或者OGA402可以與用作獨(dú)立組件的網(wǎng)關(guān)服務(wù)器106連接。現(xiàn)在轉(zhuǎn)向圖5,圖5是示出網(wǎng)關(guān)服務(wù)器160和并入網(wǎng)關(guān)服務(wù)器160內(nèi)的OGA402的架構(gòu)的框圖500。網(wǎng)關(guān)服務(wù)器160包括元數(shù)據(jù)組件502、運(yùn)行時(shí)組件504、以及OGA402。運(yùn)行時(shí)組件504還確定使用哪個(gè)業(yè)務(wù)內(nèi)聯(lián)附加件(busineadd-in,BADI)來(lái)從BOL110加載請(qǐng)求的對(duì)象模型。在一些實(shí)施中,BADI由客戶(hù)端提供。在其他實(shí)施中,BADI由網(wǎng)關(guān)服務(wù)器自己提供。元數(shù)據(jù)組件502管理網(wǎng)關(guān)服務(wù)器160內(nèi)的元數(shù)據(jù)502a。元數(shù)據(jù)502a描述了OData模型,其展示(expose)為OData服務(wù)文檔和OData元數(shù)據(jù)文檔。元數(shù)據(jù)502可以包含對(duì)象模型的引用。元數(shù)據(jù)基礎(chǔ)結(jié)構(gòu)502b基于元數(shù)據(jù)502a來(lái)管理對(duì)網(wǎng)關(guān)服務(wù)器160內(nèi)容的訪問(wèn)、通過(guò)匯集來(lái)自?xún)?nèi)部源和外部源的OData服務(wù)文檔和元數(shù)據(jù)文檔來(lái)展示OData服務(wù)的標(biāo)準(zhǔn)描述。服務(wù)注冊(cè)(serviceregistry)502c是存儲(chǔ)特定OData服務(wù)和特定OData服務(wù)的實(shí)際實(shí)施之間的聯(lián)系的數(shù)據(jù)存儲(chǔ)。運(yùn)行時(shí)組件504分析并處理來(lái)自客戶(hù)端140的請(qǐng)求。在一些實(shí)施中,運(yùn)行時(shí)組件504嵌入了諸如自動(dòng)記錄和追蹤、基于配置的路由、事務(wù)處理等功能。在一些實(shí)施中,使用由OData運(yùn)行時(shí)(ODataruntime)504a重用(reuse)的API,可以提供一些公共服務(wù)504c。公共服務(wù)504c的示例可以包括使得能夠基于使用收費(fèi)和推送服務(wù)通知的計(jì)量服務(wù)。OData運(yùn)行時(shí)504a包含請(qǐng)求展示OData服務(wù)的功能。通用運(yùn)行時(shí)(genericruntime)504b處理協(xié)議不可知的網(wǎng)關(guān)服務(wù)器160內(nèi)容。通用運(yùn)行時(shí)504b保持單獨(dú)請(qǐng)求之間的無(wú)狀態(tài)(stateless)并訪問(wèn)后端存儲(chǔ)器。OGA402包括GenIL506的模型提供者和GenIL508的業(yè)務(wù)數(shù)據(jù)提供者。通用GenIL模型提供者506將GenIL兼容模型變換為OData兼容模型,反之亦然。通用GenIL數(shù)據(jù)提供者508與GenIL113連接,并讀取/處理與對(duì)象模型相關(guān)聯(lián)的數(shù)據(jù)?,F(xiàn)在轉(zhuǎn)向圖6,圖6是利用并入網(wǎng)關(guān)服務(wù)器的GenIL-OData適配器將請(qǐng)求的對(duì)象模型從GenIL兼容格式映射到OData兼容格式的流程圖600。為了清晰表達(dá),以下說(shuō)明通常在圖1、4和5的上下文中描述方法600。然而,將會(huì)理解的是,根據(jù)需要,方法600例如可以通過(guò)任何其他合適的系統(tǒng)、環(huán)境、軟件、硬件、或系統(tǒng)、環(huán)境、軟件、硬件的結(jié)合來(lái)執(zhí)行。例如,一個(gè)或多個(gè)業(yè)務(wù)套件服務(wù)器、客戶(hù)端、或其他計(jì)算設(shè)備(未示出)可以用于執(zhí)行方法600,并從客戶(hù)端、業(yè)務(wù)套件服務(wù)器、或其他計(jì)算設(shè)備(未示出)的存儲(chǔ)器獲得任何數(shù)據(jù)。在602,由客戶(hù)端向網(wǎng)關(guān)服務(wù)器做出請(qǐng)求對(duì)象模型的OData兼容請(qǐng)求。方法600從602前進(jìn)到604。在604,網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件接收客戶(hù)端發(fā)起的OData兼容請(qǐng)求。元數(shù)據(jù)組件確定GenIL的適當(dāng)模型數(shù)據(jù)提供者,并且并將請(qǐng)求委托(delegate)給該模型數(shù)據(jù)提供者。在一些實(shí)施中,GenIL的模型數(shù)據(jù)提供者可以是BADI。所確定的BADI從OGA請(qǐng)求客戶(hù)端所請(qǐng)求的對(duì)象模型。方法600從604前進(jìn)到606。在606,OGA接收BADI發(fā)起的、對(duì)客戶(hù)端所請(qǐng)求的對(duì)象模型的請(qǐng)求。OGA確定客戶(hù)端所請(qǐng)求的對(duì)象模型并確定業(yè)務(wù)套件后端存儲(chǔ)器處的客戶(hù)端所請(qǐng)求的對(duì)象模型的位置。OGA利用GenIL兼容請(qǐng)求從GenIL請(qǐng)求客戶(hù)端所請(qǐng)求的對(duì)象模型。方法600從606前進(jìn)到608。在608,GenIL接收OGA發(fā)起的、對(duì)客戶(hù)端所請(qǐng)求的對(duì)象模型的請(qǐng)求。GenIL從業(yè)務(wù)套件服務(wù)器后端存儲(chǔ)器加載對(duì)象模型。GenIL將所加載的對(duì)象模型發(fā)送到OGA。方法600從608前進(jìn)到610。在610,OGA從GenIL接收GenIL加載的對(duì)象模型。OGA將接收到的對(duì)象模型轉(zhuǎn)換為OData并且將該OData發(fā)送到網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件。方法600從610前進(jìn)到612。在612,網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件從OGA接收OGA所轉(zhuǎn)換的OData。網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件根據(jù)所接收到的OData構(gòu)造OData兼容模型。方法600從612前進(jìn)到614。在614,網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件利用所構(gòu)造的OData兼容模型來(lái)呈現(xiàn)OData兼容響應(yīng)。元數(shù)據(jù)組件將所呈現(xiàn)的OData兼容響應(yīng)發(fā)送到客戶(hù)端。方法600從614前進(jìn)到616。在616,客戶(hù)端接收元數(shù)據(jù)組件所呈現(xiàn)的OData響應(yīng),其包含所構(gòu)造的OData對(duì)象模型。客戶(hù)端處理所接收到的OData響應(yīng)。在616之后,方法600停止?,F(xiàn)在參照?qǐng)D7,圖7是利用并入網(wǎng)關(guān)服務(wù)器的GenIL-OData適配器對(duì)與從GenIL兼容格式映射到OData兼容格式的對(duì)象模型相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)進(jìn)行轉(zhuǎn)換的流程圖700。為了清晰表達(dá),以下說(shuō)明通常在圖1、4和5的上下文中描述方法700。然而,將理解的是,根據(jù)需要,方法700例如可以通過(guò)任何其他合適的系統(tǒng)、環(huán)境、軟件、硬件、或系統(tǒng)、環(huán)境、軟件、硬件的結(jié)合來(lái)執(zhí)行。例如,一個(gè)或多個(gè)業(yè)務(wù)套件服務(wù)器、客戶(hù)端、或其他計(jì)算設(shè)備(未示出)可以用于執(zhí)行方法700,并從客戶(hù)端、業(yè)務(wù)套件服務(wù)器、或其他計(jì)算設(shè)備(未示出)的存儲(chǔ)器獲得任何數(shù)據(jù)。在702,由客戶(hù)端向網(wǎng)關(guān)服務(wù)器做出請(qǐng)求與對(duì)象模型相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)的OData兼容請(qǐng)求。方法700從702前進(jìn)到704。在704,網(wǎng)關(guān)服務(wù)器的運(yùn)行時(shí)組件接收客戶(hù)端發(fā)起的OData兼容請(qǐng)求。運(yùn)行時(shí)組件確定GenIL的適當(dāng)運(yùn)行時(shí)數(shù)據(jù)提供者,并且并將請(qǐng)求委托給該運(yùn)行時(shí)數(shù)據(jù)提供者。在一些實(shí)施中,GenIL的運(yùn)行時(shí)數(shù)據(jù)提供者可以是BADI。所確定的運(yùn)行時(shí)數(shù)據(jù)提供者從OGA請(qǐng)求客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)。方法700從704前進(jìn)到706。在706,OGA接收BADI所發(fā)起的、對(duì)客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)的請(qǐng)求。OGA確定客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)并確定業(yè)務(wù)套件后端存儲(chǔ)器處的客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)的位置。OGA利用GenIL兼容請(qǐng)求從GenIL請(qǐng)求客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)。方法700從706前進(jìn)到708。在708,GenIL接收OGA發(fā)起的、對(duì)客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)的請(qǐng)求。GenIL從業(yè)務(wù)套件服務(wù)器后端存儲(chǔ)器加載運(yùn)行時(shí)數(shù)據(jù)。GenIL將所加載的運(yùn)行時(shí)數(shù)據(jù)發(fā)送到OGA。方法700從708前進(jìn)到710。在710,OGA從GenIL接收GenIL所加載的運(yùn)行時(shí)數(shù)據(jù)。OGA將接收到的運(yùn)行時(shí)數(shù)據(jù)轉(zhuǎn)換為OData并且將該OData發(fā)送到網(wǎng)關(guān)服務(wù)器的運(yùn)行時(shí)組件。方法700從710前進(jìn)到712。在712,網(wǎng)關(guān)服務(wù)器的運(yùn)行時(shí)組件利用所構(gòu)造的OData兼容模型來(lái)呈現(xiàn)OData兼容響應(yīng)。運(yùn)行時(shí)組件將所呈現(xiàn)的OData兼容響應(yīng)發(fā)送到客戶(hù)端。方法700從712前進(jìn)到714。在714,客戶(hù)端接收運(yùn)行時(shí)組件所呈現(xiàn)的OData響應(yīng),其包含OData運(yùn)行時(shí)數(shù)據(jù)。客戶(hù)端處理接收到的OData響應(yīng)。在714之后,方法700停止。并入業(yè)務(wù)套件服務(wù)器的OData-GenIL適配器現(xiàn)在轉(zhuǎn)向圖8,圖8是示出具有并入業(yè)務(wù)套件服務(wù)器102的OGA402的、更新的客戶(hù)端GUI多層架構(gòu)的框圖800。在高層次上,網(wǎng)關(guān)服務(wù)器160從客戶(hù)端140接收OData兼容請(qǐng)求,并且將OData兼容請(qǐng)求發(fā)送到BOL110。OGA402將OData兼容請(qǐng)求轉(zhuǎn)換為GenIL兼容請(qǐng)求并且將該請(qǐng)求傳遞給BOL110。BOL110響應(yīng)于來(lái)自GenIL113的OData請(qǐng)求而接收數(shù)據(jù)并且將接收到的數(shù)據(jù)發(fā)送到OGA402。OGA402將接收到的數(shù)據(jù)轉(zhuǎn)換為OData兼容數(shù)據(jù)。將OData兼容數(shù)據(jù)發(fā)送到網(wǎng)關(guān)服務(wù)器160,并且從網(wǎng)關(guān)服務(wù)器160發(fā)送到客戶(hù)端140。雖然圖8示出了OGA402與業(yè)務(wù)套件服務(wù)器102整合,但是在可替換的實(shí)施中,OGA402的全部或部分可以實(shí)施在示例分布式計(jì)算系統(tǒng)100的其他組件中,或者OGA402可以與用作獨(dú)立組件的業(yè)務(wù)套件服務(wù)器102連接?,F(xiàn)在轉(zhuǎn)向圖9,圖9是示出業(yè)務(wù)套件服務(wù)器102和并入業(yè)務(wù)套件服務(wù)器102內(nèi)的、如虛線(xiàn)202內(nèi)所示的OGA402的架構(gòu)的框圖900。OGA402包括網(wǎng)關(guān)服務(wù)器啟動(dòng)工具902、網(wǎng)關(guān)GenIL模型分析器904、GenIL模型提供者906、以及通用GenIL數(shù)據(jù)提供者908。網(wǎng)關(guān)服務(wù)器啟動(dòng)工具902讀取GenIL兼容/OData兼容模型信息、使用網(wǎng)關(guān)GenIL模型分析器904來(lái)分析所讀取的信息、并分別生成相應(yīng)的OData兼容/GenIL兼容模型。GenIL模型提供者906將GenIL兼容模型變換為OData兼容模型,反之亦然。通用GenIL數(shù)據(jù)提供者908與GenIL113連接,并且讀取/處理與對(duì)象模型相關(guān)聯(lián)的數(shù)據(jù)。OData信道外加附加件(add-on)910是網(wǎng)關(guān)服務(wù)器160外加附加件,其用于啟動(dòng)后端存儲(chǔ)器并提供允許OData信道開(kāi)發(fā)?,F(xiàn)在轉(zhuǎn)向圖10,圖10是利用并入業(yè)務(wù)套件服務(wù)器的GenIL-OData適配器將請(qǐng)求的對(duì)象模型從GenIL兼容格式映射到OData兼容格式的流程圖1000。為了清晰表達(dá),以下說(shuō)明通常在圖1、8和9的上下文中描述方法1000。然而,將理解的是,根據(jù)需要,方法1000例如可以通過(guò)任何其他合適的系統(tǒng)、環(huán)境、軟件、硬件、或系統(tǒng)、環(huán)境、軟件、硬件的結(jié)合來(lái)執(zhí)行。例如,一個(gè)或多個(gè)業(yè)務(wù)套件服務(wù)器、客戶(hù)端、或其他計(jì)算設(shè)備(未示出)可以用于執(zhí)行方法1000,并從客戶(hù)端、業(yè)務(wù)套件服務(wù)器、或其他計(jì)算設(shè)備(未示出)的存儲(chǔ)器獲得任何數(shù)據(jù)。在1002,由客戶(hù)端向網(wǎng)關(guān)服務(wù)器做出請(qǐng)求對(duì)象模型的OData兼容請(qǐng)求。方法1000從1002前進(jìn)到1004。在1004,網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件接收客戶(hù)端發(fā)起的OData兼容請(qǐng)求。元數(shù)據(jù)組件確定GenIL的適當(dāng)模型數(shù)據(jù)提供者,并且并將請(qǐng)求委托給該模型數(shù)據(jù)提供者。在一些實(shí)施中,GenIL的模型數(shù)據(jù)提供者可以是BADI。確定的BADI從OData信道外加附加件請(qǐng)求客戶(hù)端所請(qǐng)求的對(duì)象模型。方法1000從1004前進(jìn)到1006。在1006,OData信道外加附加件接收BADI發(fā)起的、對(duì)客戶(hù)端所請(qǐng)求的對(duì)象模型的請(qǐng)求并將該請(qǐng)求轉(zhuǎn)發(fā)到OGA。方法1000從1006前進(jìn)到1008。在1008,OGA確定客戶(hù)端所請(qǐng)求的對(duì)象模型并確定業(yè)務(wù)套件后端存儲(chǔ)器處的客戶(hù)端所請(qǐng)求的對(duì)象模型的位置。OGA利用GenIL兼容請(qǐng)求從GenIL請(qǐng)求客戶(hù)端所請(qǐng)求的對(duì)象模型。方法1000從1008前進(jìn)到1010。在1010,GenIL接收OGA發(fā)起的、對(duì)客戶(hù)端所請(qǐng)求的對(duì)象模型的請(qǐng)求。GenIL從業(yè)務(wù)套件服務(wù)器后端存儲(chǔ)器加載對(duì)象模型。GenIL將所加載的對(duì)象模型發(fā)送到OGA。方法1000從1010前進(jìn)到1012。在1012,OGA從GenIL接收GenIL所加載的對(duì)象模型。OGA將接收到的對(duì)象模型轉(zhuǎn)換為OData并且將該OData發(fā)送到OData信道外加附加件。方法1000從1012前進(jìn)到1014。在1014,OData信道外加附加件將OData發(fā)送到網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件。方法1000從1014前進(jìn)到1016。在1016,網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件從OData信道外加附加件接收OGA所轉(zhuǎn)換的OData。網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件根據(jù)接收到的OData構(gòu)造OData兼容模型??蛻?hù)端處理接收到的OData響應(yīng)。方法1000從1016前進(jìn)到1018。在1018,網(wǎng)關(guān)服務(wù)器的元數(shù)據(jù)組件利用所構(gòu)造的OData兼容模型來(lái)呈現(xiàn)OData兼容響應(yīng)。元數(shù)據(jù)組件將所呈現(xiàn)的OData兼容響應(yīng)發(fā)送到客戶(hù)端。方法1000從1018前進(jìn)到1020。在1020,客戶(hù)端接收元數(shù)據(jù)組件所呈現(xiàn)的OData響應(yīng),其包含所構(gòu)造的OData對(duì)象模型??蛻?hù)端處理接收到的OData響應(yīng)。在1016之后,方法1000停止?,F(xiàn)在參照?qǐng)D11,圖11是利用并入業(yè)務(wù)套件服務(wù)器的GenIL-OData適配器對(duì)與從GenIL兼容格式映射到OData兼容格式的對(duì)象模型相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)進(jìn)行轉(zhuǎn)換的流程圖1100。為了清晰表達(dá),以下說(shuō)明通常在圖1、8和9的上下文中描述方法1100。然而,將理解的是,根據(jù)需要,方法1100例如可以通過(guò)任何其他合適的系統(tǒng)、環(huán)境、軟件、硬件、或系統(tǒng)、環(huán)境、軟件、硬件的結(jié)合來(lái)執(zhí)行。例如,一個(gè)或多個(gè)業(yè)務(wù)套件服務(wù)器、客戶(hù)端、或其他計(jì)算設(shè)備(未示出)可以用于執(zhí)行方法1100,并從客戶(hù)端、業(yè)務(wù)套件服務(wù)器、或其他計(jì)算設(shè)備(未示出)的存儲(chǔ)器獲得任何數(shù)據(jù)。在1102,由客戶(hù)端向網(wǎng)關(guān)服務(wù)器做出請(qǐng)求與對(duì)象模型相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)的OData兼容請(qǐng)求。方法1100從1102前進(jìn)到1104。在1104,網(wǎng)關(guān)服務(wù)器的運(yùn)行時(shí)組件接收客戶(hù)端所發(fā)起的OData兼容請(qǐng)求。運(yùn)行時(shí)組件確定GenIL的適當(dāng)運(yùn)行時(shí)數(shù)據(jù)提供者,并且并將請(qǐng)求委托給該運(yùn)行時(shí)數(shù)據(jù)提供者。在一些實(shí)施中,GenIL的運(yùn)行時(shí)數(shù)據(jù)提供者可以是BADI。所確定的運(yùn)行時(shí)數(shù)據(jù)提供者從OData信道外加附加件請(qǐng)求客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)。方法1100從1104前進(jìn)到1106。在1106,OData信道外加附加件從網(wǎng)關(guān)服務(wù)器運(yùn)行時(shí)組件接收BADI所發(fā)起的、對(duì)客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)的請(qǐng)求。OData信道外加附加件將該請(qǐng)求委托給OGA。方法1100從1106前進(jìn)到1108。在1108,OGA確定客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)并確定業(yè)務(wù)套件后端存儲(chǔ)器處的客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)的位置。OGA利用GenIL兼容請(qǐng)求從GenIL請(qǐng)求客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)。方法1100從1108前進(jìn)到1110。在1110,GenIL接收OGA所發(fā)起的、對(duì)客戶(hù)端所請(qǐng)求的運(yùn)行時(shí)數(shù)據(jù)的請(qǐng)求。GenIL從業(yè)務(wù)套件服務(wù)器后端存儲(chǔ)器加載該運(yùn)行時(shí)數(shù)據(jù)。GenIL將所加載的運(yùn)行時(shí)數(shù)據(jù)發(fā)送到OGA。方法1100從1110前進(jìn)到1112。在1112,OGA從GenIL接收GenIL所加載的運(yùn)行時(shí)數(shù)據(jù)。OGA將接收到的運(yùn)行時(shí)數(shù)據(jù)轉(zhuǎn)換為OData并且將該OData發(fā)送到OData信道外加附加件。方法1100從1112前進(jìn)到1114。在1114,OData信道外加附加件將OData返回到網(wǎng)關(guān)服務(wù)器的運(yùn)行時(shí)組件。方法1100從1114前進(jìn)到1116。在1116,網(wǎng)關(guān)服務(wù)器的運(yùn)行時(shí)組件利用所構(gòu)造的OData兼容模型來(lái)呈現(xiàn)OData兼容響應(yīng)。運(yùn)行時(shí)組件將所呈現(xiàn)的OData兼容響應(yīng)發(fā)送到客戶(hù)端。方法1100從1116前進(jìn)到1118。在1118,客戶(hù)端接收運(yùn)行時(shí)組件所呈現(xiàn)的OData響應(yīng),其包含OData運(yùn)行時(shí)數(shù)據(jù)。客戶(hù)端處理接收到的OData響應(yīng)。在1118之后,方法1100停止。返回圖1,所示出的示例分布式計(jì)算系統(tǒng)100還包括客戶(hù)端140、或多個(gè)客戶(hù)端140??蛻?hù)端140可以是可操作以使用有線(xiàn)或無(wú)線(xiàn)連接經(jīng)由網(wǎng)絡(luò)130連接到或者與至少業(yè)務(wù)套件服務(wù)器120通信的任何計(jì)算設(shè)備。一般情況下,客戶(hù)端140包括可操作以接收、發(fā)送、處理、和存儲(chǔ)與示例分布式計(jì)算系統(tǒng)100相關(guān)聯(lián)的任何適當(dāng)數(shù)據(jù)的電子計(jì)算機(jī)設(shè)備。所示出的客戶(hù)端140還包括客戶(hù)端應(yīng)用146??蛻?hù)端應(yīng)用146是允許客戶(hù)端140請(qǐng)求并查看客戶(hù)端140上的內(nèi)容的任何類(lèi)型的應(yīng)用。在一些實(shí)施中,客戶(hù)端應(yīng)用146可以是和/或包括網(wǎng)絡(luò)瀏覽器。在一些實(shí)施中,客戶(hù)端應(yīng)用146可以使用在啟動(dòng)(launch)時(shí)接收到的參數(shù)、元數(shù)據(jù)和其他信息從服務(wù)器102訪問(wèn)特定的一組數(shù)據(jù)。當(dāng)啟動(dòng)特定客戶(hù)端應(yīng)用146時(shí),用戶(hù)可以交互式地處理與業(yè)務(wù)套件服務(wù)器102相關(guān)聯(lián)的任務(wù)、事件或其他信息。此外,雖然示出為單一客戶(hù)端應(yīng)用146,但是客戶(hù)端應(yīng)用146可以實(shí)施為客戶(hù)端140中的多個(gè)客戶(hù)端應(yīng)用。所示出的客戶(hù)端140還包括接口152、處理器144、和存儲(chǔ)器148??蛻?hù)端140使用接口152與連接到網(wǎng)絡(luò)130的分布式環(huán)境(包括在示例分布式計(jì)算系統(tǒng)100內(nèi))中的其他系統(tǒng)通信;例如,業(yè)務(wù)套件服務(wù)器102、以及以通信方式耦接到網(wǎng)絡(luò)130的其他系統(tǒng)(未示出)。一般地,接口152包括在軟件和/或硬件中以合適的組合編碼的邏輯,并且可操作以與網(wǎng)絡(luò)130通信。更具體地,接口152可以包括支持與通信相關(guān)聯(lián)的一個(gè)或多個(gè)通信協(xié)議的軟件,從而網(wǎng)絡(luò)130或者接口的硬件可操作以在示例分布式計(jì)算系統(tǒng)100的內(nèi)部和外部傳遞物理信號(hào)。如圖1所示,客戶(hù)端140包括處理器144。雖然在圖1中示出為單一處理器144,但是根據(jù)示例分布式計(jì)算系統(tǒng)100的特定需要、期望、或特定實(shí)施,可以使用兩個(gè)或更多個(gè)處理器。每個(gè)處理器144可以是中央處理單元(CPU)、刀片處理器(blade)、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、或其他合適的組件。一般地,處理器144運(yùn)行指令并處理數(shù)據(jù)以執(zhí)行客戶(hù)端140的操作。具體地,處理器144運(yùn)行要求向業(yè)務(wù)套件服務(wù)器102發(fā)送請(qǐng)求、以及接收并處理來(lái)自業(yè)務(wù)套件服務(wù)器102的響應(yīng)的功能。此外,所示出的客戶(hù)端140包括GUI142。出于任何合適的目的(包括生成網(wǎng)絡(luò)瀏覽器的可視化表示),GUI142連接示例分布式計(jì)算系統(tǒng)100的至少一部分。特別地,GUI142可以用于查看和瀏覽位于業(yè)務(wù)套件服務(wù)器102內(nèi)部和外部的各種網(wǎng)頁(yè)。所示出的客戶(hù)端140還包括存儲(chǔ)器148或多個(gè)存儲(chǔ)器148。存儲(chǔ)器148可以包括任何存儲(chǔ)器或數(shù)據(jù)庫(kù)模塊,并且可以采用易失性或非易失性存儲(chǔ)器的形式,包括但不限于磁介質(zhì)、光學(xué)介質(zhì)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可刪除介質(zhì)、或任何其他合適的本地或遠(yuǎn)程存儲(chǔ)器組件。存儲(chǔ)器148可以存儲(chǔ)各種對(duì)象或數(shù)據(jù),包括緩存、類(lèi)、框架、應(yīng)用、備份數(shù)據(jù)、作業(yè)、網(wǎng)頁(yè)、網(wǎng)頁(yè)模板、數(shù)據(jù)庫(kù)表、存儲(chǔ)業(yè)務(wù)和/或動(dòng)態(tài)信息的存儲(chǔ)庫(kù)、以及任何其他適當(dāng)?shù)男畔?包括與客戶(hù)端140的用途相關(guān)聯(lián)的任何參數(shù)、變量、算法、指令、規(guī)則、約束、或引用)。此外,存儲(chǔ)器148可以包括任何其他適當(dāng)?shù)臄?shù)據(jù),諸如VPN應(yīng)用、固件日志和策略、防火墻策略、安全或訪問(wèn)日志、打印或其他報(bào)告文件、以及其他數(shù)據(jù)。可以存在與示例分布式計(jì)算系統(tǒng)100相關(guān)聯(lián)或在示例分布式計(jì)算系統(tǒng)100外部的任意數(shù)量的客戶(hù)端140。例如,雖然所示出的示例分布式計(jì)算系統(tǒng)100包括一個(gè)客戶(hù)端140,但是示例分布式計(jì)算系統(tǒng)100的可替換的實(shí)施可以包括以通信方式耦接到業(yè)務(wù)套件服務(wù)器102和/或網(wǎng)絡(luò)130的多個(gè)客戶(hù)端140,或者適合于示例分布式計(jì)算系統(tǒng)100的用途的任何其他數(shù)量的客戶(hù)端140。此外,還可以存在位于示例分布式計(jì)算系統(tǒng)100所示出的部分的外部、能夠經(jīng)由網(wǎng)絡(luò)130與示例分布式計(jì)算系統(tǒng)100連接的一個(gè)或多個(gè)附加客戶(hù)端140。此外,術(shù)語(yǔ)“客戶(hù)端”和“用戶(hù)”可以適當(dāng)?shù)亟粨Q使用而不偏離本公開(kāi)的范圍。此外,雖然按照客戶(hù)端140由單一用戶(hù)使用來(lái)描述客戶(hù)端140,但是本公開(kāi)預(yù)期,很多用戶(hù)可以使用一臺(tái)計(jì)算機(jī)或者一個(gè)用戶(hù)可以使用多臺(tái)計(jì)算機(jī)??蛻?hù)端140旨在包括任何接收設(shè)備,諸如臺(tái)式計(jì)算機(jī)、觸摸屏終端、工作站、網(wǎng)絡(luò)計(jì)算機(jī)、信息亭、無(wú)線(xiàn)數(shù)據(jù)端口、膝上型計(jì)算機(jī)/筆記本計(jì)算機(jī)、無(wú)線(xiàn)數(shù)據(jù)端口、智能電話(huà)、個(gè)人數(shù)據(jù)助理(PDA)、平板計(jì)算設(shè)備、這些設(shè)備中的一個(gè)或多個(gè)處理器、或任何其他合適的處理設(shè)備。例如,客戶(hù)端140可以包括計(jì)算機(jī),該計(jì)算機(jī)包括輸入設(shè)備和輸出設(shè)備,輸入設(shè)備諸如鍵盤(pán)、觸摸屏、或者可以接受用戶(hù)信息的其他設(shè)備,輸出設(shè)備傳達(dá)與業(yè)務(wù)套件服務(wù)器102或客戶(hù)端140本身的操作相關(guān)聯(lián)的信息,該信息包括如關(guān)于客戶(hù)端142所示的數(shù)字?jǐn)?shù)據(jù)、可視化信息、或GUI142。雖然本公開(kāi)論述了在OData和GenIL之間提供接口的適配器,但是本領(lǐng)域普通技術(shù)人員將理解,該適配器可以適于在任何合適的通信協(xié)議和/或數(shù)據(jù)格式之間提供接口而不偏離本公開(kāi)的精神。前面的附圖和伴隨的描述示出了示例過(guò)程和計(jì)算機(jī)可實(shí)施的技術(shù)。但是示例分布式計(jì)算系統(tǒng)100(或它的軟件或其他組件)考慮使用、實(shí)施或運(yùn)行用于執(zhí)行這些和其他任務(wù)的任何合適的技術(shù)??梢岳斫獾氖牵@些過(guò)程僅用于說(shuō)明性目的,而且所描述的或類(lèi)似技術(shù)可以在任何適當(dāng)時(shí)間執(zhí)行,包括并發(fā)地、單獨(dú)地、并行地或以組合方式。此外,這些過(guò)程中的許多步驟可以同時(shí)地、并發(fā)地、并行地和/或與所示的順序不同的順序發(fā)生。此外,示例分布式計(jì)算系統(tǒng)100可以使用具有額外的步驟、更少的步驟、和/或不同的步驟的過(guò)程,只要該方法保持適當(dāng)。過(guò)程步驟也可以在示例分布式計(jì)算系統(tǒng)100的各個(gè)組件上運(yùn)行,而且所描述的軟件/服務(wù)也可以在示例分布式計(jì)算系統(tǒng)100的各個(gè)組件上運(yùn)行,只要該方法保持適當(dāng)。換句話(huà)說(shuō),雖然已經(jīng)根據(jù)某些實(shí)施和一般關(guān)聯(lián)的方法描述了本公開(kāi),但是這些實(shí)施和方法的改變和置換對(duì)本領(lǐng)域普通技術(shù)人員將是明顯的。因此,示例實(shí)施的以上描述不限定或限制本公開(kāi)。在不偏離本公開(kāi)的精神和范圍的情況下,其他變化、替換和改變也是可能的。