本公開(kāi)涉及對(duì)象注冊(cè)。
背景技術(shù):
復(fù)雜軟件包通常將預(yù)定義的軟件組件提供給客戶。例如,資源規(guī)劃軟件將提供一組計(jì)算模型和業(yè)務(wù)規(guī)則以支持資源可見(jiàn)性和優(yōu)化。
計(jì)算模型是用于計(jì)算資源或資源性能指標(biāo)的供應(yīng)和需求量的數(shù)學(xué)模型。計(jì)算模型由應(yīng)用功能建模器組件生成并處理。在一個(gè)實(shí)施例中,計(jì)算模型被定義為對(duì)數(shù)據(jù)流進(jìn)行建模的流程圖。例如,數(shù)據(jù)流可包含來(lái)自目錄(例如,來(lái)自數(shù)據(jù)庫(kù))的表、視圖和過(guò)程;諸如投影、過(guò)濾、聯(lián)合和聯(lián)接的關(guān)系運(yùn)算符;內(nèi)置功能以及屬性視圖和計(jì)算視圖開(kāi)發(fā)對(duì)象等。
業(yè)務(wù)規(guī)則描述了對(duì)業(yè)務(wù)行為的約束。業(yè)務(wù)規(guī)則代表每個(gè)組織的核心業(yè)務(wù)邏輯;它們指導(dǎo)并控制形成任何業(yè)務(wù)事務(wù)的主干的基本業(yè)務(wù)流程,設(shè)置需要跨業(yè)務(wù)活動(dòng)一致應(yīng)用的標(biāo)準(zhǔn)業(yè)務(wù)實(shí)踐或策略。業(yè)務(wù)規(guī)則的實(shí)例包括“貸款產(chǎn)品資格指南”、“產(chǎn)品配置規(guī)則”等。業(yè)務(wù)規(guī)則由規(guī)則框架組件處理。
然而,由于給定客戶的實(shí)際資源使用將不同于嵌入預(yù)定義的軟件組件中的假設(shè),所以計(jì)算模型和業(yè)務(wù)規(guī)則通常不足或次優(yōu)。通常,業(yè)務(wù)用戶想要定制預(yù)定義的計(jì)算模型和業(yè)務(wù)規(guī)則,或者創(chuàng)建自己的計(jì)算模型和業(yè)務(wù)規(guī)則。然而,將用戶定義的計(jì)算模型和業(yè)務(wù)規(guī)則集成到資源規(guī)劃軟件中已證明具有挑戰(zhàn)性。
因此,需要一種解決上述挑戰(zhàn)的改進(jìn)框架。
技術(shù)實(shí)現(xiàn)要素:
公開(kāi)了一種用于對(duì)象注冊(cè),特別是用于注冊(cè)并執(zhí)行計(jì)算模型和業(yè)務(wù)規(guī)則的框架。在一個(gè)實(shí)施例中,元數(shù)據(jù)定義和輸入/輸出應(yīng)用程序界面(api)定義統(tǒng)一約定,當(dāng)遵循定制的計(jì)算模型或業(yè)務(wù)規(guī)則時(shí),該統(tǒng)一約定允許預(yù)定義以及定制計(jì)算模型和業(yè)務(wù)規(guī)則的透明執(zhí)行。在一個(gè)實(shí)施例中,向存儲(chǔ)的過(guò)程和元數(shù)據(jù)表注冊(cè)定制計(jì)算模型。在另一實(shí)施例中,向存儲(chǔ)的過(guò)程和類型信息注冊(cè)業(yè)務(wù)規(guī)則。通過(guò)遵循統(tǒng)一約定,初始處理由預(yù)定義的計(jì)算模型或業(yè)務(wù)規(guī)則啟用,而后續(xù)處理由定制計(jì)算模型或業(yè)務(wù)規(guī)則無(wú)縫地啟用。
在一個(gè)實(shí)施例中,統(tǒng)一約定包括語(yǔ)義信息、索引信息、流圖布局信息和標(biāo)識(shí)信息中的一個(gè)或多個(gè)。在一個(gè)實(shí)施例中,集成工作臺(tái)使得預(yù)定義和定制的“計(jì)算模型”和“業(yè)務(wù)規(guī)則”能夠一起無(wú)縫地工作。
雖然以下討論通常涉及計(jì)算模型和業(yè)務(wù)規(guī)則的注冊(cè),但是本領(lǐng)域的普通技術(shù)人員將認(rèn)識(shí)到這些僅僅是分布在資源規(guī)劃軟件包中的兩種類型的可定制軟件組件,并且類似地設(shè)想包含一個(gè)或多個(gè)統(tǒng)一約定的其它類型的可定制軟件組件。同樣,雖然資源規(guī)劃軟件經(jīng)常用作本文檔中的實(shí)例,但是類似地設(shè)想包含用戶可定制軟件組件的其它類型的復(fù)雜軟件。
通過(guò)將在下文中變得顯而易見(jiàn)的這些和其它優(yōu)點(diǎn)和特征,可通過(guò)參考以下詳細(xì)描述和所附權(quán)利要求以及附圖獲得進(jìn)一步信息。
附圖說(shuō)明
在附圖中示出了一些實(shí)施例,其中相同的附圖標(biāo)記表示相同的部件,并且其中:
圖1是示出示例性體系結(jié)構(gòu)的框圖;
圖2示出用于選擇定制計(jì)算模塊和定制業(yè)務(wù)規(guī)則的示例性用戶界面;和
圖3是示出對(duì)象注冊(cè)的一個(gè)實(shí)施例的流程圖。
具體實(shí)施方式
在下面描述中,為了解釋的目的,闡述了具體的數(shù)字、材料和配置,以便提供對(duì)本框架和方法的透徹理解并且以便滿足法定的書(shū)面描述、實(shí)現(xiàn)和最佳模式要求。然而,對(duì)于本領(lǐng)域技術(shù)人員顯而易見(jiàn)的是,本框架和方法可在沒(méi)有具體示例性細(xì)節(jié)的情況下實(shí)施。在其它實(shí)例中,省略或簡(jiǎn)化了公知的特征以闡明本框架和方法的示例性實(shí)現(xiàn)的描述,并且因此更好地解釋本框架和方法。此外,為了易于理解,將某些方法步驟描述為單獨(dú)步驟;然而,這些單獨(dú)描述的步驟不應(yīng)被解釋為在依賴于其性能的必然順序。
圖1是示出可用于實(shí)現(xiàn)本文所描述的對(duì)象注冊(cè)的示例性體系結(jié)構(gòu)100的框圖。一般而言,體系結(jié)構(gòu)100可包括對(duì)象注冊(cè)系統(tǒng)102和數(shù)據(jù)倉(cāng)庫(kù)116。
對(duì)象注冊(cè)系統(tǒng)102可以是能夠以已定義的方式對(duì)應(yīng)并執(zhí)行指令的任何類型的計(jì)算裝置,諸如工作站、服務(wù)器、便攜式膝上型計(jì)算機(jī)、其他便攜式裝置、觸摸式平板計(jì)算機(jī)、智能電話、迷你計(jì)算機(jī)、大型計(jì)算機(jī)、存儲(chǔ)系統(tǒng)、專用數(shù)字設(shè)施、裝置、組件,其它設(shè)備或這些的組合。系統(tǒng)可包括中央處理單元(cpu)104、輸入/輸出(i/o)單元106、存儲(chǔ)器模塊120和用于與網(wǎng)絡(luò)(例如,局域網(wǎng)(lan)或廣域網(wǎng)(wan))交換數(shù)據(jù)的通信卡或裝置108(例如,調(diào)制解調(diào)器和/或網(wǎng)絡(luò)適配器)。應(yīng)理解,系統(tǒng)的不同組件和子組件可位于不同機(jī)器或系統(tǒng)上。存儲(chǔ)器模塊120可包括對(duì)象注冊(cè)模塊110、應(yīng)用功能建模器模塊112和規(guī)則框架模塊114。
對(duì)象注冊(cè)系統(tǒng)102可經(jīng)由網(wǎng)絡(luò)通信地耦合至一個(gè)或多個(gè)其它計(jì)算機(jī)系統(tǒng)或裝置。例如,系統(tǒng)還可通信地耦合至一個(gè)或多個(gè)數(shù)據(jù)倉(cāng)庫(kù)116。數(shù)據(jù)倉(cāng)庫(kù)116可以是例如任何數(shù)據(jù)庫(kù)(例如,關(guān)系數(shù)據(jù)庫(kù)、內(nèi)存數(shù)據(jù)庫(kù)等)。數(shù)據(jù)倉(cāng)庫(kù)116也可稱為目錄,并且可包含表、視圖、存儲(chǔ)的過(guò)程等。
對(duì)象注冊(cè)模塊110包括用于接收和處理與定義和選擇計(jì)算模型和業(yè)務(wù)規(guī)則有關(guān)的用戶輸入的邏輯。在一個(gè)實(shí)施例中,對(duì)象注冊(cè)模塊110接收用于注冊(cè)的定制計(jì)算模型,其中定制計(jì)算模型遵循由對(duì)應(yīng)預(yù)定義的計(jì)算模型定義的約定。附加地或替代地,對(duì)象注冊(cè)模型110接收用于注冊(cè)的定制業(yè)務(wù)規(guī)則,其中定制業(yè)務(wù)規(guī)則遵循由預(yù)定義的業(yè)務(wù)規(guī)則定義的約定。
應(yīng)用功能建模器模塊112包括用于顯示、編輯和生成計(jì)算模型的邏輯。計(jì)算模型的實(shí)例包括“庫(kù)存的供應(yīng)和需求”,其計(jì)算供應(yīng)和需求量,并且其示出庫(kù)存量(即,有多少追蹤的商品可用)。另一實(shí)例包括“空閑率管線”,其計(jì)算在一個(gè)時(shí)間窗口內(nèi)的庫(kù)存的消耗的空閑率。預(yù)定義的計(jì)算模型的另一實(shí)例包括“導(dǎo)入導(dǎo)出容積性能指標(biāo)管線”,其計(jì)算一個(gè)時(shí)間窗口內(nèi)的導(dǎo)入/導(dǎo)出平衡。
在一個(gè)實(shí)施例中,計(jì)算模型由流程圖定義,每個(gè)流程圖包括一個(gè)或多個(gè)節(jié)點(diǎn)。節(jié)點(diǎn)是流程圖中的功能元件。在一個(gè)實(shí)施例中,計(jì)算模型包含兩類節(jié)點(diǎn):數(shù)據(jù)提供者節(jié)點(diǎn)和數(shù)據(jù)運(yùn)算符節(jié)點(diǎn)。然而,類似地設(shè)想其它節(jié)點(diǎn)類型。
在一個(gè)實(shí)施例中,數(shù)據(jù)提供者節(jié)點(diǎn)是為計(jì)算模型提供數(shù)據(jù)的節(jié)點(diǎn)。例如,當(dāng)建模貨物流時(shí),計(jì)算模型可從返回運(yùn)輸單元(例如,返回到倉(cāng)庫(kù)的卡車、飛機(jī)、自行車)獲取作為輸入供應(yīng)數(shù)據(jù)。在這種情況下,提供該供應(yīng)數(shù)據(jù)的節(jié)點(diǎn)被視為數(shù)據(jù)提供者節(jié)點(diǎn)。數(shù)據(jù)運(yùn)算符節(jié)點(diǎn)可例如對(duì)由數(shù)據(jù)提供者節(jié)點(diǎn)提供的數(shù)據(jù)進(jìn)行操作(例如聯(lián)合、過(guò)濾和預(yù)測(cè))。每個(gè)節(jié)點(diǎn)都被綁定至運(yùn)行時(shí)對(duì)象。運(yùn)行時(shí)對(duì)象可以是存儲(chǔ)的過(guò)程、計(jì)算視圖、物理表等。
規(guī)則框架模塊114包括用于顯示、編輯和生成業(yè)務(wù)規(guī)則的邏輯。規(guī)則框架114提供一組工具,該組工具使得業(yè)務(wù)用戶和應(yīng)用開(kāi)發(fā)者能夠基于組織的數(shù)據(jù)來(lái)構(gòu)建決策邏輯。此規(guī)則引擎應(yīng)用由最終用戶定義的規(guī)則和操作。
圖2示出用于選擇定制計(jì)算模塊和定制業(yè)務(wù)規(guī)則的用戶界面200。圖2描繪在一些實(shí)施例中由對(duì)象注冊(cè)系統(tǒng)102實(shí)現(xiàn)的用戶界面202。圖2描繪菜單204,其在該實(shí)施例中顯示與規(guī)劃april_loc_plan相關(guān)的信息,該規(guī)劃april_loc_plan是由trpadm在2016年11月17日創(chuàng)建的計(jì)劃供應(yīng)和需求規(guī)劃。
圖2示出頂部菜單,其包含菜單項(xiàng):詳細(xì)信息206(當(dāng)前被選擇)、計(jì)劃208和使用地點(diǎn)210。菜單詳細(xì)信息206列出了關(guān)于april_loc_plan204的附加信息,例如位置、資源和時(shí)間過(guò)濾器。另外,詳細(xì)信息206列出了當(dāng)前與規(guī)劃相關(guān)聯(lián)的計(jì)算模塊212,例如dft_sd_cm,以及規(guī)則組214,例如dft_sd_ar_grp。通過(guò)該界面啟用終端用戶以選擇不同計(jì)算模型,包括如本文所描述的定制計(jì)算模型以及定制業(yè)務(wù)規(guī)則(這里經(jīng)由包含組成的業(yè)務(wù)規(guī)則的業(yè)務(wù)規(guī)則組214)。以這種方式,終端用戶(例如,業(yè)務(wù)用戶)能夠以最小的信息技術(shù)(it)努力遞歸地且靈活地管理和自動(dòng)操作業(yè)務(wù)決策。
圖3是示出對(duì)象注冊(cè)的一個(gè)實(shí)施例的流程圖300。過(guò)程可由對(duì)象注冊(cè)系統(tǒng)102自動(dòng)地或半自動(dòng)地進(jìn)行,如上面參考圖1所描述。
在框302中,接收定制計(jì)算模型。在一個(gè)實(shí)施例中,經(jīng)由通過(guò)終端用戶從列表中的選擇來(lái)接收定制計(jì)算模型。在一個(gè)實(shí)施例中,基于與存儲(chǔ)的過(guò)程相關(guān)聯(lián)的數(shù)據(jù)庫(kù)標(biāo)識(shí)符(id)(例如,主鍵)和與元數(shù)據(jù)表相關(guān)聯(lián)的數(shù)據(jù)庫(kù)id來(lái)注冊(cè)定制計(jì)算模型,其中存儲(chǔ)的過(guò)程和元數(shù)據(jù)表定義定制計(jì)算模型。所接收的數(shù)據(jù)庫(kù)id存儲(chǔ)在計(jì)算模型表中,例如存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)116中。在一個(gè)實(shí)施例中,計(jì)算模型是數(shù)學(xué)模型,并且被定義為流程圖。
定制計(jì)算模型遵守對(duì)應(yīng)于預(yù)定義的計(jì)算模型的約定。例如,在運(yùn)輸資源規(guī)劃的領(lǐng)域中,計(jì)算規(guī)則“庫(kù)存的供應(yīng)和需求”計(jì)算特定組織的貨物和服務(wù)的供應(yīng)和需求,并且還示出給定位置的庫(kù)存的數(shù)量。另一計(jì)算模型是“空閑率管線”,其計(jì)算過(guò)去時(shí)間窗口內(nèi)的資源的空閑率。在這里未描述的許多其它模型中,這些預(yù)定義的計(jì)算模型中的每個(gè)都可被擴(kuò)充、替換或添加至定制計(jì)算模型。
例如,終端用戶可擴(kuò)充“庫(kù)存的供應(yīng)和需求”計(jì)算模型以并入天氣信息。通過(guò)用定制計(jì)算模型替換預(yù)定義的計(jì)算模型,可實(shí)現(xiàn)更高預(yù)測(cè)精度。通過(guò)遵守預(yù)定義的計(jì)算模型的約定,定制計(jì)算模型替代預(yù)定義的計(jì)算模型是可能的。
在一個(gè)實(shí)施例中,為了符合計(jì)算模型的約定,與計(jì)算模型相關(guān)聯(lián)的每個(gè)數(shù)據(jù)提供者返回以下中的一個(gè)或多個(gè):nodeid(節(jié)點(diǎn)id)、locationid(位置id)、resourcetype(資源類型)、timeinterval(時(shí)間間隔)、outputkey(輸出鍵)和outputvalue(輸出值)。nodeid(其可以是序列號(hào)、全球唯一標(biāo)識(shí)符(guid)等)標(biāo)識(shí)輸出內(nèi)容,并且用于標(biāo)識(shí)流程圖中的節(jié)點(diǎn)。locationid指示與計(jì)算模型輸出相關(guān)聯(lián)的地理位置,例如地址、緯度和經(jīng)度坐標(biāo)等。resourcetype指示輸出內(nèi)容的類型。timeinterval指示輸出內(nèi)容應(yīng)用的日期/時(shí)間范圍。outputkey指示outputdata(輸出數(shù)據(jù))包含的數(shù)據(jù)類型。在與運(yùn)輸資源規(guī)劃相關(guān)的一個(gè)實(shí)施例中,outputkey可返回供應(yīng)、需求、庫(kù)存、速率或數(shù)量,其中在供需計(jì)算模型中使用供應(yīng)、需求和庫(kù)存,而在關(guān)鍵性能指標(biāo)(kpi)計(jì)算模型中使用速率和數(shù)量。outputvalue包含由計(jì)算模型返回的(多個(gè))實(shí)際值。
在一個(gè)實(shí)施例中,定制計(jì)算模塊可以是未注冊(cè)的。通常,在允許發(fā)生注銷之前,執(zhí)行使用檢查以確定任何其它軟件組件(例如,任何業(yè)務(wù)規(guī)則)是否依賴于計(jì)算模型。在“使用的”列表中檢查依賴性,對(duì)于對(duì)象,其保持依賴性列表的列表,例如業(yè)務(wù)規(guī)則,其保持對(duì)該對(duì)象的引用。
在框304中,接收定制業(yè)務(wù)規(guī)則。定制業(yè)務(wù)規(guī)則是用戶定義的,并且由與存儲(chǔ)的過(guò)程和類型信息相關(guān)聯(lián)的數(shù)據(jù)庫(kù)id(例如“ruletypeid”)來(lái)標(biāo)識(shí)。在另一實(shí)施例中,定制業(yè)務(wù)規(guī)則由存儲(chǔ)的過(guò)程和目的信息來(lái)標(biāo)識(shí)。
在一個(gè)實(shí)施例中,定制業(yè)務(wù)規(guī)則遵守與預(yù)定義的業(yè)務(wù)規(guī)則匹配的約定。以這種方式,定制業(yè)務(wù)規(guī)則的使用可替代預(yù)定義的業(yè)務(wù)規(guī)則。這樣,使得終端用戶能夠定制業(yè)務(wù)規(guī)則,而不會(huì)以其它方式影響系統(tǒng)處理。在一個(gè)實(shí)施例中,定制業(yè)務(wù)規(guī)則匹配與預(yù)定義的業(yè)務(wù)規(guī)則相關(guān)聯(lián)的ruletype(規(guī)則類型)、ruletypeid(規(guī)則類型id)、ruletypedescription(規(guī)則類型描述)和rulenameprefix(規(guī)則名稱前綴)。
例如,在運(yùn)輸資源規(guī)劃中,一個(gè)預(yù)定義的業(yè)務(wù)規(guī)則是供應(yīng)和需求警報(bào)規(guī)則,其用于觸發(fā)關(guān)鍵庫(kù)存、供應(yīng)和需求情況的警報(bào)。例如,一個(gè)預(yù)定義的業(yè)務(wù)規(guī)則可確定當(dāng)前的庫(kù)存量。其它預(yù)定義的業(yè)務(wù)規(guī)則可預(yù)測(cè)供應(yīng)、預(yù)測(cè)需求、標(biāo)識(shí)關(guān)鍵性能指標(biāo)數(shù)量和速率等。其它預(yù)定義的業(yè)務(wù)規(guī)則包括性能指示符規(guī)則、庫(kù)存警告規(guī)則、庫(kù)存狀態(tài)規(guī)則等。任何和所有這些預(yù)定義的業(yè)務(wù)規(guī)則可由定制業(yè)務(wù)規(guī)則擴(kuò)充或替換,只要定制業(yè)務(wù)規(guī)則遵守與預(yù)定義的業(yè)務(wù)規(guī)則相關(guān)聯(lián)的約定即可。
在一個(gè)實(shí)施例中,通過(guò)遵守約定,定制計(jì)算模型可通過(guò)業(yè)務(wù)規(guī)則可互換地使用,使得定制計(jì)算模型的輸出可用作業(yè)務(wù)規(guī)則的輸入來(lái)代替預(yù)定義的計(jì)算模型的輸出。
在一個(gè)實(shí)施例中,業(yè)務(wù)規(guī)則可被組織為業(yè)務(wù)規(guī)則組。業(yè)務(wù)規(guī)則組是在前端顯示和后端計(jì)算中被視為唯一的一組業(yè)務(wù)規(guī)則。可通過(guò)用戶界面(ui)啟用用戶來(lái)創(chuàng)建業(yè)務(wù)規(guī)則組、將業(yè)務(wù)規(guī)則組分配至業(yè)務(wù)規(guī)則組、從業(yè)務(wù)規(guī)則組中移除業(yè)務(wù)規(guī)則等。
在一個(gè)實(shí)施例中,定制計(jì)算規(guī)則可以是未注冊(cè)的。與定制計(jì)算模型類似,定制業(yè)務(wù)規(guī)則使用在“使用的”表中被跟蹤,該表可以是與跟蹤定制計(jì)算模型的“使用的”表相同或不同的表。在一個(gè)實(shí)施例中,“使用的”表可跟蹤哪些業(yè)務(wù)規(guī)則組參考給定業(yè)務(wù)規(guī)則。
由上述實(shí)施例實(shí)現(xiàn)的益處包括允許客戶定義業(yè)務(wù)規(guī)則中的哪些列更關(guān)鍵或最關(guān)鍵,或哪些列更不關(guān)鍵。附加地或替代地,使客戶能夠從業(yè)務(wù)規(guī)則中的字段范圍中刪除列。
在框306中,執(zhí)行(即,評(píng)估)定制計(jì)算模型,生成由框308消耗的輸出,其中執(zhí)行定制業(yè)務(wù)規(guī)則以生成第二輸出。在框310中,第二輸出用于確定是否進(jìn)行資源規(guī)劃操作。例如,在框310中,可重新發(fā)送、取消、擴(kuò)充或以其它方式改變傳輸資源。分銷中心可基于第二輸出來(lái)改變其操作,例如,保持、取消和/或重新定向產(chǎn)品貨物。
在框312中,過(guò)程300結(jié)束。