專利名稱:基于上下文的用戶接口、搜索和導航的制作方法
技術(shù)領(lǐng)域:
本公開涉及用于在商業(yè)過程中提供基于上下文的用戶接口、搜索和導航的軟件、 計算機系統(tǒng)和計算機實施的方法。
背景技術(shù):
應用程序、網(wǎng)頁或者電子表格可以具有允許用戶輸入供處理的信息的輸入字段。 例如,商業(yè)應用程序的用戶可能需要輸入信息以完成或者協(xié)助正由該商業(yè)應用程序執(zhí)行的商業(yè)過程的特定步驟。結(jié)合商業(yè)過程,在執(zhí)行和商業(yè)過程相關(guān)的任務的同時,用戶可能也想要額外的信息或者對外部資源的訪問。用戶可以通過在線搜索或者通過商業(yè)應用程序外部的其他方法直接獲得外部資源。但是在某些實例中,商業(yè)應用程序或者商業(yè)過程可能是針對特定環(huán)境或場景的自組織解決方案,并且通過典型的搜索方法,可能不可輕易訪問用戶針對與商業(yè)過程相關(guān)的特定任務所需類型的信息。即使用戶能夠通過例如在線搜索獲得相關(guān)信息,該信息也可能不適于和用戶相關(guān)的當前商業(yè)過程的特定上下文。而且,通過過程外部的搜索方法識別針對特定商業(yè)過程的相關(guān)信息可能是資源的低效應用。例如,在用戶執(zhí)行和商業(yè)過程相關(guān)聯(lián)的任務時,用戶可能受益于特定于具體行業(yè)或者產(chǎn)品的信息,但是通過典型的搜索方法,該信息可能不可得,或者,用戶甚至可能都不知曉對商業(yè)過程的特定步驟可能有益的那些信息的類型??赏ㄟ^用戶接口展示在商業(yè)應用程序、網(wǎng)頁或者電子表格中可用于用戶輸入的數(shù)據(jù)字段。用戶接口可以包括各種數(shù)據(jù)字段和文本。用戶接口內(nèi)的數(shù)據(jù)字段和文本可被應用程序用來標識對于輸入值的建議或者用戶可得到并與特定數(shù)據(jù)字段或者文本相關(guān)聯(lián)的額外動作。特定文本字符或者數(shù)據(jù)字段可以被標記,提供與該文本相關(guān)聯(lián)的建議鏈接或動作項目。但是,被標記字段或者字符可能不與用戶的具體上下文相關(guān)聯(lián),或者只可應用于被通常認可的單詞或者短語。此外,通過用戶接口用戶可得到的選項可能未給出找到和商業(yè)過程相關(guān)聯(lián)的相關(guān)信息或者相關(guān)過程步驟的用戶指引。換句話說,用戶接口可能不足以滿足用戶在特定商業(yè)上下文內(nèi)的需求。
發(fā)明內(nèi)容
本公開提供了用于在商業(yè)過程中提供基于上下文的用戶接口、搜索和導航的技術(shù)。一種計算機程序產(chǎn)品被編碼在有形存儲介質(zhì)上,其中,所述產(chǎn)品包含用于使得一個或多個處理器執(zhí)行操作的計算機可讀指令。這些操作可以包括在要由用戶填充的用于商業(yè)過程的電子頁面上識別數(shù)據(jù)字段和與商業(yè)過程相關(guān)聯(lián)的數(shù)據(jù)對象。數(shù)據(jù)對象中的特定數(shù)據(jù)對象字段被選擇用于額外搜索,并且基于使用所述特定數(shù)據(jù)對象字段和特定類型的數(shù)據(jù)對象的對與商業(yè)過程相關(guān)聯(lián)的額外信息的搜索,確定用于填充所述數(shù)據(jù)字段的建議輸入。雖然被一般性地描述為具體實施在有形介質(zhì)上的處理和變換相應數(shù)據(jù)的計算機實施的軟件,但是某些或者全部方面可以是計算機實施的方法或者被進一步包括在用于執(zhí)行所描述的功能的各個系統(tǒng)或者其他設(shè)備中。在附圖和下面的描述中給出了這些以及其他方面以及本公開實施例的細節(jié)。從描述和附圖以及權(quán)利要求,本公開的其他特征、目標和益處將會清晰。
圖1示出了在商業(yè)過程中實施基于上下文的用戶接口、搜索和導航的各種特征的示范性環(huán)境;圖2是使用例如圖1中描述的系統(tǒng)的適當系統(tǒng)向執(zhí)行與商業(yè)過程相關(guān)聯(lián)的任務的用戶提供建議信息的示范性過程的流程圖;圖3是使用例如圖1中描述的系統(tǒng)的適當系統(tǒng)生成所建議的基于上下文的選項的示范性過程的流程圖;圖4是與例如圖1中描述的系統(tǒng)的適當系統(tǒng)內(nèi)的商業(yè)過程相關(guān)聯(lián)的數(shù)據(jù)對象的示范性模型;和圖5是使用例如圖1中描述的系統(tǒng)的適當系統(tǒng)的具有自動搜索的基于上下文的用戶接口的示范性屏幕快照。
具體實施例方式本公開一般地描述了用于在商業(yè)過程中提供基于上下文的用戶接口、搜索和導航的計算機系統(tǒng)、軟件和計算機實施的方法。商業(yè)過程,特別是如果被作為運行于企業(yè)資源計劃(ERP)系統(tǒng)中的現(xiàn)有過程的擴展過程執(zhí)行,可以具有可被用于智能搜索、導航和自動生成鏈接的過程上下文。例如,對于任務執(zhí)行用戶接口內(nèi)的某些術(shù)語,可以自動生成建議動作的列表??梢岳米詣渔溄觼碡S富輸入數(shù)據(jù)字段、用戶輸入的文本以及靜態(tài)文本或者用戶接口的其他部分。靜態(tài)文本或者輸入字段的內(nèi)容可以利用允許去往適當用戶接口的基于上下文的導航的鏈接來突出顯示。自動或者用戶搜索功能也可以被改善,以便基于當前商業(yè)過程的上下文返回適用的搜索結(jié)果。例如,用戶接口可以為用戶提供數(shù)據(jù)字段的視覺表示,以便輸入用于向用戶顯示信息的數(shù)據(jù)以及字符串和文本。但是,用戶可能需要從數(shù)據(jù)字段或者用戶接口的文本并非顯而易見的補充信息以便在特定數(shù)據(jù)字段中輸入數(shù)據(jù)或完成電子表格。用戶也可得到用于幫助用戶理解或者處理在用戶接口中展示的信息的額外選項。通過對于特定數(shù)據(jù)字段的建議輸入值、用戶可得到的建議動作項目,或者用于把用戶連接到與用戶的當前上下文相關(guān)聯(lián)的有益過程的鏈接,經(jīng)過用戶接口可以把額外信息和選項提供給用戶。結(jié)果,可以根據(jù)涉及用戶的特定過程實例的過程上下文來豐富用戶接口。一般基于與過程實例相關(guān)聯(lián)的過程上下文的結(jié)構(gòu)和展示給用戶的額外信息和建議選項之間的語義鏈接來實施用戶接口的豐富。具體來說,每一商業(yè)過程實例與包含定義該過程實例的不同變量的過程上下文相關(guān)聯(lián)。過程上下文中的每一變量可以對應于特定的變量類型或者“商業(yè)對象類型”。變量類型可以固有地包括定義與每一變量相關(guān)聯(lián)的關(guān)系的語義信息。因此,從某些變量類型獲得的語義信息以及某些數(shù)據(jù)字段的值被用來搜索ERP 系統(tǒng)以尋找可以幫助用戶與過程實例交互的額外信息或者選項。搜索結(jié)果可用來為用戶生成額外選項,例如把上下文標記添加到用戶接口中的數(shù)據(jù)字段的單詞列表,或者對于商業(yè)過程中的某些任務的建議鏈接。
本公開的基于上下文的用戶接口、搜索和導航的一個潛在好處是用戶被提供有在特定商業(yè)環(huán)境中緊密適應于用戶的特定需要的環(huán)境。商業(yè)應用程序的用戶可以執(zhí)行與使用商業(yè)應用程序的商業(yè)過程相關(guān)聯(lián)的任務,并且在執(zhí)行這些任務時可能需要指引或者幫助性信息。對于用戶來說,用戶可能需要的信息可能并非輕易獲得或者顯而易見。例如,商業(yè)過程可能與特定商業(yè)組織相關(guān)聯(lián),并且傳統(tǒng)的搜索方法可能不給用戶提供完成商業(yè)過程中的任務所必要的信息。即使用戶可接觸到用于獲取額外信息或者執(zhí)行各種任務的資源,用戶仍可能從被示以可能提高用戶執(zhí)行商業(yè)過程的任務時的效率的建議信息或者選項受益。例如,當用戶在商業(yè)應用程序的用戶接口中輸入數(shù)據(jù)時,基于上下文的環(huán)境能夠在背景中執(zhí)行自動搜索以便向用戶提供建議,以使用戶能夠無中斷地在用戶接口中持續(xù)輸入數(shù)據(jù)。本公開描述了一種基于上下文的環(huán)境,其識別被特別調(diào)整以適應于特定過程上下文并且用戶為了完成商業(yè)過程的任務可能需要的信息、工具、鏈接或者其他建議選項。使得建議和信息對于用戶來說可通過商業(yè)應用程序的用戶接口很容易地得到,以便提高用戶的效率并識別并不顯而易見的潛在解決方案。此外,所述基于上下文的環(huán)境可以基于先前動作的歷史或者展示給用戶的特定建議的成功率,使建議信息和自動搜索適應特定用戶或者多個用戶的特定使用模式。轉(zhuǎn)向所示例子,圖1示出了用于在商業(yè)過程中提供基于上下文的用戶接口、搜索和導航的示范性環(huán)境100。示出的環(huán)境100包括或者可通信地與服務器102以及一個或多個客戶端135耦合,客戶端135中的至少一些跨過網(wǎng)絡112通信。環(huán)境100也支持能夠自動識別與商業(yè)過程的過程上下文相關(guān)聯(lián)的語義信息,并使用該語義信息識別和通過商業(yè)應用程序的用戶接口展示被特別調(diào)整以適應于該用戶和商業(yè)過程的上下文的有關(guān)信息或者建議選項的系統(tǒng)。一般地,服務器102是存儲一個或多個駐留的應用程序的任何服務器,其中, 駐留應用程序122的至少一部分通過發(fā)送到用戶或者客戶端的請求和響應被執(zhí)行, 所述客戶端在所示的圖1的環(huán)境100內(nèi),并可通信地耦合到環(huán)境100。例如,服務器 102可以是兼容Java 2平臺企業(yè)版(J2EE)的應用程序服務器,其包括Java技術(shù),例如企業(yè) JavaBeans (Enterprise JavaBeans,EJB)、J2EE 連接器架構(gòu)(J2EE Connector Architecture,JCA)、Java 消息服務(Java Messaging Service,JMS)、Java 命名和目錄接 Π (Java Naming and Directory Interface, JNDI), 1 Java^ig^ (Java Database Connectivity, JDBC).在某些實例中,服務器102可以存儲多個各種駐留應用程序122,而在其他實例中,服務器102可以是計劃只存儲和執(zhí)行單個駐留應用程序122的專用服務器。 在某些實例中,服務器102可以包含網(wǎng)絡服務器或者可通信地與網(wǎng)絡服務器耦合,其中,駐留應用程序122代表一個或多個基于網(wǎng)絡的應用程序,由系統(tǒng)的客戶端135通過網(wǎng)絡112 訪問和執(zhí)行,以執(zhí)行駐留應用程序122的被編程任務或者操作。在高層次,服務器102包含可工作以接收、傳送、處理、存儲或管理與環(huán)境100相關(guān)聯(lián)的數(shù)據(jù)和信息的電子計算設(shè)備。圖1中示出的服務器102可以負責從一個或多個客戶端應用程序144或者與環(huán)境100的客戶端135相關(guān)聯(lián)的商業(yè)應用程序接收應用程序請求,并通過在相關(guān)聯(lián)的駐留應用程序122中處理所述請求對接收的請求做出響應,并把適當?shù)捻憫獜鸟v留應用程序122發(fā)送回請求的客戶端應用程序144?;蛘?,服務器102處的駐留應用程序122能夠處理和響應來自在本地訪問服務器102的用戶的本地請求。因此,除了來自圖1中所示的外部客戶端135的請求以外,和駐留應用程序122相關(guān)聯(lián)的請求也可能從內(nèi)部用戶、外部或者第三方客戶、其他自動應用程序以及任何其他適當實體、個人、系統(tǒng)或者計算機發(fā)送。此外,可以適當?shù)乜苫Q地使用術(shù)語“客戶端應用程序”和“商業(yè)應用程序” 而不偏離本公開的范圍。如在本公開中使用的那樣,術(shù)語“計算機”預期包含任何適當?shù)奶幚碓O(shè)備。例如, 盡管圖1示出了單個服務器102,但是環(huán)境100能夠使用兩個或多個服務器102,以及除了服務器以外的計算機,包括服務器池來實施。實際上,服務器102可以是任何計算機或者處理設(shè)備,例如刀片服務器、通用個人計算機(PC)、蘋果機(Macintosh)、工作站、基于UNIX的工作站,或者任何其他合適的設(shè)備。換句話說,本公開預期通用計算機以外的計算機,以及不具有常規(guī)操作系統(tǒng)的計算機。此外,所示出的服務器102可以適于執(zhí)行任何操作系統(tǒng),包括LinuX、UNIX、Wind0WS、Mac 0S,或者任何其他適當?shù)牟僮飨到y(tǒng)。根據(jù)一個實施例,服務器 102也可以包括或者可通信地與郵件服務器耦合。在本實施方案中,并且如圖1中所示,服務器102包括處理器118、接口 117、存儲器120,一個或多個駐留應用程序122,以及過程引擎104。接口 117被服務器102用于和其他客戶端-服務器中的系統(tǒng)或者連接到網(wǎng)絡112 (例如客戶端135,以及其他可通信地耦合到網(wǎng)絡112的系統(tǒng))的其他分布式環(huán)境(包括在環(huán)境100內(nèi))進行通信。一般地,接口 117 包含以適當組合在軟件和/或硬件中編碼,并且可工作以便與網(wǎng)絡112通信的邏輯。更具體地,接口 117可以包含支持與通信相關(guān)聯(lián)的一個或多個協(xié)議的軟件,以使得網(wǎng)絡112或者接口的硬件可工作以便在所示環(huán)境100內(nèi)和外部傳遞物理信號。服務器102也可以包括例如圖形用戶接口(⑶I) 160a的用戶接口。⑶1160a包含可工作以便例如允許服務器102的用戶出于任何適當?shù)哪康呐c平臺的至少一部分連接的圖形用戶接口,這些目的例如創(chuàng)建、準備、請求或者分析數(shù)據(jù),以及觀看和存取與商業(yè)事務處理相關(guān)聯(lián)的源文擋。一般地,GUI 160a向特定用戶提供了對由系統(tǒng)提供或者在系統(tǒng)內(nèi)傳遞的商業(yè)數(shù)據(jù)的有效且用戶友好的展示。⑶I 160a可以包含多個具有由用戶操作的交互式字段、下拉列表和按鈕的可定制框架或者視圖。例如,GUI 160a可以提供允許用戶從建議輸入列表選擇用于輸入到在⑶I 160a中顯示的數(shù)據(jù)字段中的交互式元素。⑶I 160a也可以顯示可能對用戶有益的可能動作的建議或者到過程的鏈接。更一般地,GUI 160a也可以提供允許用戶訪問和利用應用程序122的各種服務和功能的一般交互式元素。GUI 160a 經(jīng)常是可配置的,支持表和圖(柱、線、餅、狀態(tài)盤,等等)的組合,并且能夠建立實時入口, 其中標簽由關(guān)鍵特性(例如站點或者微站點)描繪。因此,GUI 160a預期任何適當?shù)膱D形用戶接口,例如一般網(wǎng)絡瀏覽器、智能引擎和命令行接口(CLI)的組合,其處理平臺中的信息并將結(jié)果有效地以視覺方式向用戶展示。一般地,示范性服務器102可以可通信地與促進環(huán)境100的部件之間(即在服務器102和客戶端135之間)的無線或有線通信的網(wǎng)絡112耦合,以及與例如額外的客戶端、 服務器的任何其他本地或者遠程計算機或者其他可通信地耦合到網(wǎng)絡112但是未在圖1中示出的設(shè)備耦合。在圖1中網(wǎng)絡112被示出為單個網(wǎng)絡,但是可以是連續(xù)或非連續(xù)網(wǎng)絡而不偏離本公開的范圍,只要網(wǎng)絡112的至少一部分可以促進發(fā)送者和接收者之間的通信即可。網(wǎng)絡112可以是企業(yè)或者安全網(wǎng)絡的全部或者部分,而在其他的實例中,網(wǎng)絡112的至少一部分可以代表到互聯(lián)網(wǎng)的連接。在某些實例中,網(wǎng)絡112的一部分可以是虛擬專用網(wǎng)(virtual private network,VPN),例如在客戶端135和服務器102之間的連接。此外,網(wǎng)絡 112的全部或者部分可以包含有線或者無線鏈路。示范性無線鏈路可以包括802. lla/b/g/ η、802. 20,WiMaxJP /或任何其他適當?shù)臒o線鏈路。換句話說,網(wǎng)絡112包含任何內(nèi)部或者外部網(wǎng)絡、多個網(wǎng)絡、子網(wǎng)絡,或者其組合,它們可工作以促進所示環(huán)境100內(nèi)部和外部的各種計算部件之間的通信。網(wǎng)絡112可以在網(wǎng)絡地址之間傳遞例如國際互聯(lián)網(wǎng)協(xié)議(IP)分組、幀中繼幀、異步傳輸模式(Asynchronous Transfer Mode, ATM)單元、語音、視頻、數(shù)據(jù), 以及其他適當?shù)男畔ⅰ>W(wǎng)絡112也可以包括一個或多個局域網(wǎng)(LAN)、無線接入網(wǎng)(radio access networks, RAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN),全部或者部分的互聯(lián)網(wǎng),和/或位于一個或多個位置的任何其他通信系統(tǒng)。但是,網(wǎng)絡112并非本公開的必需部件。如圖1中所示,服務器102包括處理器118。盡管在圖1中被示出為單個處理器 118,但是根據(jù)環(huán)境100的特定需要、期望或者特定實施例,也可以使用兩個或多個處理器。 每一處理器118可以是中央處理單元(CPU)、刀片、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA),或者其他適當?shù)牟考?。一般地,處理?18執(zhí)行指令并操縱數(shù)據(jù)以執(zhí)行服務器 102——具體來說,多個駐留應用程序122中的一個或多個的操作。具體來說,服務器的處理器118執(zhí)行為接收來自客戶端135及其相應的客戶端應用程序144的請求和對其做出響應所需的功能,以及為執(zhí)行駐留應用程序122的其他操作所需的功能。和具體實施方案無關(guān),“軟件”可以包括有形介質(zhì)上的計算機可讀指令、固件、硬連線或者被編程硬件,或者其任意組合,其在被執(zhí)行時可工作以至少執(zhí)行這里描述的過程和操作。實際上,每一軟件部件可以被完全或者部分地用任何適當?shù)挠嬎銠C語言書寫或者描述,計算機語言包括C、C++、Java、Visual Basic、assembler、Perl,任何適當版本的4GL, 以及其他語言。將會理解,雖然圖1中所示的軟件的部分被示出為通過各種對象、方法或者其他過程實施各種特征和功能的單獨模塊,但是作為替代,軟件也可以視情況包括許多子模塊、第三方服務、部件、庫。反過來,各種部件的特征和功能可以被適當?shù)亟M合到單個部件中。在所示的環(huán)境100中,處理器118執(zhí)行服務器102上的一個或多個駐留應用程序122。在高層次,所述一個或多個駐留應用程序中的每一個可以是任何應用程序、程序、 模塊、過程,或者可以根據(jù)本公開,特別是響應于并結(jié)合著從所示客戶端135和其相關(guān)聯(lián)的客戶端應用程序144接收的一個或多個請求,執(zhí)行、改變、刪除、生成或者管理信息的其他軟件。在某些情況下,只有一個駐留應用程序122可以位于特定服務器102。在其他情況下, 多個相關(guān)和/或不相關(guān)的駐留應用程序122可以被存儲于單個服務器102,或者也可以位于多個其他的服務器102當中。在某些情況下,環(huán)境100可以實施復合駐留應用程序122。例如,復合應用程序的部分可以被實施為企業(yè)Java Beans(EJB),或者設(shè)計時部件可以具有生成進入不同平臺的運行時實施方案的能力,所述平臺至少例如J2EE(Java 2平臺企業(yè)版)、 ABAP (先進商業(yè)應用程序編程)對象,或者微軟的.NET。此外,駐留應用程序122可以代表基于網(wǎng)絡的應用程序,由遠程客戶端135或者客戶端應用程序144通過網(wǎng)絡112 (例如通過互聯(lián)網(wǎng))訪問和執(zhí)行。此外,雖然被示出為在服務器102內(nèi)部,但是與特定駐留應用程序122 相關(guān)聯(lián)的一個或多個過程也可以被存儲、引用或者遠程執(zhí)行。例如,特定駐留應用程序122 的一部分可以是與被遠程調(diào)用的應用程序相關(guān)聯(lián)的網(wǎng)絡服務,而該駐留應用程序的另一部分可以是被捆綁用于在遠程客戶端135處理的接口對象或者代理。而且,任意或者全部的駐留應用程序122可以是另一軟件模塊或者企業(yè)應用程序(未示出)的孩子或者子模塊而不偏離本公開的范圍。更進一步,駐留應用程序122的部分可以被直接在服務器102處以及在客戶端135處遠程地工作的用戶執(zhí)行。如所示,處理器118也能夠執(zhí)行過程引擎104,其起到結(jié)合駐留應用程序122或者客戶端應用程序144執(zhí)行的商業(yè)過程的運行時引擎的作用,并提供了用戶能夠開發(fā)和部署商業(yè)過程的環(huán)境。過程引擎104可以提供使得駐留應用程序122或者客戶端應用程序144 能夠與特定商業(yè)過程關(guān)聯(lián)地執(zhí)行的開發(fā)工具、接口、模塊、服務和元數(shù)據(jù)定義。具體來說, 過程引擎104可以執(zhí)行由商業(yè)過程執(zhí)行語 H (Business Process Execution Language, BPEL)、商業(yè)過程建模標注(Business Process Modeling Notation ,BPMN)或者其他用于定義商業(yè)過程的機制來定義或者建模的商業(yè)過程。結(jié)合過程引擎104執(zhí)行的商業(yè)過程的每一實例是過程引擎104的過程實例170。此外,過程引擎104能夠維護由過程引擎104執(zhí)行的商業(yè)過程的多個過程定義。過程定義包括定義某些商業(yè)過程的結(jié)構(gòu)變量、模型和部件。換句話說,每一過程定義可以代表過程模型或者模版,一個或多個過程實例170能夠基于所述過程模型或者模版,并且與特定過程定義相關(guān)聯(lián)的過程實例170可以共享某些變量或者部件。每一過程實例170也和過程上下文126相關(guān)聯(lián)。一般地,每一過程上下文126是與特定過程實例170相關(guān)聯(lián)的變量的集合,其定義了過程實例170的各種參數(shù)。這些變量可以包括數(shù)據(jù)對象,其包含具有過程實例170的不同參數(shù)的值的字段。因此,術(shù)語“變量”和 “數(shù)據(jù)對象”可以適當?shù)乜苫Q地使用而不偏離本公開的范圍。此外,處理器118也可以執(zhí)行基于上下文的模塊128,模塊128可以是任何應用程序、程序、函數(shù)、模塊、過程、運行時引擎,或者可用于生成供結(jié)合商業(yè)過程展示給用戶的額外信息或者選項的其他軟件。具體來說,基于上下文的模塊128識別被特別調(diào)整以適應特定的過程上下文126并且用戶為了完成商業(yè)過程的任務可能需要的信息、工具、鏈接或者其他建議選項。換句話說,基于上下文的模塊128可以使用過程上下文126來生成供用戶用于完成商業(yè)過程的額外指引。基于上下文的模塊128利用與特定過程實例170相關(guān)聯(lián)的過程上下文126的當前狀態(tài),用額外選項、建議和信息來豐富用戶接口以幫助用戶與特定過程實例170的交互。在某些實施方案中,基于上下文的模塊128通過識別過程上下文126的結(jié)構(gòu)和額外選項和信息之間的語義鏈接一般性地實施用戶接口的豐富。例如,包含在特定過程上下文126內(nèi)的變量可以從被與過程上下文126相關(guān)聯(lián)的過程實例170調(diào)用的網(wǎng)絡服務生成。 網(wǎng)絡服務可以由服務器102通過網(wǎng)絡112可訪問的后端系統(tǒng)124維護。在某些實例中,過程上下文126中的變量源自底層ERP系統(tǒng)和對應的XML(可擴展標記語言)架構(gòu)的企業(yè)服務。 因此,這些變量可以和特定的變量類型相關(guān)聯(lián),例如商業(yè)對象類型或者XML命名空間。此夕卜,每一變量類型提供了關(guān)于如何針對特定過程實例170定義變量的某種語義信息。例如, 企業(yè)服務可以實施核心部件技術(shù)規(guī)范(Core Component Technical Specification,CCTS) 數(shù)據(jù)建模系統(tǒng),其包含有關(guān)于特定變量類型的語義含義的信息。因此,基于上下文的模塊 128可以使用與變量相關(guān)聯(lián)的語義信息識別用于搜索用于特定過程實例的額外選項的特定變量。基于上下文的模塊128使用變量的命名空間以及變量的實際值來搜索可以幫助用戶與過程實例170交互的額外信息或者選項?;谏舷挛牡哪K128可以使用例如變量的命名空間以及變量的實際值執(zhí)行對后端系統(tǒng)124的后端儲存庫184的全文搜索,以識別額外信息或者選項來向用戶展示。在某些實例中,基于上下文的模塊128也能夠識別要用于搜索后端儲存庫184的特定變量內(nèi)的某些字段。變量中的字段也可以與數(shù)據(jù)類型相關(guān)聯(lián),并且能夠被識別用于基于與某些數(shù)據(jù)類型相關(guān)聯(lián)的語義信息的搜索。此外,可以利用嵌套層中的多個字段構(gòu)造某些變量,并且,可以識別來自不同層的不同字段的任意組合用于搜索。然后,可以使用搜索結(jié)果生成單詞列表152以生成要施加到用戶接口中的數(shù)據(jù)字段的上下文標記。此外,搜索結(jié)果可以用來生成和展示去往額外信息的相應鏈接。下面結(jié)合圖3更詳細地描述了基于上下文的模塊128的實施方案的一個例子。通過商業(yè)應用程序的用戶接口,例如通過客戶端135的⑶I 160b,能夠使用戶很容易得到建議和信息,以提高用戶的效率并識別并非顯而易見的潛在解決方案。此外,基于上下文的模塊128可以基于先前動作的歷史或者展示給用戶的特定建議的成功率,使建議信息和自動搜索適于特定用戶或者多個用戶的特定使用模式。對建議選項的響應的歷史可以存儲在存儲器120中。在某些實施方案中,從搜索后端系統(tǒng)124生成的單詞列表152可以被存儲在客戶端計算機135上的存儲器150中,或者服務器102處的存儲器120中??梢允褂脝卧~列表152選擇⑶I 160b中顯示的有關(guān)文本用于進一步搜索。單詞列表152包括已知的在特定過程上下文中提供額外信息的相關(guān)單詞。當用戶對顯示給用戶的建議選項做出響應時,可以利用額外信息更新單詞列表152??梢允褂萌魏芜m當機制更新單詞列表 152,例如,異步JavaScript或者XML(AJAX)網(wǎng)絡開發(fā)技術(shù)。過程引擎104可以與駐留應用程序122分離,而在其他實例中,過程引擎104可以嵌入特定的一個或多個駐留應用程序內(nèi),或者是其一部分。在某些實例中,駐留應用程序 122可以可通信地耦合到過程引擎104,以使得駐留應用程序122訪問和利用由過程引擎 104提供的功能。通過分析先前生成的建議選項以及特定選項的頻率或者選擇率,基于上下文的模塊128能夠識別可能具有更大的被用戶選擇的機會或者概率的潛在建議選項或者額外信息。由基于上下文的模塊128提供的功能可以包括提供用于生成列出建議選項的下拉菜單或者為例如被頻繁選擇的選項生成“你也可以...”鏈接的用戶接口支持。一般地,服務器102也包括用于存儲數(shù)據(jù)和程序指令的存儲器120。存儲器120可以包括任何存儲器或者數(shù)據(jù)庫模塊,并且可以采取易失或者非易失存儲器的形式,包括但不限于磁性介質(zhì)、光學介質(zhì)、隨機訪問存儲器(RAM)、只讀存儲器(ROM)、可移動介質(zhì),或者任何其他適當?shù)谋镜鼗蛘哌h程存儲器部件。存儲器120可以存儲各種對象或者數(shù)據(jù),包括類、框架、應用程序、備份數(shù)據(jù)、商業(yè)對象、作業(yè)、網(wǎng)絡頁面、網(wǎng)絡頁面模版、數(shù)據(jù)庫表、存儲商業(yè)和/或動態(tài)信息的儲存庫,以及其他合適的信息,包括與服務器102及其一個或多個駐留應用程序122的目的相關(guān)聯(lián)的任何參數(shù)、變量、算法、指令、規(guī)則、約束或者對其的引用。更進一步地,存儲器120可以包括任何其他合適的數(shù)據(jù),例如VPN應用程序、固件日志和策略、 HTML文件、數(shù)據(jù)類或者對象接口、未示出的軟件應用程序或者子系統(tǒng)、防火墻策略、安全或者訪問日志、打印或者其他報告文件,以及其他東西。如圖1中所示,環(huán)境100也包括后端系統(tǒng)124。一般地,后端系統(tǒng)124是可工作以接收、傳送、處理、存儲或者管理與環(huán)境100相關(guān)聯(lián)的數(shù)據(jù)和信息的電子計算設(shè)備,并且可工作以使用有線或無線連接通過網(wǎng)絡112連接到或者與至少服務器102和/或一個或多個客戶端135通信。在某些實施方案中,后端系統(tǒng)124是用來管理商業(yè)環(huán)境中的資源和操作并促進信息流動的企業(yè)資源計劃(ERP)系統(tǒng)。如圖1中所示,后端系統(tǒng)124包括處理器188、接口 187和存儲器190。 后端系統(tǒng)124容納在外部執(zhí)行的商業(yè)過程可用的各種服務,例如由服務器102處的過程引擎104執(zhí)行的商業(yè)過程可用的各種服務。例如,后端系統(tǒng)124提供外部商業(yè)過程可訪問的網(wǎng)絡服務186以及存儲在后端系統(tǒng)124處的存儲器190內(nèi)的后端儲存庫184中的數(shù)據(jù)的全文搜索182。具體來說,后端儲存庫184可以存儲與由服務器102 的過程引擎104執(zhí)行的商業(yè)過程相關(guān)聯(lián)的數(shù)據(jù)。與商業(yè)過程相關(guān)聯(lián)的數(shù)據(jù)可以是用戶定義的或者自動生成的描述各種應用程序、變量、元素、組織、產(chǎn)品或者與本公開中所描述的商業(yè)過程相關(guān)的其他實體的元數(shù)據(jù)或者其他數(shù)據(jù)。盡管后端系統(tǒng)124在圖1中被描繪為單個服務器或者計算設(shè)備,但是后端系統(tǒng)124也可以分布在多個硬件和軟件單元當中。在某些實例中,基于上下文的模塊128可訪問后端儲存庫184,并且基于上下文的模塊128可以調(diào)用自動全文搜索函數(shù)182來在后端儲存庫184中搜索與特定用戶、商業(yè)過程或者用戶接口元素相關(guān)聯(lián)的、可能對識別要展示給用戶的建議選項有用的任何信息。例如,基于上下文的模塊128可以使用與特定變量類型以及變量內(nèi)的某些字段的值相關(guān)聯(lián)的語義信息執(zhí)行后端儲存庫184的全文搜索,以識別可以幫助用戶與特定過程實例170交互的額外信息或選項。后端儲存庫184中的數(shù)據(jù)也可以包括與展示給特定用戶或者多個用戶的建議選項的歷史相關(guān)聯(lián)的數(shù)據(jù),以及反映響應于建議選項的展示所執(zhí)行的動作的統(tǒng)計數(shù)據(jù)。此外,存儲器190也可以存儲詳細的用戶接口信息185,其可以由基于上下文的模塊128 獲得以生成去往與特定過程實例170交互的用戶的建議鏈接。圖1的所示環(huán)境也包括一個或多個客戶端135。每一客戶端135可以是可工作以使用有線或者無線連接通過網(wǎng)絡112連接到或者與至少服務器102通信的任何計算設(shè)備。 此外,如圖1中所示,客戶端135包括處理器146、接口 142、圖形用戶接口(⑶I) 160b、客戶端應用程序144和存儲器150。GUI 160b可工作以提供對由系統(tǒng)提供或者在系統(tǒng)內(nèi)傳遞的商業(yè)數(shù)據(jù)的用戶友好的展示。GUI 160b可以包含多個交互式元素,其展示建議選項或者允許用戶輸入用于完成商業(yè)過程的數(shù)據(jù)。交互式元素可以包括例如下拉菜單或者數(shù)據(jù)字段 162a-b。一般地,客戶端135包含可工作以接收、傳送、處理和存儲與圖1的環(huán)境100相關(guān)聯(lián)的任何適當數(shù)據(jù)的電子計算機設(shè)備。將會理解,可以存在任意數(shù)量的與環(huán)境100相關(guān)聯(lián)或者在其外部的客戶端135。例如,雖然示出的環(huán)境100包括一個客戶端135,但是環(huán)境100 的替換實施方案可以包括多個可通信地耦合到服務器102的客戶端,或者,任何其他數(shù)量的適于環(huán)境100的目的的客戶端。此外,在環(huán)境100的所示部分外部也可以存在一個或多個能夠通過網(wǎng)絡112與環(huán)境100交互的額外的客戶端135。此外,術(shù)語“客戶端”和“用戶” 可以被適當?shù)乜苫Q地使用而不偏離本公開的范圍。而且,雖然每一客戶端135被按照由單個用戶使用描述,但是本公開預期很多用戶可以使用一個計算機,或者一個用戶可以使用多個計算機。如本公開中使用的那樣,客戶端135預期包含個人計算機、觸摸屏終端、工作站、 網(wǎng)絡計算機、信息站(kiosk)、無線數(shù)據(jù)端口、智能電話、個人數(shù)據(jù)助理(PDA)、這些或其他設(shè)備內(nèi)的一個或多個處理器,或者任何其他合適的處理設(shè)備。例如,每一客戶端135可以包含計算機,其包括輸入設(shè)備和輸出設(shè)備,輸入設(shè)備例如小鍵盤、觸摸屏、鼠標或者其他能夠接受用戶信息的設(shè)備,輸出設(shè)備傳遞與服務器102 (和駐留應用程序122)或客戶端135自身的操作相關(guān)聯(lián)的信息,包括數(shù)字數(shù)據(jù)、視覺信息、客戶端應用程序144或者GUI160b。輸入和輸出設(shè)備都可以包括固定或者可移動存儲介質(zhì),例如磁性存儲、CD-ROM,或者其他適當?shù)慕橘|(zhì),以通過顯示器即⑶I 160b從客戶端135的用戶接收輸入,并向其提供輸出。 雖然圖1被描述為包含或與多個元素相關(guān)聯(lián),但是并非圖1的環(huán)境100內(nèi)所示的所有元素在本公開的每一替代實施方案中都可能被采用。例如,盡管圖1繪出了實施服務器102處的可被客戶端計算機135訪問的駐留應用程序的服務器-客戶端環(huán)境,但是在某些實施方案中,服務器102執(zhí)行本地應用程序,該本地應用程序的特征是直接利用GUI 160a的用戶可訪問的應用程序UI。此外,這里描述的元素中的一個或多個可以位于環(huán)境 100外部,而在其他實例中,某些元素可以被包括在一個或多個其他被描述的元素以及在所示實施方案中未描述的其他元素內(nèi),或者作為它們的一部分。此外,圖1中所示的某些元素可以與其他部件組合,以及用于這里所描述的目的之外的替換或者額外目的。圖2是示出了在商業(yè)過程中提供基于上下文的用戶接口、搜索和導航的過程200 的流程圖。首先,在202,可以識別要由用戶填充的電子頁面上的數(shù)據(jù)字段。電子頁面被作為涉及用戶的過程實例的一部分展示給用戶。然后,在204,可以基于過程實例的過程上下文確定用于輸入到數(shù)據(jù)字段的建議輸入。可以基于例如由過程實例展示的數(shù)據(jù)字段、用戶的先前動作、與用戶相關(guān)聯(lián)的信息、存儲在數(shù)據(jù)庫中的用戶的簡檔,或者用戶輸入或與數(shù)據(jù)字段相關(guān)聯(lián)的信息類型來確定過程上下文。建議輸入被特別調(diào)整以適應于正被執(zhí)行的商業(yè)過程的特定過程上下文和特定用戶。在某些實施方案中,在206,也可以選擇電子頁面中的特定文本用于施加上下文標記。上下文標記可以是包含與特定單詞相關(guān)聯(lián)的有關(guān)信息的數(shù)據(jù)結(jié)構(gòu)。包含在上下文標記中的信息可以是去往可能對用戶有益的更多信息的外部資源的鏈接、從自動或先前搜索結(jié)果識別的有關(guān)信息、去往用于結(jié)合當前商業(yè)過程執(zhí)行輔助任務的其他應用程序的鏈接,或者用戶可能發(fā)現(xiàn)對于特定商業(yè)過程有益的其他類型的上下文鏈接或者數(shù)據(jù)。在208,基于過程實例的過程上下文,也可以生成用于被識別的文本項目的上下文標記。此外,可以基于至少一個用于輸入到數(shù)據(jù)字段中的建議輸入來生成上下文標記。例如,在204識別的建議輸入數(shù)據(jù)可用來在用戶接口中選擇有關(guān)文本用于生成上下文標記。最后,在210,可以把與文本以及生成的上下文標記相關(guān)聯(lián)的額外動作項目展示給用戶。展示給用戶的上下文標記中的建議輸入和信息可以幫助用戶在執(zhí)行與商業(yè)過程相關(guān)聯(lián)的任務時有效地識別額外信息或者潛在解決方案。圖3是用于提供促進商業(yè)過程的基于上下文的用戶接口、搜索和導航的過程300 的詳細流程圖。首先,在302,識別與用戶接口 160b相關(guān)聯(lián)的過程實例。在某些實施方案中, 商業(yè)過程可以包含使用商業(yè)應用程序144執(zhí)行的一個或多個動作。所述動作可以是與商業(yè)機構(gòu)關(guān)聯(lián)地執(zhí)行的特定任務。在某些實例中,所述任務可以被劃分為段,或者由順次執(zhí)行的多個步驟組成。商業(yè)應用程序144的用戶可以在商業(yè)應用程序144中開始特定商業(yè)過程實例,并且在過程實例的步驟期間,特定的用戶接口排列可以被展示給用戶?;谏舷挛牡哪K128可以確定正被執(zhí)行的過程實例與包含代表與過程實例相關(guān)聯(lián)的有關(guān)值的變量的過程上下文126相關(guān)聯(lián)。一般地,過程上下文126是與特定過程實例相關(guān)聯(lián)的變量的集合,基于上下文的模塊128可以使用這些變量為用戶生成用于執(zhí)行過程實例的額外指引。此外, 過程上下文126中的某些變量可以被直接鏈接到在用戶接口 160b中顯示的某些數(shù)據(jù)字段 162。因此,基于上下文的模塊128可以通過識別用戶接口 160中綁定到特定過程實例的特定數(shù)據(jù)字段162來識別特定過程實例。
同一過程上下文126內(nèi)的不同變量可以代表不同變量類型的值,并且可以基于每一變量的商業(yè)對象類型來識別這些變量。變量類型,例如在核心部件技術(shù)規(guī)范(CCTS)數(shù)據(jù)建模系統(tǒng)中使用的變量的類型,可以和包含在變量中的值一起使用以導出關(guān)于過程實例的信息。例如,過程上下文126可以包括代表雇員ID的變量。雇員ID變量可以與“用戶ID” 變量類型相關(guān)聯(lián)。因此,基于用戶ID變量類型和與從CCTS系統(tǒng)獲得的變量類型相關(guān)聯(lián)的語義信息,基于上下文的模塊128可以確定雇員ID變量與人相關(guān)聯(lián)。如下面結(jié)合圖4和圖 5描述的例子中所示,過程上下文126可以包括不同類型的變量,并且變量類型可以用來導出用于促進商業(yè)過程的信息。如下面結(jié)合圖4更詳細地描述的那樣,過程上下文126也可以與由各種字段組成的特定數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)或者綁定到所述特定數(shù)據(jù)結(jié)構(gòu),每一個字段代表過程上下文126中不同的值。在304,識別與過程實例相關(guān)聯(lián)的過程上下文126。在某些實施方案中,結(jié)合企業(yè)服務系統(tǒng)建?;蛘邎?zhí)行過程實例,并且可以導入企業(yè)網(wǎng)絡服務描述文件以獲得在特定過程上下文126中找到的變量類型。然后,過程上下文126可以交互地或者自動地基于在企業(yè)網(wǎng)絡服務描述文件中定義的變量類型。過程上下文126中的變量包括與對應過程實例相關(guān)聯(lián)的值,例如完全執(zhí)行過程實例所需要的值。例如,用于完成購買訂單的過程上下文126可以包括例如購買訂單ID、處理該購買訂單的雇員的雇員ID或者購買的產(chǎn)品的產(chǎn)品ID的變量。一般地,與公共商業(yè)機構(gòu)或者應用程序相關(guān)聯(lián)的商業(yè)過程可以具有在該機構(gòu)或者應用程序內(nèi)需要的標準化的變量類型。在識別了過程上下文126以后,在306確定過程上下文126內(nèi)的變量類型。可以由基于上下文的模塊128通過分析變量的名稱或者其他方法確定變量類型。在某些實施方案中,與變量類型相關(guān)聯(lián)的信息可以被存儲在類型儲存庫中,并且基于上下文的模塊128 可以在該類型儲存庫中搜索與每一變量類型相關(guān)聯(lián)的數(shù)據(jù)。變量類型也可以包括反映變量的含義或者與變量相關(guān)聯(lián)的邏輯關(guān)系的固有語義信息。這種語義信息可以從包含有關(guān)于例如特定變量類型的語義含義的信息的CCTS數(shù)據(jù)建模系統(tǒng)獲得。接著,在308,可以選擇特定變量類型以及包含在過程上下文126內(nèi)的變量中的數(shù)據(jù)字段中的值以用于進一步搜索?;谏舷挛牡哪K128可以基于與不同變量類型相關(guān)聯(lián)的語義信息或者任何其他適當?shù)臉藴蔬x擇變量中的特定值以用于進一步搜索。例如,基于某些變量類型的語義信息,某些變量或者字段更可能生成有用的搜索結(jié)果,并且更可能被選擇用于額外的搜索。也可以基于變量在特定商業(yè)過程中的相對重要性選擇變量。此外,在某些實施方案中,基于用戶將需要對過程實例中的特定步驟的指引的可能性選擇變量??梢曰诶缬脩舻钠谩⑻囟ㄓ谟脩舻男袨榈慕y(tǒng)計數(shù)據(jù)或者與某些商業(yè)過程相關(guān)聯(lián)的一般使用模式、特定過程上下文126中的已知和未知變量的相互依賴性、或者用于預測過程實例的執(zhí)行期間對自動指引的需要的任何其他度量標準,來確定特定用戶將需要對過程實例中的特定步驟的指引的可能性。而且, 特定變量內(nèi)的某些字段也可以用于搜索后端儲存庫184。變量中的字段也可以與數(shù)據(jù)類型相關(guān)聯(lián),并且可基于與某些數(shù)據(jù)類型相關(guān)聯(lián)的語義信息被識別用于搜索。
然后,在310使用被選擇的變量和對應的變量類型來搜索與過程實例相關(guān)聯(lián)的有關(guān)信息。在某些實施方案中,要被搜索的數(shù)據(jù)庫可以是后端系統(tǒng)124中的儲存庫184。過程上下文126中的某些變量的已知值以及與那些值相關(guān)聯(lián)的變量類型可被用作搜索項以獲得有關(guān)搜索結(jié)果。例如,每一變量可以與例如商業(yè)對象類型或者XML命令空間的特定變量類型相關(guān)聯(lián)。變量的XML命名空間和變量的值可在針對額外選項的對后端儲存庫184的全文搜索中使用??梢詫λ阉鹘Y(jié)果執(zhí)行統(tǒng)計過濾過程以便識別特別相關(guān)的信息,用于向用戶建議選項。例如,基于上下文的模塊128可以訪問所存儲的與用戶相關(guān)的信息,其可以包括用戶選擇先前展示的建議的歷史、用戶在某些數(shù)據(jù)字段162中的先前輸入,以及特定建議的一般成功率。與用戶相關(guān)的這種統(tǒng)計信息可以用來縮小搜索結(jié)果和識別有關(guān)數(shù)據(jù)。具體來說,期望的搜索結(jié)果可以是可以對確定用于特定商業(yè)實例的建議輸入或者動作項目提供某種幫助的任何類型的信息。例如,在處理購買訂單期間,從過程上下文126選擇的已知的變量,例如雇員ID,可以用來在后端儲存庫184中搜索用于生成過程實例所要求的購買訂單的建議許可人的有關(guān)信息。搜索后端儲存庫184可以找到與該雇員相關(guān)聯(lián)的組織圖。從該組織圖可以確定用戶的主管人,這可以有益于識別用于完成購買訂單的建議,因為用戶的主管人是購買訂單的潛在許可人。具體來說,在 312,基于上下文的模塊128可以基于搜索結(jié)果獲得或者生成對象圖,其可以包括與過程上下文126相關(guān)聯(lián)的對象圖。對象圖是數(shù)據(jù)對象或者與過程實例相關(guān)聯(lián)的變量之間的聯(lián)系和依賴性的邏輯表示。例如,從對與特定雇員相關(guān)的信息的搜索中生成的對象圖可以包括與雇員的直接主管人相關(guān)的數(shù)據(jù)對象、與雇員相關(guān)聯(lián)的商業(yè)過程, 或者該雇員最近的客戶聯(lián)系人。與這些項目相關(guān)聯(lián)的數(shù)據(jù)對象之間的關(guān)系也可以被包括在對象圖中。在314,對象圖可以與從搜索結(jié)果獲得的任何其他有關(guān)信息一起使用以生成和向用戶展示建議選項以便促進待處理的商業(yè)過程。在某些實例中,建議選項是用于輸入到數(shù)據(jù)字段162中的建議輸入,或者用戶可以與數(shù)據(jù)字段162的內(nèi)容相關(guān)聯(lián)地執(zhí)行的建議動作的列表。例如,營銷商業(yè)過程可能要求用戶把營銷材料的潛在接收者輸入到用戶接口 160b 中的數(shù)據(jù)字段162中。使用由上述基于上下文的模塊128執(zhí)行的自動搜索,可以通過用戶接口 160b把營銷材料的建議接收者展示給用戶。建議接收者可以包括例如用戶具有與營銷材料的主題相關(guān)聯(lián)的在先交易的近來的客戶聯(lián)系人。基于上下文的模塊128可以額外地展示與數(shù)據(jù)字段162相關(guān)的建議動作,例如允許用戶訪問可以幫助識別營銷材料的潛在接收者的資源。換句話說,基于特定過程實例的過程上下文中的變量和變量類型,基于上下文的模塊128可以識別潛在有關(guān)的信息,用于向用戶建議選項以幫助用戶完成商業(yè)過程。當基于上下文的模塊128執(zhí)行和與過程上下文相關(guān)聯(lián)的特定變量相關(guān)的搜索時, 在316,基于上下文的模塊128可以生成并把上下文標記施加于用戶接口 160b中的特定文本。上下文標記可以是包含與特定上下文中的特定單詞或者其他用戶接口元素相關(guān)聯(lián)的有關(guān)信息的數(shù)據(jù)結(jié)構(gòu),在所述上下文中,單詞出現(xiàn)在用戶接口 160b中。包含在上下文標記中的信息可以是去往可能有益于用戶的更多信息的外部資源的鏈接、從自動或先前搜索結(jié)果識別的有關(guān)信息、去往用于結(jié)合當前商業(yè)過程執(zhí)行輔助任務的其他應用程序的鏈接,或者用戶可能發(fā)現(xiàn)有益于特定商業(yè)過程的其他類型的上下文鏈接或者數(shù)據(jù)。例如,可以通過由用戶執(zhí)行的用戶接口動作激活上下文標記,這導致顯示與被上下文標記標出的單詞或者元素相關(guān)聯(lián)的細節(jié)。因此,使得用戶知曉與被標記單詞相關(guān)聯(lián)的額外可用信息。一般地,用戶接口 160b中的特定單詞,包括靜態(tài)文本或者數(shù)據(jù)字段輸入,基于它們與用戶接口 160b中的其他文本的關(guān)系以及它們用于生成實質(zhì)性的基于上下文的建議的可能性而選擇。然后,針對被選擇的單詞生成或者更新上下文標記,如下面結(jié)合圖5更詳細地描述。
為用戶接口中的數(shù)據(jù)輸入、搜索和導航提供基于上下文的環(huán)境在各種情形中可以是有益的。例如,基于上下文的搜索和導航可以幫助用戶完成和提交休假請求。在某些實施方案中,用戶可以是雇員并且希望通過應用程序144提交休假請求,應用程序144可以要求用戶在提交該請求之前輸入有關(guān)信息。每一休假請求實例可以與具有預先定義的元素或者值的特定數(shù)據(jù)對象相關(guān)聯(lián),已知為了提交休假請求一般要求所述元素或者值。換句話說, 休假請求數(shù)據(jù)對象可以代表休假請求的具有特定結(jié)構(gòu)和特定值的過程上下文126。在某些實施方案中,過程上下文126的結(jié)構(gòu)和值是“商業(yè)對象類型”或者CCTS類型的變量。因此, 當用戶啟動休假請求商業(yè)過程的特定實例以供應用程序144處理時,如果休假請求共有并且包括在休假請求過程上下文126中的某些值被識別,則過程引擎104可以把過程實例承認為休假請求。特定過程實例的過程上下文126可被基于上下文的模塊128用來促進用戶完成過程實例例如,如圖4中所示,每一個休假請求過程上下文400均可以與包括提交休假請求的雇員的ID(雇員ID)402a、雇員的姓名404a、休假請求的許可人的ID 414a和與提交休假請求相關(guān)聯(lián)的其他信息的信息相關(guān)聯(lián)。在某些實施方案中,可能已經(jīng)已知休假請求過程上下文400中的信息中的一些。如圖4中所示,例如,休假請求過程上下文400已經(jīng)包括了提交休假請求的用戶的雇員識別號碼“d055555”402c。其他信息可以已被包括在休假請求過程上下文400中,例如請求的休假類型406c和雇員的姓名404c。在任何事件中,當基于上下文的模塊128發(fā)現(xiàn)由用戶啟動的過程實例是來自過程上下文400的休假請求過程時,可以執(zhí)行額外的搜索以確定該休假請求中的剩余變量的可能值。圖5描繪了用于提交在本例子中描述的休假請求502的用戶接口的示范性屏幕快照500。如圖5中所示,休假請求用戶接口 502可以包括各種數(shù)據(jù)字段510供雇員輸入提交休假請求所要求的信息。數(shù)據(jù)字段510a到510e可以包括供用戶輸入許可用戶的休假請求的適當許可人的數(shù)據(jù)字段510d,以及供用戶輸入關(guān)于休假請求的適當注釋的數(shù)據(jù)字段 510e。但是,由應用程序提供的用戶接口 502可能不與休假請求過程上下文400直接相關(guān)聯(lián)。具體來說,用戶接口中的數(shù)據(jù)字段510可能未鏈接到其在圖4中所示的休假請求數(shù)據(jù)對象400中的對應變量,直到它們通過應用程序或者過程,例如由過程引擎104提供的小工具(widget)被綁定為止。為了把用戶接口元素和過程上下文400中的元素綁定,小工具可被編程為自動檢測用戶接口數(shù)據(jù)字段510和相關(guān)的過程上下文400中的值之間的邏輯相似性。小工具也可以存儲關(guān)于用戶接口和過程上下文之間的先前綁定的信息供將來使用。在某些實施方案中,小工具可以包含具有在過程上下文中綁定的值的類型的過程上下文的當前狀態(tài),以便自動提供幫助功能或者搜索有關(guān)值。例如,由上下文模塊128提供的自動建議可以依賴于由小工具確定的目前正被執(zhí)行的商業(yè)過程的特定步驟。商業(yè)過程的順次前進可以改變與商業(yè)過程相關(guān)聯(lián)的過程上下文的狀態(tài),并且小工具可以相應地追蹤過程上下文的狀態(tài),用于生成適于過程上下文的當前狀態(tài)的建議或者動作。 一旦用戶接口中的數(shù)據(jù)字段510被綁定或者鏈接到休假請求的過程上下文400中的適當變量402-414,基于上下文的模塊128就發(fā)現(xiàn)用戶將需要找到適當?shù)脑S可人以便提交休假請求取得批準,如圖4中所示。與過程上下文400中的一個或多個變量相關(guān)聯(lián)的各種數(shù)據(jù)對象可以被存儲在后端系統(tǒng)124中的數(shù)據(jù)庫184中?;谏舷挛牡哪K128可以調(diào)用由后端系統(tǒng)124提供的全文搜索功能182來在數(shù)據(jù)庫184中搜索可以提供用于識別休假請求的可能許可人的信息的有關(guān)數(shù)據(jù)對象。例如,在某些實施方案中,用戶的雇員ID 402c 可以用來搜索與該用戶相關(guān)聯(lián)的組織圖以獲得用戶的主管人的列表,因為雇員的主管人可能是休假請求的適當許可人。此外,基于上下文的模塊128可以使用變量的實際值以及變量類型來在后端儲存庫184中搜索有關(guān)信息,因為變量類型可以包括反應變量固有的額外關(guān)系的語義信息。因此,雇員ID402C的實際值以及雇員ID的變量類型(用戶ID 402b)可以用來針對額外信息搜索數(shù)據(jù)庫184。給定可以按特定于商業(yè)機構(gòu)的分級結(jié)構(gòu)排列的用戶的主管人的列表,特定主管人可以被選擇作為休假請求的建議許可人,并在與主管人數(shù)據(jù)字段512相關(guān)聯(lián)的下拉菜單中展示給用戶,例如如圖5中所示??梢曰谥鞴苋嗽谏虡I(yè)機構(gòu)內(nèi)可能和用戶 直接相關(guān)的程度或者基于按反應用戶將選擇特定主管人作為許可人的可能性的順序列出建議輸入的其他標準來選擇建議的主管人??梢曰诶缬脩舻南嗤块T內(nèi)的其他管理者識別對于可能許可人的額外建議。在所示的例子中,主管人及其相應雇員 ID的列表512被展示給用戶,作為填充圖5中所見的許可人數(shù)據(jù)字段510d的建議輸入。除了識別用于用戶接口中的特定數(shù)據(jù)字段510的建議輸入以外,基于上下文的模塊128也可以針對與被選擇文本相關(guān)聯(lián)的建議搜索、導航或者動作項目把上下文標記施加于在用戶接口中顯示的被選擇文本。用戶接口可以包括由用戶在數(shù)據(jù)字段中輸入的某種文本或者在用戶接口內(nèi)顯示的文本。在某些實施方案中,基于上下文的模塊128可以掃描用戶接口,并選擇或者突出顯示語義豐富文本用于進一步的處理和標記。例如,基于上下文的模塊128可以確定有關(guān)的商業(yè)過程上下文126中的某種文本和對應的變量之間的重要邏輯聯(lián)系。如圖5中所示,用戶接口中的三個單詞已被基于上下文的環(huán)境突出顯示 “d023588”520a、“Reiner”520b*“Harald”520c。在某些實施方案中,基于特定數(shù)據(jù)字段中的數(shù)據(jù)的類型選擇用戶接口中的單詞以用于突出顯示。例如“d023588”文本520a可以被基于上下文的模塊128識別為雇員的標準雇員ID,并被相應地突出顯示以使額外數(shù)據(jù)和鏈接可以被針對雇員ID展示。此外,使用“d023588”520a作為搜索項在后端系統(tǒng)124中的數(shù)據(jù)庫184中的文本搜索可以識別與“d023588”雇員ID相關(guān)聯(lián)的全名“Reiner Hille”。 換句話說,從被基于上下文的模塊128調(diào)用的自動搜索功能182獲得的搜索結(jié)果可被用于突出顯示用于上下文標記的文本。由于“Reiner”520b是出現(xiàn)在用戶接口中的另一數(shù)據(jù)字段中的單詞,所以其也被突出顯示。最后,與特定休假請求相關(guān)聯(lián)的雇員可以具有“Harald” 的名字,并且“Harald”文本520c也被相應地突出顯示??梢蕴幚肀煌怀鲲@示的文本以確定和每一被突出顯示的單詞相關(guān)聯(lián)的上下文,并且,如果合適則施加上下文標記,以使和被突出顯示的文本相關(guān)聯(lián)的額外信息或者建議動作項目可以在例如下拉菜單530中被展示給用戶??梢允褂脝卧~列表152來促進文本的突出顯示和生成上下文標記。單詞列表152包括已知針對特定過程上下文提供了額外信息的相關(guān)單詞。在某些情況下,單詞列表152以前可能已被生成過,并且可以選擇在單詞列表 152中找到的單詞突出顯示,或者,可以從單詞列表確定被突出顯示的單詞的上下文。如果先前還未生成單詞列表152,則可以創(chuàng)建單詞列表152并利用突出顯示的單詞填充。在其他的情況下,可以基于單詞與用戶接口中的其他項目,例如數(shù)據(jù)字段或者其他文本的關(guān)系確定被突出顯示的單詞的上下文。例如,在所示實施例中,基于在數(shù)據(jù)字段510e中輸入的消息稱呼中包括“Reiner”520b,基于上下文的模塊128可以確定“Reiner”是雇員名或者可能許可人的名字。此外,基于其存在于許可人數(shù)據(jù)字段510d中,例如“d023588”520a的其他突出顯示的文本可以被識別為許可人的雇員ID,并且在后端儲存庫184中搜索以后,雇員ID 520a與其對應的雇員名Reiner鏈接。一旦確定可能的許可人的名字可以在數(shù)據(jù)字段內(nèi)顯示,則可以展示從許可人被突出顯示的名字的上下文導出的信息530。該信息可以包括對用戶的建議動作項目,例如示出被突出顯示的許可人的簡檔、在組織圖中示出被突出顯示的許可人、打開Harald的假期日程表、示出與許可人相關(guān)聯(lián)的額外信息、列出額外的替代許可人,或者與被識別的許可人和有關(guān)上下文相關(guān)聯(lián)的其他動作項目。上下文標記可以與來自針對用戶接口中的數(shù)據(jù)字段執(zhí)行 的基于上下文的搜索的搜索結(jié)果鏈接。換句話說,從基于上下文的模塊128獲得的關(guān)于特定商業(yè)過程或者用戶的已知信息可以用來增強或者更新上下文標記。具體來說,基于上下文的模塊128能夠?qū)嵤┚S護與特定商業(yè)過程相關(guān)的統(tǒng)計信息的歷史或者數(shù)據(jù)庫的學習機制。統(tǒng)計數(shù)據(jù)基于與由基于上下文的模塊128展示的建議相關(guān)聯(lián)的用戶活動更新。例如,當基于上下文的模塊128 不了解特定用戶與特定商業(yè)過程相關(guān)聯(lián)的先前活動時,基于上下文的模塊128可以基于內(nèi)部邏輯生成給用戶的建議或者上下文標記,所述內(nèi)部邏輯“猜測”最可能被特定用戶選擇的建議、鏈接和動作項目。然后,用戶的動作,例如用戶選擇或者避免某些建議的輸入或者鏈接,被學習機制追蹤并存儲在與該用戶及特定過程上下文相關(guān)聯(lián)的歷史中。然后,可以使用用戶的先前動作改善或者提高將來給用戶的建議。因此,基于上下文的模塊128可以基于與特定過程上下文相關(guān)聯(lián)的內(nèi)部邏輯以及與過程上下文相關(guān)聯(lián)的用戶的先前動作的歷史, 來生成對數(shù)據(jù)字段的上下文標記或者建議輸入。在某些實施方案中,針對過程上下文收集的統(tǒng)計數(shù)據(jù)可以是特定于特定用戶的歷史,或者多個用戶之間的使用模式的一般性歷史。前面的附圖和伴隨的描述示出了示范性過程和計算機實施的技術(shù)。但是環(huán)境 100 (或者其軟件或其他部件)預期使用、實施或者執(zhí)行任何合適的用于執(zhí)行這些和其他任務的技術(shù)。將會理解,這些過程只是用于說明的目的,并且所描述的或者類似的技術(shù)可以在任何合適的時間執(zhí)行,包括同時地、單個地或者組合地執(zhí)行。此外,這些過程中的很多步驟可以同時發(fā)生和/或按和所示的不同的順序發(fā)生。而且,環(huán)境100可以使用具有額外步驟、 更少的步驟,和/或不同的步驟的過程,只要這些方法仍舊合適。換句話說,盡管已經(jīng)安某些實施例和一般相關(guān)聯(lián)的方法描述了本公開,但是本領(lǐng)域技術(shù)人員將清楚這些實施例和方法的更改和變換。因此,上面對示范性實施例的描述不限定或者約束本公開。不偏離本公開的精神和范圍,其他變化、替換和更改也是可能的。
權(quán)利要求
1.一種計算機實施的方法,用于使得一個或多個處理器生成給用戶的建議選項,所述方法包含由所述一個或多個處理器執(zhí)行的下列步驟識別要由用戶填充的電子頁面上的數(shù)據(jù)字段,所述數(shù)據(jù)字段與商業(yè)過程相關(guān)聯(lián);識別與所述商業(yè)過程相關(guān)聯(lián)的數(shù)據(jù)對象,所述數(shù)據(jù)對象包括代表與所述商業(yè)過程有關(guān)的值的至少一個數(shù)據(jù)對象字段;在所述數(shù)據(jù)對象中選擇特定數(shù)據(jù)對象字段以用于與所述特定數(shù)據(jù)對象字段相關(guān)的額外搜索;針對與所述商業(yè)過程相關(guān)聯(lián)的額外信息執(zhí)行對后端儲存庫的搜索,所述搜索至少使用與所述特定數(shù)據(jù)對象字段相關(guān)聯(lián)的標識符以及所述特定數(shù)據(jù)對象字段的類型;至少基于從所述搜索獲得的搜索結(jié)果,動態(tài)地確定用于填充所述數(shù)據(jù)字段的建議輸入;和通過所述電子頁面的用戶接口向所述用戶展示所述建議輸入。
2.如權(quán)利要求1所述的方法,其中,基于下列的至少一個來識別所述數(shù)據(jù)對象所述商業(yè)過程、所述用戶的用戶簡檔、所述用戶的至少一個用戶活動、由所述用戶輸入的數(shù)據(jù),或者在所述電子頁面的所述用戶接口中展示的靜態(tài)文本。
3.如權(quán)利要求1所述的方法,其中,選擇所述特定數(shù)據(jù)對象字段基于所述特定數(shù)據(jù)對象字段和所述電子頁面上的所述數(shù)據(jù)字段之間的邏輯聯(lián)系的確定。
4.如權(quán)利要求1所述的方法,其中,選擇所述特定數(shù)據(jù)對象字段至少部分地基于所述數(shù)據(jù)對象的類型。
5.如權(quán)利要求1所述的方法,其中,所述至少一個搜索結(jié)果至少包括描繪與所述特定數(shù)據(jù)對象字段相關(guān)聯(lián)的數(shù)據(jù)對象之間的邏輯聯(lián)系的對象圖。
6.如權(quán)利要求5所述的方法,其中,所述建議輸入至少部分地基于所述對象圖來確定。
7.如權(quán)利要求1所述的方法,還包括向所述用戶接口中的至少一個被選擇單詞施加上下文標記,所述上下文標記包含數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包含與所述至少一個被選擇單詞相關(guān)聯(lián)的有關(guān)信息。
8.如權(quán)利要求7所述的方法,其中,所述上下文標記至少包括用于執(zhí)行與所述商業(yè)過程相關(guān)聯(lián)的輔助任務的建議選項。
9.如權(quán)利要求1所述的方法,還包括維護與先前展示的與所述用戶或者所述商業(yè)過程相關(guān)聯(lián)的建議輸入相關(guān)聯(lián)的歷史數(shù)據(jù)。
10.如權(quán)利要求9所述的方法,其中,所述建議輸入至少部分基于與先前展示的建議輸入相關(guān)聯(lián)的歷史數(shù)據(jù)來確定。
11.如權(quán)利要求9所述的方法,其中,在接收到來自用戶的對于所述建議輸入的選擇之后更新與先前展示的建議輸入相關(guān)聯(lián)的所述歷史數(shù)據(jù)。
12.如權(quán)利要求1所述的方法,其中,所述建議輸入還基于與所述商業(yè)過程有關(guān)的術(shù)語的預先定義的單詞列表。
13.一種被編碼在有形存儲介質(zhì)上的計算機程序產(chǎn)品,所述產(chǎn)品包含計算機可讀指令, 用于使得一個或多個處理器執(zhí)行操作,所述操作包括識別在用戶接口中顯示的單詞,所述單詞與商業(yè)過程相關(guān)聯(lián);識別與所述商業(yè)過程相關(guān)聯(lián)的數(shù)據(jù)對象,所述數(shù)據(jù)對象包括代表與所述商業(yè)過程有關(guān)的值的至少一個數(shù)據(jù)對象字段;在所述數(shù)據(jù)對象中選擇特定數(shù)據(jù)對象字段以用于與所述特定數(shù)據(jù)對象字段相關(guān)的額外搜索;針對與所述商業(yè)過程相關(guān)聯(lián)的額外信息執(zhí)行對后端儲存庫的搜索,所述搜索至少使用與所述特定數(shù)據(jù)對象字段相關(guān)聯(lián)的標識符以及所述特定數(shù)據(jù)對象字段的類型;動態(tài)地確定與在所述用戶接口中顯示的單詞相關(guān)的建議選項,所述建議選項至少基于從所述搜索獲得的搜索結(jié)果來確定;和通過所述用戶接口向所述用戶展示所述建議選項。
14.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中,基于所述被識別的單詞和所述用戶接口中的其他文本之間的關(guān)系或者基于生成額外的建議選項的可能性中的至少一個來選擇所述被識別的單詞。
15.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中,所述建議選項被存儲在包含與所述至少一個被選擇單詞相關(guān)聯(lián)的有關(guān)信息的數(shù)據(jù)結(jié)構(gòu)中。
16.如權(quán)利要求15所述的計算機程序產(chǎn)品,其中,所述數(shù)據(jù)結(jié)構(gòu)包括去往用于執(zhí)行與所述商業(yè)過程相關(guān)聯(lián)的輔助任務的應用程序的鏈接。
17.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中,在所述用戶接口中顯示的所述單詞是由所述用戶輸入到所述用戶接口中的數(shù)據(jù)字段中的文本。
18.如權(quán)利要求13所述的計算機程序產(chǎn)品,其中,在所述用戶接口中顯示的所述單詞基于與所述商業(yè)過程有關(guān)的術(shù)語的預先定義的單詞列表來識別。
19.如權(quán)利要求18所述的權(quán)利要求,其中,在所述建議選項被展示給所述用戶之后利用額外信息來更新所述預先定義的單詞列表。
20.一種系統(tǒng),包含存儲器,可操作地存儲與商業(yè)過程的上下文相關(guān)聯(lián)的信息;和一個或多個處理器,可操作地識別要由用戶填充的電子頁面上的數(shù)據(jù)字段,所述數(shù)據(jù)字段與商業(yè)過程相關(guān)聯(lián); 識別與所述商業(yè)過程相關(guān)聯(lián)的數(shù)據(jù)對象,所述數(shù)據(jù)對象還與命名空間和值相關(guān)聯(lián); 針對與所述商業(yè)過程相關(guān)聯(lián)的額外信息執(zhí)行對后端儲存庫的搜索,所述搜索至少使用與所述數(shù)據(jù)對象相關(guān)聯(lián)的所述命名空間和所述值;至少基于從所述搜索獲得的搜索結(jié)果,動態(tài)地確定用于填充所述數(shù)據(jù)字段的建議輸入;和通過所述電子頁面的用戶接口向所述用戶展示所述建議輸入。
全文摘要
本發(fā)明涉及用于在商業(yè)過程中提供基于上下文的用戶接口、搜索和導航的系統(tǒng)、軟件和計算機實施的方法。一個過程包括用于識別要被用戶填充的用于商業(yè)過程的電子頁面上的數(shù)據(jù)字段和與該商業(yè)過程相關(guān)聯(lián)的數(shù)據(jù)對象。選擇數(shù)據(jù)對象中的特定數(shù)據(jù)對象字段以用于額外搜索,并且基于對與使用該特定數(shù)據(jù)對象字段和特定類型的數(shù)據(jù)對象的商業(yè)過程相關(guān)聯(lián)的額外信息的搜索,確定用于填充數(shù)據(jù)字段的建議輸入。
文檔編號G06F17/30GK102385483SQ20111026074
公開日2012年3月21日 申請日期2011年9月5日 優(yōu)先權(quán)日2010年9月3日
發(fā)明者H-D.雷納 申請人:Sap股份公司