專利名稱::利用gui工具來編輯工作流邏輯和屏幕的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及工作流管理系統(tǒng),并且具體地涉及一種用于使用圖形用戶界面來創(chuàng)建和/或編輯業(yè)務(wù)工作流邏輯的系統(tǒng)和方法。
背景技術(shù):
:許多業(yè)務(wù)使用應(yīng)用軟件來管理和分析工作流。通過對包括工作定單、后勤、庫存管理、制造、交易批準(zhǔn)和驗證的業(yè)務(wù)功能和過程的控制進行輔助和/或自動化,工作流軟件應(yīng)用程序潛在地提高了生產(chǎn)率和效率。每個業(yè)務(wù)實體實施它自身的隨著它的產(chǎn)業(yè)、組織結(jié)構(gòu)和獨特業(yè)務(wù)計劃而變的獨特業(yè)務(wù)過程。結(jié)果,公司通常開發(fā)定制的軟件,以滿足它們的業(yè)務(wù)過程的特定要求。許多軟件應(yīng)用程序不能容易地適應(yīng)對公司的業(yè)務(wù)計劃和過程的改變,該改變要求修改應(yīng)用程序的工作流邏輯,或者要求添加和/或重新定義系統(tǒng)中的數(shù)據(jù)字段。修改應(yīng)用程序的工作流邏輯通常還要求修改應(yīng)用程序的用戶屏幕或者添加新用戶屏幕。更新定制的軟件應(yīng)用程序以適應(yīng)對公司的業(yè)務(wù)計劃和過程的改變通常要求程序員重新編寫、重新編譯并測試應(yīng)用程序。如果在測試中發(fā)現(xiàn)錯誤,則應(yīng)用程序可能需要進一步修訂,這將延遲實施對系統(tǒng)的必要更新。因此,對客戶軟件的更新在財務(wù)資源和時間延遲方面成本高。工作流軟件應(yīng)用程序需要能夠適應(yīng)業(yè)務(wù)改變并且允許用戶編輯工作流邏輯。然而,這樣的可配置軟件應(yīng)用程序必須克服幾個設(shè)計問題。使用戶能夠在編輯工作流邏輯時自由地編寫邏輯語句的應(yīng)用程序使得有機會發(fā)生可能對用戶不明顯并且能夠破壞系統(tǒng)的編程錯誤。允許用戶創(chuàng)建或者編輯工作流邏輯語句的應(yīng)用程序通常要求用戶具備使用程序編輯工具進行邏輯編程的高級知識。旨在提供簡單用戶友好編輯工具的軟件可能限制了提供用在工作流邏輯中的邏輯函數(shù)。在用戶可配置工作流應(yīng)用程序的設(shè)計中的進一步的問題是僅顯示工作流邏輯語句以便進行編輯。用戶不能在應(yīng)用程序屏幕的環(huán)境中查看工作流語句,所述應(yīng)用程序屏幕被呈現(xiàn)給執(zhí)行工作流過程的工作人員。創(chuàng)建和編輯與新的和/或修訂的工作流邏輯協(xié)同工作的應(yīng)用程序屏幕通常通過單獨的系統(tǒng)工具作為單獨的任務(wù)來進行。通過使用多個工具和圖形用戶界面來使必要的應(yīng)用程序屏幕與工作流邏輯的改變相協(xié)調(diào)的任務(wù)耗費時間、不方便并且使得易于發(fā)生可能對用戶不明顯的問題和不一致性。將新的變化集成到典型的應(yīng)用軟件中的工作流邏輯要求重新編譯軟件并且重啟系統(tǒng)。系統(tǒng)的可操作性暫停,直至它被重啟。這可能是對業(yè)務(wù)的高成本中斷,特別是如果新的變化要求進一步的測試和調(diào)整,這會引起額外的重新編譯和停工時間。允許將新的和修訂的工作流邏輯集成到系統(tǒng)而不重新編寫和重新編譯系統(tǒng)的現(xiàn)有軟件要求使用解析樹,這降低了系統(tǒng)的處理速度和效率。允許用戶為工作流創(chuàng)建應(yīng)用程序屏幕的現(xiàn)有軟件必須在一開始被設(shè)計成包括所有必要的屏幕和字段,以滿足每個業(yè)務(wù)過程的需要。這樣的屏幕可能過多載入對于多數(shù)標(biāo)準(zhǔn)業(yè)務(wù)過程而言通常并不需要的并且可能讓工作人員感到困惑和不便的字段和信息。需要的是一種利用用戶友好圖形用戶界面工具的系統(tǒng),該圖形用戶界面工具允許用戶創(chuàng)建和/或編輯應(yīng)用軟件的工作流邏輯而錯誤機會最少,并且高效地創(chuàng)建和/或編輯相應(yīng)的工作流應(yīng)用程序屏幕而無需本來會中斷應(yīng)用程序可操作性的應(yīng)用軟件重新編寫和重新編譯。
發(fā)明內(nèi)容本發(fā)明是一種在工作流管理系統(tǒng)中用來允許用戶創(chuàng)建和/或編輯工作流并且同時查看、創(chuàng)建和/或編輯與工作流邏輯協(xié)同工作的相應(yīng)應(yīng)用程序屏幕的圖形用戶界面(GUI)。GUI工具的用戶友好設(shè)計允許用戶實施該工具而無需高級編程語言。GUI工具用用戶友好的口語語法提供讓用戶用來創(chuàng)建和/或編輯工作流邏輯的函數(shù)、運算符、字段和變量的上下文有關(guān)菜單。GUI工具的上下文有關(guān)菜單有效地防止用戶在創(chuàng)建或者編輯工作流邏輯的過程期間產(chǎn)生語法錯誤。因此,GUI工具能夠向用戶賦予創(chuàng)建和編輯工作流的靈活性而又防止語法錯誤破壞系統(tǒng)。GUI工具也向用戶提供用以查看、創(chuàng)建和編輯與工作流邏輯協(xié)同工作的應(yīng)用程序屏幕的能力。在業(yè)務(wù)工作流期間向工作人員顯示應(yīng)用程序屏幕以輔助他們進行各種業(yè)務(wù)過程。這種創(chuàng)新解決方案允許用戶同時創(chuàng)建和配置根據(jù)用戶定義的工作流邏輯來工作的應(yīng)用程序屏幕。系統(tǒng)也被設(shè)計成集成對工作流和應(yīng)用程序屏幕的任何改變而無需重新編寫和重新編譯應(yīng)用程序。用戶因此可以對工作流邏輯和應(yīng)用程序屏幕進行改變而不在任何時間中斷工作流管理系統(tǒng)的可操作性、也不造成任何停工時間。提供了一種用于編輯工作流邏輯的圖形用戶界面程序,該程序包括同時顯示以下屏幕區(qū)域的圖形用戶界面工具第一屏幕區(qū)域,其中應(yīng)用程序屏幕是可編輯的;第二屏幕區(qū)域,其中工作流邏輯是可編輯的;第三屏幕區(qū)域,其提供用于在編輯工作流邏輯時使用的用口語語法呈現(xiàn)的多個工作流部件的上下文有關(guān)菜單;以及第四屏幕區(qū)域,其提供可用來為所述工作流邏輯創(chuàng)建工作流邏輯語句的數(shù)據(jù)字段和可重復(fù)字段的菜單。通過包括向圖形用戶界面工具可訪問的數(shù)據(jù)庫添加的數(shù)據(jù)字段,工作流邏輯可以是可編輯的。通過用新工作流邏輯語句更換工作流邏輯語句,工作流邏輯可以進一步可編輯。工作流邏輯可以進一步可編輯以包括多個數(shù)據(jù)字段和可重復(fù)項及其排列。通過生成新工作流邏輯語句并且包括數(shù)據(jù)庫的先前添加或者新添加的字段,工作流邏輯可以更進一步可編輯??梢詣討B(tài)地更新第四屏幕區(qū)域以對應(yīng)于對數(shù)據(jù)庫中的字段的改變。工作流邏輯可以通過以下進一步可編輯通過包括在上下文有關(guān)菜單內(nèi)提供的運算符、函數(shù)和字段的排列,生成所述工作流邏輯。通過提供用于施加while循環(huán)的構(gòu)造,工作流邏輯可以進一步可編輯。用于將邏輯測試應(yīng)用于所有字段的構(gòu)造可以是在可重復(fù)項中,以及在可重復(fù)項內(nèi)的在可重復(fù)項內(nèi)一級嵌套的所有字段中。通過修改屏幕以包括數(shù)據(jù)庫中的新添加或者修改的字段,應(yīng)用程序屏幕可以是可編輯的。通過用新應(yīng)用程序屏幕更換應(yīng)用程序屏幕,應(yīng)用程序屏幕可以進一步可編輯。應(yīng)用程序屏幕可以進一步可編輯以包括任何數(shù)目的字段和可重復(fù)字段及其排列。通過生成新應(yīng)用程序屏幕并且添加數(shù)據(jù)庫內(nèi)的先前添加的字段,應(yīng)用程序屏幕也可以可編輯。通過創(chuàng)建子屏幕以對字段和可重復(fù)字段進行分組,應(yīng)用程序屏幕可以進一步可編輯。提供了一種用于將工作流邏輯和與工作流邏輯關(guān)聯(lián)的應(yīng)用程序屏幕與應(yīng)用程序動態(tài)地集成的系統(tǒng),該系統(tǒng)包括應(yīng)用程序,用于執(zhí)行工作流邏輯和應(yīng)用程序屏幕;數(shù)據(jù)庫,其存儲多個字段和多個可重復(fù)字段以及與業(yè)務(wù)工作流對應(yīng)的可執(zhí)行構(gòu)造;圖形用戶界面工具,其向用戶提供屏幕區(qū)域,用于使用多個已定義函數(shù)、多個邏輯運算符、多個關(guān)鍵字和所述多個字段來為業(yè)務(wù)工作流創(chuàng)建工作流邏輯,以產(chǎn)生與業(yè)務(wù)工作流的工作流邏輯協(xié)同工作的包括字段和可重復(fù)字段的應(yīng)用程序屏幕。圖形用戶接口工具可以使新的或者修改的字段或者新的或者修改的可重復(fù)字段在新的或者修改的字段或者新的或者修改的可重復(fù)字段被添加到數(shù)據(jù)庫時變得可用。所述多個字段和多個可重復(fù)字段可以在數(shù)據(jù)庫中存儲為可擴展標(biāo)記語言(XML)代碼。圖形用戶界面工具可以用口語語法提供上下文有關(guān)參數(shù)的菜單以創(chuàng)建工作流邏輯,并且可以提供用于創(chuàng)建與工作流邏輯協(xié)同的應(yīng)用程序屏幕的手段。工作流邏輯的表示可以用口語語法來呈現(xiàn),該口語語法可轉(zhuǎn)換成存儲于數(shù)據(jù)庫上并且變得可為應(yīng)用程序所用的XML代碼。同樣地,應(yīng)用程序屏幕的表示可以被轉(zhuǎn)換成存儲于數(shù)據(jù)庫上并且變得可為所述應(yīng)用程序所用的XML代碼。本發(fā)明的其它優(yōu)點將從這里提供的對本發(fā)明的詳細(xì)描述和示例中變得明顯。圖1圖示了根據(jù)本發(fā)明的示例圖形用戶界面工具及其關(guān)聯(lián)部件區(qū)域;圖2圖示了根據(jù)一個優(yōu)選實施例的其中可以實施本發(fā)明的計算環(huán)境的框圖;圖3是業(yè)務(wù)工作流的流程圖;圖4是示出了每個過程如何通過應(yīng)用程序屏幕來表示的工作流的流程圖,其中該應(yīng)用程序屏幕有效地提供系統(tǒng)的工作流邏輯相對于圖3中所示的業(yè)務(wù)工作流的一對一映射;圖5是GUI工具的屏幕截圖,其圖示了針對圖4中所示的系統(tǒng)工作流的"VerifyInfo(驗證信息)"屏幕,如何使用工具部件來配置應(yīng)用程序屏幕和相應(yīng)的工作流邏輯;圖6是GUI工具的屏幕截圖,其圖示了針對圖4中所示的系統(tǒng)工作流的"WhatType0預(yù)eter(什么類型的計量器)"屏幕,如何使用工具部件來配置應(yīng)用程序屏幕和相應(yīng)的工作流邏輯;圖7是GUI工具的屏幕截圖,其圖示了針對圖4中所示的系統(tǒng)工作流的"RegularScreen(普通屏幕)",如何使用工具部件來配置應(yīng)用程序屏幕和相應(yīng)的工作流邏輯;圖8是GUI工具的屏幕截圖,其圖示了針對圖4中所示的系統(tǒng)工作流的"SmartMeterInfo(智能計量器信息)",如何使用工具部件來配置應(yīng)用程序屏幕和相應(yīng)的工作流邏輯;圖9是GUI工具的屏幕截圖,其圖示了針對圖4中所示的系統(tǒng)工作流的"NewMeter(新計量器)",如何使用工具部件屏幕來配置應(yīng)用程序屏幕和相應(yīng)的工作流邏輯;圖10是GUI工具的屏幕截圖,其圖示了針對圖4中所示的系統(tǒng)工作流的6"CompleteScreen(完成屏幕)",如何使用工具部件來配置應(yīng)用程序屏幕和相應(yīng)的工作流邏輯;圖11是GUI工具的屏幕截圖,其圖示了當(dāng)用戶選擇"Workflow(工作流)"語句時提供的允許構(gòu)造的上下文有關(guān)菜單;圖12是GUI工具的屏幕截圖,其圖示了當(dāng)用戶選擇"Variable(變量)"語句時提供的允許構(gòu)造的上下文有關(guān)菜單;圖13是GUI工具的屏幕截圖,其圖示了當(dāng)用戶選擇"Test(測試)"函數(shù)時提供的允許構(gòu)造的上下文有關(guān)菜單;圖14是GUI工具的屏幕截圖,其圖示了當(dāng)用戶選擇"Then(則)"函數(shù)時提供的允許構(gòu)造的上下文有關(guān)菜單;圖15是GUI工具的屏幕截圖,其圖示了當(dāng)用戶選擇"Else(否則)"函數(shù)時提供的允許構(gòu)造的上下文有關(guān)菜單;圖16是GUI工具的屏幕截圖,其圖示了當(dāng)用戶選擇"While(當(dāng)......時)"函數(shù)時提供的允許構(gòu)造的上下文有關(guān)菜單;圖17是GUI工具的屏幕截圖,其圖示了在用戶選擇配置"Set(置值)"構(gòu)造內(nèi)的"Z"變量時由上下文有關(guān)編輯器提供的允許參數(shù);圖18是GUI工具的屏幕截圖,其圖示了在用戶選擇配置"Set(置值)"構(gòu)造內(nèi)的"Operation(運算)"元素時由上下文有關(guān)編輯器提供的允許參數(shù);圖19是工作流編程語言的例子;圖20是用于在工作流邏輯中利用while循環(huán)時的獨特構(gòu)造的例子;以及圖21圖示了用于在工作流邏輯中并入可重復(fù)字段的獨特構(gòu)造的例子。圖22圖示了使用如圖21中所示的"Tests(多項測試)"中的可重復(fù)項的用于構(gòu)造的編程語言。具體實施例方式可以用許多不同的配置、形式和設(shè)計元素來實現(xiàn)本發(fā)明及其原理。以如下理解來描述這里本發(fā)明的附圖、示例和描述本公開內(nèi)容被視為舉例說明本發(fā)明的原理而并非意欲將本發(fā)明限制于所示實施例。本領(lǐng)域技術(shù)人員可以預(yù)想在本發(fā)明的范圍內(nèi)的許多可能變化。工作流系統(tǒng)包括圖形用戶界面(GUI)工具IO,其允許用戶創(chuàng)建和/或編輯工作流邏輯并且同時查看、創(chuàng)建和/或編輯與工作流邏輯協(xié)同工作的應(yīng)用程序工作流屏幕。圖1圖示了稱為起源(Genesis)的GUI工作流屏幕工具10中的部件。GUI工作流屏幕工具10提供工作流編輯器20的屏幕區(qū)域,用于讓用戶創(chuàng)建和/或編輯工作流邏輯;屏幕編輯器30的屏幕區(qū)域,用于讓用戶查看、創(chuàng)建和/或編輯相應(yīng)的工作流屏幕,其中工作流邏輯應(yīng)用于應(yīng)用程序中;上下文有關(guān)編輯器40的屏幕區(qū)域,其提供用以在工作流邏輯內(nèi)創(chuàng)建和/或編輯邏輯語句的允許參數(shù)的上下文有關(guān)菜單;以及字段菜單50的屏幕區(qū)域,其提供數(shù)據(jù)字段和可重復(fù)數(shù)據(jù)字段。這里也稱為"可重復(fù)項(r印eatable)"的可重復(fù)數(shù)據(jù)字段是如下字段,這些字段是往往重復(fù)許多行并且在HTML范式中也稱為表的字段組合。圖2示出了其中可以實施本發(fā)明的示例計算環(huán)境70。本領(lǐng)域技術(shù)人員將會意識到可以用其它計算機系統(tǒng)配置來實施GUI工具10。GUI工作流屏幕工具10可以實施于工作流管理應(yīng)用程序71中。通過內(nèi)部網(wǎng)或者網(wǎng)絡(luò)74如因特網(wǎng),遠(yuǎn)程桌面客戶機72和/或無線移動客戶機73可以訪問服務(wù)器76,并且數(shù)據(jù)庫77可以訪問工作流管理應(yīng)用程序71。數(shù)據(jù)庫77用來存儲與數(shù)據(jù)字段、可重復(fù)字段、工作流邏輯和應(yīng)用程序屏幕有關(guān)的信息。也可以提供其它部件、函數(shù)和數(shù)據(jù)庫。工作流邏輯和應(yīng)用程序屏幕一旦被定義就可以存儲于數(shù)據(jù)庫77中,以便由一個或者多個客戶機72、73在執(zhí)行工作流時使用。工作流可以用于任一類業(yè)務(wù)或者其它活動,而圖3圖示了用于計量器更換工作的示例業(yè)務(wù)工作流80。工作人員根據(jù)由業(yè)務(wù)工作流80定義的必要過程來進行計量器更換工作。在工作流80的步驟81中,工作人員驗證他們已經(jīng)到達正確地址并且驗證在工作定單中聲明的正確計量器ID。在步驟82中,工作人員標(biāo)識計量器是否為"Regular(普通)"計量器或者計量器是否為"Smart(智能)"計量器。如果計量器為"Regular(普通)"計量器,則工作人員進行步驟83a,該步驟要求錄入"01dreading(舊讀數(shù))"。如果計量器為"Smart(智能)"計量器,則工作人員進行步驟83b,該步驟要求錄入"Oldreading(舊讀數(shù))"并且錄入"Demandread(需求讀數(shù))"。工作人員然后進行步驟84,該步驟要求拆卸舊計量器、安裝新更換的計量器并且收集新計量器ID。步驟85表明工作流完成。參照圖4,應(yīng)用程序71允許用戶創(chuàng)建和配置應(yīng)用程序屏幕93到98,這些應(yīng)用程序屏幕在工作流90中用來輔助工作人員準(zhǔn)確和高效地執(zhí)行圖3中所示的業(yè)務(wù)工作流80的必要過程。各屏幕93到98與用戶定義的工作流邏輯(比如91、92)協(xié)同工作,并且在本質(zhì)上為工作流邏輯的表示層。用戶可以創(chuàng)建多個屏幕,這些屏幕一起工作以形成對業(yè)務(wù)工作流80的必要階段進行建模的完整工作流90。屏幕93到98有效地提供系統(tǒng)工作流邏輯90相對于業(yè)務(wù)工作流80的一對一映射和便利檢閱。圖5到圖10圖示了形成如圖4中所示的完整工作流90的一系列屏幕的配置。各屏幕代表如圖3中所示的業(yè)務(wù)工作流80內(nèi)的單獨過程。圖5圖示了使用GUI工具來配置在工作人員的移動設(shè)備上呈現(xiàn)的工作流屏幕37,其有效地表示了業(yè)務(wù)工作流80的步驟1和工作流90內(nèi)的屏幕93。屏幕37要求工作人員錄入地址和計量器ID以驗證他們在正確的工作定單位置。GUI工具允許用戶同時查看和配置與工作流屏幕37協(xié)同工作的工作流邏輯21。工作流邏輯21被配置成在工作人員已經(jīng)錄入和驗證地址和計量器ID之后示出表示業(yè)務(wù)工作流80內(nèi)的步驟82的"WhatTypeO預(yù)eter(什么類型的計量器)"屏幕94。圖6圖示了配置屏幕37以顯示有效地表示業(yè)務(wù)工作流80的步驟82的"WhatTypeO預(yù)eter(什么類型的計量器)"屏幕94。屏幕94要求工作人員錄入計量器ID和計量器類型。工作流邏輯21被配置成如果工作人員標(biāo)識計量器為"Regular(普通)"計量器則示出"RegularScreen(普通屏幕)"。當(dāng)將計量器標(biāo)識為不同于"Regular(普通)"計量器時,工作流邏輯21被配置成示出"SmartMeterInfo(智能計量器信息)"屏幕。圖7圖示了將屏幕37配置成表示業(yè)務(wù)工作流80的步驟83a的"RegularScreen(普通屏幕)"95。屏幕95要求工作人員將舊計量器的計量器讀數(shù)錄入到"OldRead(舊讀數(shù))"字段中并且提供用以允許錄入適用注釋的"Comments(注釋)"字段。工作流邏輯21被配置成在工作人員已經(jīng)完成錄入必要數(shù)據(jù)之后示出表示業(yè)務(wù)工作流80的步驟84的"NewMeter(新計量器)"屏幕97。圖8圖示了配置屏幕37以顯示表示業(yè)務(wù)工作流80的步驟83b的"SmartMeterInfo(智能計量器信息)"屏幕96。屏幕96要求工作人員錄入用于"01dRead(舊讀數(shù))"字段和"OldDemand(舊需求)"字段的數(shù)據(jù)并且還提供用以允許錄入適用注釋的"Comments(注釋)"字段。工作流邏輯21被配置成在工作人員已經(jīng)錄入所有必要數(shù)據(jù)之后示出表示業(yè)務(wù)工作流80的步驟84的"NewMeter(新計量器)"屏幕97。圖9圖示了配置屏幕37以顯示表示業(yè)務(wù)工作流80的步驟84的"NewMeter(新計量器)"屏幕97。在工作人員已經(jīng)物理上用新計量器更換舊計量器之后,要求工作人員錄入新計量器ID并在"NewRead(新讀數(shù))"字段中錄入新計量器讀數(shù)。工作流邏輯21被配置成在工作人員已經(jīng)錄入新計量器ID和新計量器讀數(shù)之后示出"CompleteScreen(完成屏幕)"屏幕98。圖10圖示了配置屏幕37以顯示表示業(yè)務(wù)工作流80的步驟85的"Completed(完成)"屏幕98。屏幕98被配置成顯示用以向工作人員通知已經(jīng)成功地完成計量器更換工作的消息。工作流邏輯21示出無需后續(xù)屏幕,這有效地創(chuàng)建了工作流中的結(jié)束點。GUI工具10允許創(chuàng)建和配置屏幕以從工作人員收集用以執(zhí)行工作流邏輯的數(shù)據(jù)。也可以創(chuàng)建和配置屏幕以顯示來自工作流邏輯處理的信息,和/或向工作人員請求附加數(shù)據(jù)以執(zhí)行附加工作流邏輯,或者向工作人員提供與手頭上的立即任務(wù)相關(guān)的信息。參照圖1,用戶可以利用屏幕編輯器30來創(chuàng)建和配置屏幕。用戶可以選擇使用新屏幕按鈕32來創(chuàng)建新屏幕并且為系統(tǒng)定義名稱,或者使用屏幕下拉菜單31來選擇Screen(屏幕)菜單中列舉的屏幕以便進行編輯。用戶可以使用開始屏幕按鈕33為特定工作流91設(shè)置作為開始屏幕的屏幕。用戶可以通過從Fields(字段)菜單50添加字段并且使用工具欄上的文本框按鈕36插入文本框來配置屏幕。字段和文本框用來由工作人員收集數(shù)據(jù)以處理如用戶定義的工作流邏輯。通過將從Fields菜單50可得到的字段和可重復(fù)項拖放到屏幕區(qū)域30中,或者通過利用指示設(shè)備如鼠標(biāo)進行指示和點擊,向適當(dāng)屏幕添加字段和文本框。Fields菜單50提供來自動態(tài)可配置數(shù)據(jù)庫77的字段和可重復(fù)項。數(shù)據(jù)庫77中的新的和/或修訂的字段立即可為GUI工作流屏幕工具10所用。字段具有可以由用戶配置的多個屬性。字段屬性的例子包括標(biāo)注、寬度、高度、類型定向、必備、只讀和標(biāo)簽順序。系統(tǒng)防止用戶從數(shù)據(jù)庫77刪除已經(jīng)并入到邏輯流語句中或者已經(jīng)被引用的字段51。所有字段和有關(guān)屬性在數(shù)據(jù)庫77中存儲為XML數(shù)據(jù)。用戶也可以為屏幕配置用以將字段和文本框一起分組的稱為"Groups(組)"的一個或者多個子屏幕37。對字段的分組提供一種在屏幕中對字段和文本框進行呈現(xiàn)和定位的便利手段。用戶可以通過從工具欄選擇Group選項按鈕35以添加子屏幕37來為屏幕配置子屏幕。字段可以直接添加到子屏幕37的區(qū)域。通過拖動在子屏幕37的側(cè)邊上提供的尺寸調(diào)整句柄38,可以對子屏幕37進行定位和尺寸調(diào)整以容納多個字段。通過拖動在字段的一側(cè)(在圖1中為左側(cè))上提供的位置句柄39,可以將字段定位于屏幕內(nèi)。所配置的屏幕存儲于數(shù)據(jù)庫77中并且變得可為應(yīng)用程序71所用。在從工具欄選擇下拉菜單選項34時變得可用的下拉菜單中列舉已經(jīng)向屏幕添加的子屏幕37。用戶可以選擇下拉菜單34中列舉的單獨子屏幕以便進行編輯或者刪除。也可以通過在單獨子屏幕區(qū)域上點擊指示設(shè)備來單獨選擇子屏幕37。GUI工具10為用戶提供用以創(chuàng)建和配置屏幕的能力,這些屏幕通過向工作人員顯示和/或通過從工作人員取回用以執(zhí)行業(yè)務(wù)工作流80的各階段中的特定過程的僅僅必要和充足信息來輔助對業(yè)務(wù)工作流80內(nèi)的業(yè)務(wù)過程的準(zhǔn)確和高效執(zhí)行。GUI工具10的用戶具有創(chuàng)建和配置屏幕的靈活性,這些屏幕提供及時信息并且避免顯示在業(yè)務(wù)過程的執(zhí)行期間可能讓工作人員感到困惑和不便的過多和無關(guān)信息。參照圖ll,工作流編輯器20允許用戶創(chuàng)建與應(yīng)用程序屏幕協(xié)同工作的新工作流邏輯和/或編輯與應(yīng)用程序屏幕協(xié)同工作的現(xiàn)有工作流邏輯。用戶可以通過以下來創(chuàng)建和/或編輯工作流邏輯選擇工作流邏輯內(nèi)的元素21,然后從工具欄選擇添加選項22,或者通過利用指示設(shè)備右擊元素21。工作流編輯器20然后提供用戶可以用來創(chuàng)建和/或編輯工作流邏輯的允許構(gòu)造41的上下文有關(guān)菜單。用戶可以僅選擇在允許構(gòu)造41的菜單內(nèi)提供的選項。因此防止了用戶錄入將會破壞工作流邏輯的語法錯誤。例如參照圖ll,當(dāng)用戶選擇工作流編輯器20內(nèi)的"Workflow(工作流)"元素21時,GUI工具10提供可以用來配置工作流邏輯的允許構(gòu)造41的菜單。參照圖12,當(dāng)用戶選擇工作流編輯器20內(nèi)的"Variable(變量)"元素24時,允許構(gòu)造41的上下文有關(guān)菜單僅向用戶提供用以定義新變量的允許"Variable(變量)"選項。參照圖13,當(dāng)用戶選擇"Tests(多項測試)"元素25時,工作流編輯器20提供"Tests(多項測試)"元素25特有的允許構(gòu)造41的菜單,包括"Test(—項測試)"、"Tests(多項測試)"禾口"ForEachR印eatableItem(針對各可重復(fù)項)"。參照圖14,當(dāng)用戶選擇"Then(則)"元素26時,工作流編輯器20提供用于"Then(則)"元素26的允許構(gòu)造41的上下文有關(guān)菜單,包括"If(如果)"、"While(當(dāng))"、"Set2(置值2)"、"Show(示出)"、"ForEachR印eatableItem2(對于各可重復(fù)項2)"和"R皿(運行),,。參照圖15,當(dāng)用戶選擇"Else(否則)"元素27時,工作流編輯器20提供用于"Else(否則)"元素27的允許構(gòu)造41的上下文有關(guān)菜單,包括"If(如果)"、"While(當(dāng))"、"Set2(置值2)"、"Show(示出)"、"ForEachR印eatableItem2(對于各可重復(fù)項2)"和"R皿(運行),,。參照圖16,當(dāng)用戶選擇"While(當(dāng))"元素28時,工作流編輯器20提供用于"While(當(dāng))"元素28的允許構(gòu)造41的上下文有關(guān)菜單。當(dāng)用戶從工作流編輯器20選擇工作流邏輯內(nèi)的構(gòu)造時,上下文有關(guān)編輯器40向用戶提供用于所選構(gòu)造的上下文有關(guān)允許參數(shù)。用戶可以有選擇地組合來自上下文有關(guān)編輯器40的可用參數(shù)以配置工作流邏輯語句。上下文有關(guān)編輯器40僅向用戶提供允許的語法選項,用以防止在創(chuàng)建或者編輯邏輯語句時出現(xiàn)語法錯誤。上下文有關(guān)編輯器40用口語語法提供相關(guān)參數(shù)以求用戶友好性。圖17圖示了在用戶選擇工作流編輯器20內(nèi)的"Set(置值)"命令29時上下文有關(guān)編輯器40可以提供的參數(shù)。"Set(置值)"命令29表示以下構(gòu)造10SetZ=X{0peration}Y其中上下文有關(guān)編輯器40提供用以配置"Set(置值)"構(gòu)造的"X"、"Y"和"Z"參數(shù)的允許選項。圖17圖示了為了配置用于"Z"參數(shù)的參數(shù)類型42而向用戶提供的下拉菜單43。該圖示作為例子示出了用戶已經(jīng)從下拉菜單43選擇"Field(字段)"選項44以定義用于"Z"參數(shù)的參數(shù)類型42。圖18圖示了為了配置構(gòu)造內(nèi)的"Operation(運算)"元素45而向用戶提供的允許選項46。該圖示作為例子示出了用戶已經(jīng)選擇"Fill(填入)"選項47以允許工作人員錄入用于"X"參數(shù)的值。圖17和圖18中的例子圖示了上下文有關(guān)編輯器40如何僅向用戶提供用以創(chuàng)建和/或編輯工作流邏輯的相關(guān)和語法正確的選項。用戶也可以通過使用工具欄23中提供的定位箭頭對工作流語句的序列重新排序來修訂工作流。參照圖11,GUI工具lO允許用戶在創(chuàng)建工作流邏輯構(gòu)造時利用包括"If(如果)"、"Tests(多項測試)"、"Then(貝U)"、"Else(否貝U)"、"Foreach(對于各項)"、"While(當(dāng))"、"Show(示出)"和"R皿(運行)"的函數(shù)作為構(gòu)造41以實現(xiàn)復(fù)雜工作流定義。參照圖20,系統(tǒng)利用構(gòu)造101來提供用于在處理工作流邏輯時使用的while循環(huán)。參照圖21,系統(tǒng)利用構(gòu)造102來允許邏輯測試應(yīng)用于可重復(fù)項內(nèi)的所有字段??芍貜?fù)字段也可以嵌套于可重復(fù)字段內(nèi),并且在這樣的情形中可以描述為"one-level-nested(—級嵌套)"。系統(tǒng)構(gòu)造102也可以用來將邏輯測試應(yīng)用于可重復(fù)項內(nèi)的在可重復(fù)字段內(nèi)一級嵌套的所有字段。構(gòu)造102允許在處理工作流邏輯時使用對可重復(fù)字段和一級嵌套可重復(fù)字段的綜合分析。圖22圖示了使用如圖21中所示的"Tests(多項測試)"中的可重復(fù)項的用于構(gòu)造102的編程語言103。GUI工作流屏幕工具IO將工作流邏輯集成為可為應(yīng)用軟件所用的可執(zhí)行構(gòu)造。應(yīng)用軟件解釋新的或者編輯的工作流邏輯,而無需重新編寫或者重新編譯應(yīng)用軟件,也不在任何時間中斷應(yīng)用軟件的可操作性。參照圖19,系統(tǒng)使用基于可擴展標(biāo)記語言(XML)的編程語言來集成工作流邏輯,該編程語言提供編程構(gòu)造如變量、條件、運算、循環(huán)和定制動作并且允許用戶利用變量和全局變量來輔助邏輯。該語言在用戶將變化上傳到數(shù)據(jù)庫時作為XML文檔來加載。系統(tǒng)可以使用文檔對象模型(DOM)方法來遍歷工作流邏輯。系統(tǒng)使用DOM來執(zhí)行由邏輯定義的XML指令。針對桌上型計算機、服務(wù)器或者PDA消費類設(shè)備一次性編寫并且編譯共同項目。共同項目然后讀取用于文檔的XML定義并且允許客戶機72、73利用文檔和工作流??蛻魴C應(yīng)用程序?qū)ML代碼解序列化成能夠?qū)ML命令節(jié)點進行邏輯求值的對象。應(yīng)用程序在啟動時加載相關(guān)文檔文件,并且在被通知時重新加載更新的文件。雖然出于說明的目的已經(jīng)詳細(xì)地公開了本發(fā)明的特定優(yōu)選實施例,但是應(yīng)當(dāng)認(rèn)識到,對所公開的裝置的改變或者修改落在本發(fā)明的范圍內(nèi)。權(quán)利要求一種用于編輯工作流邏輯的圖形用戶界面程序,包括圖形用戶界面工具,其同時顯示第一屏幕區(qū)域,其中應(yīng)用程序屏幕是可編輯的;第二屏幕區(qū)域,其中所述工作流邏輯是可編輯的;第三屏幕區(qū)域,其提供用于在編輯所述工作流邏輯時使用的用口語語法呈現(xiàn)的多個工作流部件的上下文有關(guān)菜單;以及第四屏幕區(qū)域,其提供可用來為所述工作流邏輯創(chuàng)建工作流邏輯語句的數(shù)據(jù)字段和可重復(fù)字段的菜單。2.根據(jù)權(quán)利要求l所述的圖形用戶界面,其中,通過包括向所述圖形用戶界面工具可訪問的數(shù)據(jù)庫添加的數(shù)據(jù)字段,所述工作流邏輯是可編輯的。3.根據(jù)權(quán)利要求2所述的圖形用戶界面,其中,通過用新工作流邏輯語句更換所述工作流邏輯語句,所述工作流邏輯進一步可編輯。4.根據(jù)權(quán)利要求1所述的圖形用戶界面,其中,所述工作流邏輯進一步可編輯以包括多個所述數(shù)據(jù)字段和可重復(fù)項以及所述數(shù)據(jù)字段和可重復(fù)項的排列。5.根據(jù)權(quán)利要求1所述的圖形用戶界面,其中,通過生成新工作流邏輯語句并且包括數(shù)據(jù)庫的先前添加或者新添加的字段,所述工作流邏輯進一步可編輯。6.根據(jù)權(quán)利要求5所述的圖形用戶界面,其中,所述第四屏幕區(qū)域被動態(tài)地更新以對應(yīng)于對所述數(shù)據(jù)庫中的所述字段的改變。7.根據(jù)權(quán)利要求1所述的圖形用戶界面,其中,通過生成包括在上下文有關(guān)菜單內(nèi)提供的運算符、函數(shù)和字段的排列的所述工作流邏輯,所述工作流邏輯進一步可編輯。8.根據(jù)權(quán)利要求7所述的圖形用戶界面,其中,通過提供用于施加while循環(huán)的構(gòu)造,所述工作流邏輯進一步可編輯。9.根據(jù)權(quán)利要求7所述的圖形用戶界面,其中,構(gòu)造被提供用于將邏輯測試應(yīng)用于可重復(fù)項中的所有字段,以及所述可重復(fù)項內(nèi)的在所述可重復(fù)項內(nèi)一級嵌套的所有字段。10.根據(jù)權(quán)利要求1所述的圖形用戶界面,其中,通過修改所述屏幕以包括數(shù)據(jù)庫中的新添加或者修改的字段,所述應(yīng)用程序屏幕進一步可編輯。11.根據(jù)權(quán)利要求1所述的圖形用戶界面,其中,通過用新應(yīng)用程序屏幕更換所述應(yīng)用程序屏幕,所述應(yīng)用程序屏幕進一步可編輯。12.根據(jù)權(quán)利要求l所述的圖形用戶界面,其中,所述應(yīng)用程序屏幕可以是可編輯的,以包括任何數(shù)目的字段和可重復(fù)字段以及所述字段和可重復(fù)字段的排列。13.根據(jù)權(quán)利要求1所述的圖形用戶界面,其中,通過生成新應(yīng)用程序屏幕并且添加數(shù)據(jù)庫內(nèi)的先前添加的字段,所述應(yīng)用程序屏幕進一步可編輯。14.根據(jù)權(quán)利要求1所述的圖形用戶界面,其中,通過創(chuàng)建子屏幕以對所述字段和可重復(fù)字段進行分組,所述應(yīng)用程序屏幕進一步可編輯。15.—種用于將工作流邏輯和與所述工作流邏輯關(guān)聯(lián)的應(yīng)用程序屏幕與應(yīng)用程序動態(tài)地集成的系統(tǒng),所述系統(tǒng)包括應(yīng)用程序,用于執(zhí)行所述工作流邏輯和所述應(yīng)用程序屏幕;數(shù)據(jù)庫,其存儲多個字段和多個可重復(fù)字段以及與業(yè)務(wù)工作流對應(yīng)的可執(zhí)行構(gòu)造;以及圖形用戶界面工具,其向用戶提供屏幕區(qū)域,用于使用多個已定義函數(shù)、多個邏輯運算符、多個關(guān)鍵字和所述多個字段來為所述業(yè)務(wù)工作流創(chuàng)建所述工作流邏輯,以產(chǎn)生與所述業(yè)務(wù)工作流的所述工作流邏輯協(xié)同工作的包括字段和可重復(fù)字段的應(yīng)用程序屏幕。16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述圖形用戶界面工具使新的或者修改的字段或者新的或者修改的可重復(fù)字段在所述新的或者修改的字段或者所述新的或者修改的可重復(fù)字段被添加到所述數(shù)據(jù)庫時變得可用。17.根據(jù)權(quán)利要求16所述的系統(tǒng),其中,所述多個字段和多個可重復(fù)字段在所述數(shù)據(jù)庫中存儲為可擴展標(biāo)記語言(XML)代碼。18.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述圖形用戶界面工具用口語語法提供上下文有關(guān)參數(shù)的菜單以創(chuàng)建所述工作流邏輯。19.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述圖形用戶界面工具提供用于創(chuàng)建與所述工作流邏輯協(xié)同的應(yīng)用程序屏幕的手段。20.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述工作流邏輯的表示用口語語法來呈現(xiàn),所述口語語法可轉(zhuǎn)換成存儲于所述數(shù)據(jù)庫上并且變得可為所述應(yīng)用程序所用的XML代碼。21.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述應(yīng)用程序屏幕的表示被轉(zhuǎn)換成存儲于所述數(shù)據(jù)庫上并且變得可為所述應(yīng)用程序所用的XML代碼。全文摘要本發(fā)明公開了一種利用圖形用戶界面(GUI)工具來編輯工作流邏輯和屏幕的方法和系統(tǒng)。工作流管理系統(tǒng)提供GUI工具,其允許用戶創(chuàng)建和/或編輯工作流邏輯而無需重新編寫和重新編譯應(yīng)用軟件、也不會在任何時間中斷應(yīng)用軟件的可操作性。在用戶創(chuàng)建和/或編輯工作流邏輯之時,GUI工具允許用戶同時查看和創(chuàng)建和/或編輯相應(yīng)的應(yīng)用程序屏幕,其中工作流邏輯應(yīng)用于應(yīng)用軟件中。用戶通過有選擇地組合上下文有關(guān)菜單用口語語法提供的可用參數(shù)來創(chuàng)建和/或編輯工作流邏輯。工作流邏輯語句變得可由應(yīng)用軟件用來在適當(dāng)時間調(diào)用。GUI工具與動態(tài)可配置的數(shù)據(jù)庫協(xié)同工作。文檔編號G06Q10/00GK101710275SQ200910168268公開日2010年5月19日申請日期2009年8月20日優(yōu)先權(quán)日2008年8月20日發(fā)明者勞沛榮,帕特里克-阿蘭·約瑟夫·紐曼菲爾,李淑儀,胡煒業(yè),鄔重富,雷偉俊申請人:皆能科研有限公司