專利名稱:工作流實現(xiàn)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及工作流領(lǐng)域,更具體地涉及一種工作流實現(xiàn)方法以及用于 運(yùn)行工作流的方法和系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的MH以及企業(yè)的日益復(fù)雜的業(yè)務(wù)流程管理的需 要,工作流的概念、方法和技術(shù)得到日益廣泛的應(yīng)用。
簡單地說,工作流是指為完成一共同任務(wù)的不同角色的不同活動,也 可以將工作流視為文檔和/或任務(wù)在一工作流程中的運(yùn)動。更具體地,工作
流涉及到如何將一個總的工作任務(wù)劃分為不同的活動,由何人完成這些活 動,這些活動的相對順序是什么,如何使它們同步,信息在各相關(guān)部門和 人員之間如何流動以支持各活動的完成,以及如何跟蹤這些活動等,以便
提高工作任務(wù)完成的效率。
盡管工作流的一般概念適用于任何企業(yè)環(huán)境,但目前的工作流系統(tǒng)一 般是指借助于計算機(jī)系統(tǒng)執(zhí)行的對企業(yè)的分布辦公環(huán)境中業(yè)務(wù)流程的建 模、部署、執(zhí)行、監(jiān)視和協(xié)調(diào)。工作流一般包含兩個基本部分。第一個部 分是工作流建模部件,或稱設(shè)計環(huán)境,它使得管理員和分析員能定義業(yè)務(wù) 流程和活動,分析和模擬它們,并將它們分配給人員。第二個部分是工作 流執(zhí)行部件,或稱運(yùn)行時系統(tǒng),它一般包括由最終用戶所看到并操作的執(zhí) 行界面,以及用來幫助或執(zhí)行業(yè)務(wù)過程和活動的協(xié)調(diào)的工作流引擎。工作 流系統(tǒng)通常既包括基于軟件的自動過程,也包括由人完成的手動過程。
下面示出了 一個才艮據(jù)現(xiàn)有的工作流實施方法的關(guān)于租借員工離職的工 作流描述示例,其中對工作流的描述是基于業(yè)務(wù)流程本身的執(zhí)行順序進(jìn)行的,而不是以業(yè)務(wù)流程的參與者為中心的。
項目經(jīng)理打印"租借員工離職表";
項目經(jīng)理及時在租借員工管理數(shù)據(jù)庫中發(fā)起離職請求;
一線經(jīng)理及時在數(shù)據(jù)庫中批準(zhǔn)請求;
租借員工管理系統(tǒng)通知采購請求操作員,項目經(jīng)理,部門秘書,
郵件ID協(xié)調(diào)員和徽章(badge)協(xié)調(diào)員;
徽章協(xié)調(diào)員向安全管理人員發(fā)送徽章訪問權(quán)限終止請求;
徽章協(xié)調(diào)員將離職員工徽章交還給安全管理人員;
徽章協(xié)調(diào)員在管理數(shù)據(jù)庫中確認(rèn)徽章已失效并提供相關(guān)電子郵
件;
電子郵件ID協(xié)調(diào)員通知信息辦公室管理員和員工記錄管理員刪 除郵件ID;
郵件ID協(xié)調(diào)員在數(shù)據(jù)庫中確認(rèn)ID已刪除并提供相關(guān)郵件; 租借員工管理系統(tǒng)通知項目經(jīng)理和部門秘書; 項目經(jīng)理在數(shù)據(jù)庫中確認(rèn)在員工最后工作曰前已歸還公司資產(chǎn); 項目經(jīng)理在數(shù)據(jù)庫中確認(rèn)員工離職表已完成,并簽名;
從以上示例可知,現(xiàn)有的工作流實現(xiàn)專注于工作流執(zhí)4亍的方便,而不 是專注于業(yè)務(wù)過程的語義。傳統(tǒng)流程描述方法更關(guān)注流程方便執(zhí)行而不是 業(yè)務(wù)流程在語義上的結(jié)構(gòu)。然而,對語義結(jié)構(gòu)的設(shè)計可以改變流程的描述、 設(shè)計和執(zhí)行。在現(xiàn)有的一種工作流實現(xiàn)中,與一項任務(wù)有關(guān)的整個復(fù)雜的 業(yè)務(wù)過程被描述為全企業(yè)范圍內(nèi)的單個工作流,很難分解。整個業(yè)務(wù)過程, 包括每個參與角色的活動以及它們之間的交互關(guān)系都在該單個復(fù)雜的業(yè)務(wù) 流程中被描述。這樣描述的工作流勢必異常復(fù)雜,即使對于筒單的工作流 例子,也很難使用諸如業(yè)務(wù)流程執(zhí)行語言(BPEL)等來描述。作為另一 種選擇,也可使用狀態(tài)機(jī)來描述工作流。然而,狀態(tài)機(jī)并不是一種用于隨 機(jī)的活動序列的自然的語義映射,因為為了基于活動的完成來描迷狀態(tài)轉(zhuǎn) 換,將需要定義許多不必要的狀態(tài)。此外,由于企業(yè)業(yè)務(wù)流程不是固定的,而是經(jīng)常變化的,同時,大多 數(shù)業(yè)務(wù)流程的變化并不是整體上全新的變化,而只是局部的變化,因此需 要能夠容易地更新業(yè)務(wù)流程的部分,而不影響整個業(yè)務(wù)流程。而在現(xiàn)有的 工作流系統(tǒng)中,對業(yè)務(wù)流程的任何改變往往意味著對整個工作流系統(tǒng)的重 新設(shè)計和部署。從企業(yè)運(yùn)行的角度來說,對業(yè)務(wù)流程的任何更新,即使是 微小的改變,都需要通知所有的參與者(角色),并且所有的參與者都需 要遍歷所有活動,以了解所發(fā)生的改變。這是非常消耗時間和精力的。
再有,由于業(yè)務(wù)流程中往往有多個參與角色,這些參與角色處于不同 的位置,且可能使用不同的通信手段,因此,需要在工作流的運(yùn)行過程中, 以不同的通知機(jī)制將工作流運(yùn)行中的相關(guān)事件通知給不同的參與角色。由 于現(xiàn)有的工作流系統(tǒng)不是以參與者為中心的,因此它們很難實現(xiàn)以不同的 通知機(jī)制通知不同的參與者,或者即使實現(xiàn),也只能以固定的方式來實現(xiàn), 而不是根據(jù)需要可配置和可變化的。
另外,由于現(xiàn)有的工作流系統(tǒng)以業(yè)務(wù)流程本身為中心的,而不是以參
與者為中心的,因此;f艮難描述參與復(fù)雜的業(yè)務(wù)流程的多個角色之間的協(xié)調(diào) 關(guān)系。
最后,實際上,最終用戶關(guān)心的僅僅是業(yè)務(wù)流程中與其相關(guān)的那部分 的狀態(tài)和執(zhí)行情況,而不是整個業(yè)務(wù)流程。由于現(xiàn)有的工作流系統(tǒng)的著眼 點(diǎn)是整個業(yè)務(wù)流程的執(zhí)行,而不是參與該業(yè)務(wù)流程的角色,因此它們必須 將整個流程暴露給所有用戶,而每個用戶很難理解其在業(yè)務(wù)流程中的活動, 從而給用戶帶來的不便。
顯然,在本領(lǐng)域中需要一種能夠克服現(xiàn)有的工作流系統(tǒng)的上迷缺點(diǎn)的 新的工作流實現(xiàn)方法和系統(tǒng)。
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的工作流實現(xiàn)方法的上述缺點(diǎn),而提出了本發(fā)明。 在本發(fā)明的一個方面,提供了一種工作流實現(xiàn)方法,該方法包括以下 步驟根據(jù)企業(yè)策略和/或業(yè)務(wù)規(guī)則將工作流定義為多個檢查表(checklist),該多個檢查表與該工作流的參與角色相關(guān)聯(lián),其中 包含工作流中與該參與角色相關(guān)的活動;以及將所述檢查表部署到運(yùn) 行時環(huán)境,從而運(yùn)行該工作流。
在本發(fā)明的另一個方面,提供了一種用于運(yùn)行工作流的系統(tǒng),其中該 工作流是由根據(jù)企業(yè)策略和/或業(yè)務(wù)規(guī)則制定并部署的多個檢查表定義 的,該多個檢查表與該工作流的參與角色相關(guān)聯(lián),其中包含工作 流中與該參與角色相關(guān)的活動以及活動間的關(guān)系,該系統(tǒng)包括檢 查表呈現(xiàn)控制器,用于在工作流運(yùn)行過程中向工作流的參與者提供用于該 參與者的檢查表用戶界面,并從所述檢查表用戶界面接收參與者的工作流 操作;以及工作流引擎,用于在工作流運(yùn)行過程中存儲用于參與者的檢查 表實例,以及根據(jù)從檢查表呈現(xiàn)控制器接收的參與者的工作流操作,更新 存儲的檢查表實例中的活動的狀態(tài),并根據(jù)該活動與其他檢查表中的活動 間的關(guān)系,來協(xié)調(diào)其他檢查表中的活動的執(zhí)4亍。
在本發(fā)明的又一個方面,提供了一種用于運(yùn)行工作流的方法,其中該 工作流是由根據(jù)企業(yè)策略和/或業(yè)^L則制定并部署的多個檢查表定義 的,該多個檢查表與該工作流的參與角色相關(guān)聯(lián),其中包含工作 流中與該參與角色相關(guān)的活動以及活動間的關(guān)系,該方法包括向 工作流的參與者提供用于該參與者的檢查表用戶界面;存儲用于參與者的 檢查表實例;從所述檢查表用戶界面接收參與者的工作流操作;以及根據(jù) 接收的參與者的工作流操作,更新存儲的檢查表實例中的活動的狀態(tài),并 根據(jù)該活動與其他檢查表中的活動間的關(guān)系,來協(xié)調(diào)其他檢查表中的活動 的執(zhí)行。
本發(fā)明的使用檢查表的工作流實現(xiàn)方法、工作流運(yùn)行方法和系統(tǒng)具有 以下優(yōu)點(diǎn)
首先,通過使用檢查表,向用戶提供了與其相關(guān)的業(yè)務(wù)流程的視圖。 參與者僅需了解與其有關(guān)的工作流的部分,僅需專注于檢查表中所列的待 完成活動,而不需要知道整個復(fù)雜的工作流;當(dāng)企業(yè)的業(yè)務(wù)流程改變時, 僅需要向這種改變所涉及到的參與者通知改變,而不必向所有參與者通知業(yè)務(wù)流程的改變,從而減輕了工作流參與者的負(fù)擔(dān),提高了其工作效率。
其次,所述檢查表是可配置和可擴(kuò)展的,從而可便利于企業(yè)的業(yè)務(wù)流 程改變。當(dāng)企業(yè)的業(yè)務(wù)流程發(fā)生變化時,只需要重新編制或修改并部署優(yōu)
選為XML文件的檢查表就可以了,而不必重新編寫工作流應(yīng)用,從而極 大地便利了業(yè)務(wù)流程的改變和維護(hù)。
再次,根據(jù)本發(fā)明的工作流實現(xiàn)方法、工作流運(yùn)行方法和系統(tǒng)使得用 戶可更好地理解其在工作流程中的角色和活動,并且有助于不同用戶之間 的協(xié)調(diào)。
總之,根據(jù)本發(fā)明的工作流實現(xiàn)方法和系統(tǒng)將提高業(yè)務(wù)流程的執(zhí)行和 改變的效率,從而節(jié)省企業(yè)的成本。
所附權(quán)利要求中闡述了被認(rèn)為是本發(fā)明的特點(diǎn)的新穎特征。但是,通 過在結(jié)合附圖閱讀時參照下面對說明性實施例的詳細(xì)說明將最好地理解發(fā) 明本身以及其優(yōu)選使用模式、另外的目標(biāo)、特征以及優(yōu)點(diǎn),在附圖中
圖l示出了根據(jù)本發(fā)明的工作流實現(xiàn)的示意圖2示出了使用根據(jù)本發(fā)明的實施例的工作流實現(xiàn)方法將一工作流實 現(xiàn)為用于參與角色的檢查表的示例;
圖3示出了才艮據(jù)本發(fā)明的實施例的用于實現(xiàn)工作流的方法的示意性流
程;
圖4示出了以XML語言表示的根據(jù)本發(fā)明的實施例的一檢查表示例; 圖5示出了用于存儲根據(jù)本發(fā)明實施例的檢查表實例及其中的活動的
狀態(tài)的數(shù)據(jù)庫結(jié)構(gòu)示例;
圖6示出了根據(jù)本發(fā)明的實施例的以門戶組件(portlet)實現(xiàn)的工作 流示例的一用戶界面的初始情況;
圖7示出了才艮據(jù)本發(fā)明的實施例的以門戶組件實現(xiàn)的工作流示例的用 戶界面的顯示出檢查表的情況;
圖8示出了才艮據(jù)本發(fā)明的實施例的以門戶組件實現(xiàn)的工作流示例的用戶界面,其中具有屬于多個工作流的多個檢查表;
圖9示出了根據(jù)本發(fā)明的實施例的用于運(yùn)行工作流的系統(tǒng);以及 圖IO示出了根據(jù)本發(fā)明的實施例的用于運(yùn)行工作流的方法。
具體實施例方式
下面參照附圖本發(fā)明的實施例。然而,應(yīng)當(dāng)明了的是,本發(fā)明并不限 于所介紹的特定實施例。相反,可以考慮用下面的特征和元素的任意組合 來實施和實踐本發(fā)明,而無論它們是否涉及不同的實施例。因此,下面的 方面、特征、實施例和優(yōu)點(diǎn)僅作說明之用而不應(yīng)被看作是所附權(quán)利要求的 要素或限定,除非權(quán)利要求中明確提出。在此說明書內(nèi)對特征、優(yōu)點(diǎn)或類 似語言的提及并不是暗示可使用本發(fā)明實現(xiàn)的所有或某些特征和優(yōu)點(diǎn)在本 發(fā)明的任何單個實施例內(nèi)。相反,涉及特征和優(yōu)點(diǎn)的語言應(yīng)被理解為僅意 謂著與實施例相聯(lián)系地描述的特定特征、優(yōu)點(diǎn)和特性被包含在本發(fā)明的至
少一個實施例內(nèi)。
本發(fā)明提供了一種利用用于參與角色的檢查表的、以參與者為中心且 便于參與者之間的協(xié)作的工作流實現(xiàn)方法。這樣, 一工作流就可由用于不
同參與角色的一組檢查表來描述。
下面,首先通過示例說明本發(fā)明的基本構(gòu)思。圖l示出了根據(jù)本發(fā)明 的實施例的使用檢查表的工作流實現(xiàn)的示例的示意圖,該工作流示例是關(guān) 于一企業(yè)的人員招聘業(yè)務(wù)流程的。如圖所示,根據(jù)本發(fā)明的實施例,將該 工作流實現(xiàn)為分別用于管理者、人力資源經(jīng)理和雇員的一組檢查表。這樣,
管理者、人力資源經(jīng)理、和雇員通it^目互協(xié)調(diào)地執(zhí)行其各自檢查表中的相
關(guān)活動而共同完成該工作流所代表的招聘雇員的業(yè)務(wù)流程。而各參與者之 間的協(xié)調(diào)是通#各檢查表中的相關(guān)活動之間建立關(guān)系、存儲這些關(guān)系并 基于這些關(guān)系來控制工作流的執(zhí)行來實現(xiàn)的。當(dāng)然,應(yīng)指出的是,圖l僅 為用于說明本發(fā)明的工作流實現(xiàn)方法的示意性示例,而不是對本發(fā)明的限 制。例如,在實際的關(guān)于企業(yè)人員招聘工作流實現(xiàn)中可能還有其他的參與者。
10圖2具體示出了根據(jù)本發(fā)明的實施例的使用檢查表的該工作流實現(xiàn)。 如圖所示,首先,管理者啟動"新雇員"事件,從而獲得一檢查表。然后 管理者根據(jù)該檢查表,逐一完成并勾選(check)該檢查表中在新雇員進(jìn)企 業(yè)之日之前的活動。這些活動包括啟動新雇員請求以獲得上級批準(zhǔn),確保 已安排了新雇員入職教育,請求公司ID或安全徽章,以及準(zhǔn)備用于新雇 員的檢查表。然后,管理者開始完成和勾選在新雇員工作的第一天需要完 成的各項活動。首先是確認(rèn)新雇員可訪問所準(zhǔn)備的新雇員檢查表。而該項 活動的完成依賴于新雇員的相應(yīng)活動,即新雇員確認(rèn)其可訪問所準(zhǔn)備的檢 查表,或新雇員已訪問了所準(zhǔn)備的檢查表。
也就是說,當(dāng)根據(jù)本發(fā)明實現(xiàn)的工作流系統(tǒng)通過新雇員的用戶界面向 新雇員呈現(xiàn)了管理者為其準(zhǔn)備的檢查表后,根據(jù)本發(fā)明實現(xiàn)的運(yùn)行工作流 的系統(tǒng)會自動通過管理者的用戶界面向管理者發(fā)出通知,從而允許管理者 完成和勾選確認(rèn)新雇員可以訪問新雇員檢查表的活動,或者更優(yōu)選地,根 據(jù)本發(fā)明實現(xiàn)的工作充系統(tǒng)可直接將管理者檢查表中的所述確認(rèn)新雇員可 以訪問新雇員檢查表的活動的狀態(tài)置為已完成。無論是何種情況,管理者 都可繼續(xù)完成和勾選其檢查表中的后續(xù)活動,同時新雇員也可完成和勾選 其檢查表中的后續(xù)活動。
就是說,新雇員可根據(jù)其檢查表,逐一完成和勾選在該檢查表的各活 動,包括在新雇員iiA企業(yè)的第一天,與人力資源經(jīng)理或管理者完成I-9 文檔;在進(jìn)入企業(yè)的第一周內(nèi),參與新雇員入職培訓(xùn),獲得安全徽章,上 線以完成W4表格,查看并認(rèn)可公司關(guān)于業(yè)務(wù)行為的策略,簽字參與Direct Deposit (電子工資結(jié)算)計劃,以及在一個月之內(nèi)參加福利和儲蓄計劃。 與此同時,管理者需要在新雇員工作的第一天完成和勾選以下進(jìn)一步的活 動,包括照片徽章,確保新雇員已查看并認(rèn)可公司策略。其中,所述照 片徽章活動的完成依賴于新雇員的獲得安全徽章活動的完成和勾選,并優(yōu) 選地由根據(jù)本發(fā)明實現(xiàn)的工作流系統(tǒng)自動根據(jù)新雇員的檢查表中的獲得安 全徽章活動的勾選將管理者的檢查表中的照片徽章的活動置為已完成狀 態(tài)。同時,管理者的檢測表中的確保新雇員已查看并認(rèn)可公司策略活動的完成顯然依賴于新雇員的檢查表中的查看并認(rèn)可公司關(guān)于業(yè)務(wù)行為的策略 的活動的完成和勾選,并在新雇員的檢查表中的該活動被勾選之后,并優(yōu) 選地由根據(jù)本發(fā)明實現(xiàn)的工作流系統(tǒng)自動將管理者的檢查表中的該活動置 為完成狀態(tài)。
在新雇員的檢查表中還有一些并非必須完成的可選事項,包括安排關(guān) 于適當(dāng)軟件應(yīng)用的培訓(xùn),以及參觀辦公樓。同時在管理者的檢查表中也有 一些并非必須完成的可選事項,包括向新雇員提供在線資源的指南,以及 參觀辦公樓。顯然,管理者的檢查表中的參觀辦公樓活動的完成是在新雇 員檢查表中參觀辦公樓的活動完成之后由系統(tǒng)自動置為完成狀態(tài)的。
以上所述管理者與新雇員的若千活動之間的依賴關(guān)系被存儲在所示的 活動關(guān)系數(shù)據(jù)庫中。根據(jù)本發(fā)明實現(xiàn)的工作流系統(tǒng)通過查詢該活動關(guān)系數(shù) 據(jù)庫獲知管理者和新雇員的活動之間的依賴關(guān)系,并根據(jù)這種依賴關(guān)系對 管理者和新雇員的檢查表中的活動進(jìn)行相應(yīng)的操作。例如,當(dāng)某一參與角 色要通過勾選檢查表中的一活動而將其置為已完成狀態(tài)時,工作流系統(tǒng)通 過查詢活動關(guān)系數(shù)據(jù)庫獲知該活動依賴于另一參與角色的一活動,而該另 一角色的另一活動尚未完成,則工作流系統(tǒng)可暫停將該活動置為已完成狀 態(tài),并停止對該某一參與角色的檢查表的繼續(xù)執(zhí)行,而等待該另一角色的
另一活動的完成;當(dāng)該另一角色的另一活動完成之后,則工作流系統(tǒng)可自 動將該某一參與角色的該活動的狀態(tài)置為已完成。所述活動關(guān)系數(shù)據(jù)可存 儲在一單獨(dú)的數(shù)據(jù)庫中,也可優(yōu)選地存儲在定義檢查表的文件中,即作為 所述定義檢查表的文件中所定義的活動的屬性。此外,檢查表中的各活動 的狀態(tài)也可存儲在一單獨(dú)的數(shù)據(jù)庫中,以供工作流系統(tǒng)查詢。
下面參照附圖3描述4艮據(jù)本發(fā)明的實施例的用于實現(xiàn)工作流的方法的 示意性流程。
如圖所示,根據(jù)本發(fā)明的實施例的用于實現(xiàn)工作流的方法的流程分為 三個階段業(yè)務(wù)分析階段,IT實現(xiàn)階段,和工作流運(yùn)行階段。
首先,在業(yè)務(wù)分析階段,在步驟301,業(yè)務(wù)分析員通過對企業(yè)的業(yè)務(wù) 過程的分析,確定用于工作流的每個參與角色的檢查表,并根據(jù)企業(yè)策略和業(yè)^NSL則描述每個檢查表中的各活動和其諸如名稱、所屬類別、期限、
是否為必需活動、與其他活動的關(guān)系等屬性,從而形成用于每個參與者的
檢查表的文字描述,并將其提供下一個階段,即IT實現(xiàn)階段。
當(dāng)企業(yè)策略和/或業(yè)務(wù)規(guī)則隨時間變化時(步驟302),業(yè)務(wù)分析員將 根據(jù)該變化的企業(yè)策略和/或業(yè)^SL則描述每個檢查表及其活動,從而形成 新的檢查表的文字描述,來提供給IT實現(xiàn)階段。
于是iiXIT實現(xiàn)階段,在步驟303, IT開發(fā)人員根據(jù)來自業(yè)務(wù)分析 階段的檢查表文字描述編寫可在工作流運(yùn)行系統(tǒng)中部署和使用的用于各參 與角色的檢查表文件。在本發(fā)明的一優(yōu)選實施例中,所述檢查表文件是 XML文件。當(dāng)然,檢查表也可以用可用于描述檢查表中的活動及其屬性的 任何其他文本或非文#式的文件來實現(xiàn)。僅作為示例,IT開發(fā)人員可使 用IBM Rational Application Developer (RAD )來生成檢查表XML文件。
在該檢查表文件中,可描述使用該檢查表的工作流參與者要完成的各 活動的名稱、期限、以及該活動與其他參與者的檢查表中的活動的相互關(guān) 系等。在本發(fā)明的一優(yōu)選實施例中, 一檢查表中的活動與其他檢查表中的 活動之間的相互關(guān)系是在該檢查表的XML文件中作為該活動的屬性被描 述的。在本發(fā)明的其他實施例中,不同檢查表中的活動之間的相互關(guān)系也 可在一單獨(dú)的文件或數(shù)據(jù)庫中被描述,
可在檢查表文件中描述該檢查表中的活動與其他檢查表中的活動之間 的各種相互關(guān)系。
例如,可在檢查表文件中描述活動之間的同步關(guān)系,在這種同步關(guān)系 中, 一個檢查表中的活動完成將意味著另一個或多個檢查表中的活動的完 成,例如,在一個員工離職的工作流中,項目經(jīng)理的一個活動是確i人員工 已經(jīng)歸還徵章,而安全部門的一個活動是確認(rèn)已收到微章。則安全部門的 該活動的完成就同時意^^木著項目經(jīng)理中的該活動的完成.這樣,在本發(fā)明 的使用XML格式的檢查表文件的實施例中,例如,可使用一 〈SyncActivity〉元素來表示這種關(guān)系,其中該〈SyncActivity〉元素作為項目 經(jīng)理的檢查表中的所迷活動的元素的一個屬性,而該〈Syncactivity〉元素的內(nèi)容則是安全部門的所述活動的ID。這樣,當(dāng)檢查表被部署后,根據(jù)本發(fā) 明的工作流運(yùn)行系統(tǒng)就可根據(jù)檢查表中描述的這種同步關(guān)系進(jìn)行相應(yīng)的處 理,來協(xié)調(diào)項目經(jīng)理的活動和安全部門的活動的執(zhí)行。
還可在檢查表文件中描述活動之間的依賴關(guān)系。在這種依賴關(guān)系中, 一個檢查表中的活動的完成將引起另一個檢查表中的活動的執(zhí)行,即使得 系統(tǒng)自動向使用該另 一個檢查表的參與者發(fā)送執(zhí)行所述活動的通知。這種 依賴關(guān)系可以是一對多的,即一個檢查表中的活動的完成將引起多個其他 檢查表中的活動的執(zhí)行。這種依賴關(guān)系也可以是多對一的,即多個檢查表 中的活動的完成將引起另一個檢查表中的活動的執(zhí)行。當(dāng)然,這種依賴關(guān) 系也可能是多對多的,即多個檢查表中的活動的完成將引起多個其他檢查 表中的活動的執(zhí)行。另外,這種依賴關(guān)系也可以是延遲處理的,即當(dāng)一個 檢查表中的活動完成后,經(jīng)過一指定時間,再向另一個檢查表的使用者發(fā) 送執(zhí)行相關(guān)活動的通知。在本發(fā)明的使用XML格式的檢查表文件的實施 例中,以上依賴關(guān)系均可以適當(dāng)?shù)腦ML元素及其屬性來表示。例如,如 果參與角色A的活動1完成之后需#行參與角色B的活動2,則可在表 示參與角色B的檢查表中表示活動2的元素中增加一由^TriggerActivity〉 元素表示的屬性,并把該^TriggerActivity〉元素的內(nèi)容設(shè)置為參與角色A 的活動1的ID。這樣,當(dāng)檢查表被部署后,根據(jù)本發(fā)明的工作5te行系統(tǒng) 就可根據(jù)檢查表中描述的這種依賴關(guān)系進(jìn)行相應(yīng)的處理,來協(xié)調(diào)項目經(jīng)理 的活動和安全部門的活動的執(zhí)行。
當(dāng)然,以上所述活動之間的關(guān)系僅為示例,而不是對本發(fā)明的限制。 例如,在本發(fā)明的使用XML格式的檢查表文件的實施例中,可以通過擴(kuò) 展XML的元素來容易地描述活動之間的新的關(guān)系。另外,也可在才艮據(jù)本 發(fā)明的檢查表文件中描述一檢查表中的活動與其他檢查表的狀態(tài)的關(guān)系, 例如一個參與角色的檢查表中的一活動的執(zhí)行將引起另一參與角色的檢查 表的創(chuàng)建或刪除等。
檢查表文件是完全可配置的,可根據(jù)企業(yè)策略和/或業(yè)^HSL則的變化方 便地添加、刪除、更改檢查表文件中的活動、屬性以及各活動之間的關(guān)系。圖4示出了以XML語言表示的根據(jù)本發(fā)明的實施例的一檢查表示例。 該圖示出了一標(biāo)題為"New Hire Checklist"(新雇員檢查表)的檢查表 XML文件,且該檢查表XML文件中描述了一標(biāo)題為"Bring 1-9 documentation, or complete the 1-9 form with HR or manager"(取來1-9 文檔,或與人力資源經(jīng)理或管理者一起完成1-9表格)的活動。其中,標(biāo) 號401處的〈TriggerActivity〉元素描述了哪個活動將觸發(fā)該活動的執(zhí)行, 可以在該元素的正文部分^tA將觸發(fā)該活動的另一個活動的ID。標(biāo)號402 處的<Dependent Acti vity〉元素描述了該活動的完成依賴于哪個活動的完 成。標(biāo)號403處的〈Link〉元素描述了完成該活動的鏈接,它可鏈接到另一 個門戶組件或外部網(wǎng)站,以l更由用戶通過訪問該門戶組件或外部網(wǎng)站來完 成該活動。該XML文件是完全可配置的,可在該XML文件中根據(jù)需要 作為元素添加更多的關(guān)系。
在步驟304, IT開發(fā)人員開發(fā)基于檢查表XML運(yùn)行工作流的應(yīng)用。 開發(fā)人員可使用任何一種合適的開發(fā)工具和編輯語言來開發(fā)基于檢查表運(yùn) 行工作流的應(yīng)用。所述應(yīng)用將被部署到企業(yè)計算機(jī)網(wǎng)絡(luò)環(huán)境中,從而形成 根據(jù)本發(fā)明的運(yùn)行工作流的系統(tǒng)。所述應(yīng)用至少包括以下功能當(dāng)用戶發(fā) 出啟動工作流事件時,加載該用戶的檢查表文件,生成并向該用戶提供檢 查表用戶界面,并將檢查表實例包括其中的活動的狀態(tài)存儲在持久存儲中。 當(dāng)用戶在該檢查表用戶界面中完成并勾選檢查表中的活動時,在數(shù)據(jù)庫中 存儲和更新活動狀態(tài);以及從檢查表文件或數(shù)據(jù)庫中讀取并解析活動之間 的關(guān)系,并基于活動之間的關(guān)系,根據(jù)用戶對檢查表中的活動的操作自動 改變其他檢查表中的活動的狀態(tài),或向其他參與角色發(fā)送執(zhí)行其檢查表中 的活動的通知,或自動生成用于其他用戶的檢查表。檢查表實例包括其中 所有活動的狀態(tài)可存儲在數(shù)據(jù)庫表中,以便進(jìn)行狀態(tài)的讀取和更新??墒?用任何數(shù)據(jù)庫軟件例如DB2、 Oracle和SQL服務(wù)器等來存儲活動的狀態(tài)。
在本發(fā)明的一個實施例中,IT開發(fā)人員使用IBM RAD并利用IBM WebSphere Portlet Factory來開發(fā)運(yùn)行工作流的應(yīng)用。所述運(yùn)行工作流的 應(yīng)用將被部署在IBM WebSphere門戶服務(wù)器上,并且工作流的各參與角色的檢查表用戶界面作為門戶組件被提供給各參與角色。同時,使用由
IBM WebSphere門戶服務(wù)器提供的Portlet Wiring功能來實現(xiàn)檢查表門 戶組件之間的通信和交互。此外,使用IBMDB2來進(jìn)行活動狀態(tài)的存儲。 圖5示出了用于存儲根據(jù)本發(fā)明實施例的檢查表實例及其中的活動的狀態(tài) 的數(shù)據(jù)庫結(jié)構(gòu)示例。
如本領(lǐng)域的技術(shù)人員所知的,用于一工作流中的各參與角色的、包含 了各角色所應(yīng)完成的活動以及活動之間的關(guān)系的檢查表完整地定義了該工 作流,因此,本領(lǐng)域的技術(shù)人員可以容易地根據(jù)本領(lǐng)域中的一般的編輯知 識開發(fā)出利用所述檢查表運(yùn)行該工作流的應(yīng)用。
優(yōu)選地,該步驟中的開發(fā)工作為一次性工作,即對于給定的工作流, 該開發(fā)工作僅進(jìn)行一次。當(dāng)在工作流的運(yùn)行過程中企業(yè)策略和/或業(yè)務(wù)規(guī)則 發(fā)生改變時,僅需要改變或重新編制檢查表XML文件并將其重親部署即 可實現(xiàn)工作流的改變,而不需要重新開發(fā)用于運(yùn)行工作流的應(yīng)用。此外, 還可以考慮,根據(jù)本發(fā)明的用于運(yùn)行工作流的應(yīng)用可適用于一個或多個類 別中的多個工作流或甚至適用于企業(yè)的所有的工作流。這樣,當(dāng)將4艮據(jù)本 發(fā)明的用于運(yùn)行工作流的應(yīng)用部署到計算機(jī)網(wǎng)絡(luò)環(huán)境中,從而形成才艮據(jù)本 發(fā)明的運(yùn)行工作流的系統(tǒng)后,僅需要在該系統(tǒng)中部署用于不同工作流的不 同檢查表文件組,即可運(yùn)行不同的工作流。
在步驟305,將步驟304中所產(chǎn)生的運(yùn)行工作流的應(yīng)用部署到企業(yè)計 算機(jī)網(wǎng)絡(luò)中,并將步驟303中所產(chǎn)生的相互關(guān)聯(lián)的檢查^部署到運(yùn)行時環(huán) 境,從而創(chuàng)建運(yùn)行的該工作流的系統(tǒng)。優(yōu)選地,所述運(yùn)行工作流的應(yīng)用以 及所勤目互關(guān)聯(lián)的檢查表均被部署到企業(yè)計算機(jī)網(wǎng)絡(luò)中的服務(wù)器上,且在 本發(fā)明的一優(yōu)選實施例中,所述服務(wù)器為IBM WebSphere門戶服務(wù)器。
于是,進(jìn)入工作流運(yùn)行階段。在步驟306,當(dāng)該工作流的一參與角色 發(fā)出工作流啟動事件后,由所述工作流運(yùn)行系統(tǒng)加載已部署的用于該參與 者的檢查表,并通過用戶界面向該參與者提供其檢查表,以便其跟蹤與執(zhí) 行與其有關(guān)的活動。在工作流運(yùn)行過程中,根據(jù)本發(fā)明的運(yùn)行工作流的系
統(tǒng)將根據(jù)參與角色的操作以及各檢查表中的活動之間的關(guān)系自動更新、創(chuàng)建或刪除各檢查表,或向相關(guān)的參與角色發(fā)送執(zhí)行其活動的通知。
例如,在本發(fā)明的使用Portlet Wiring來實現(xiàn)檢查表之間的交互的實 施例中,如果用戶選擇了一工作流選擇門戶組件中的下拉列表中的一工作 流并點(diǎn)擊"執(zhí)行",則IBM WebSphere門戶服務(wù)器中的portlet wiring功 能將把該事件發(fā)送給檢查表門戶組件,而檢查表門戶組件將根據(jù)該事件的 wiring配置來顯示用于該用戶的該工作流的檢查表。在工作流的運(yùn)行過程 中,隨著各用戶完成和勾選活動,其檢查表門戶組件將查詢存儲在數(shù)據(jù)庫 表中的、檢查表中的活動的狀態(tài),將實時的檢查表呈現(xiàn)給用戶,并自動更 新相關(guān)的其他檢查表中的活動的狀態(tài)或向其他參與角色發(fā)送執(zhí)行相關(guān)活動 的通知。圖6示出了才艮據(jù)本發(fā)明的實施例的以門戶組件實現(xiàn)的工作流示例 的一用戶界面的初始情況。其中標(biāo)號601示出了管理者的工作流選擇門戶 組件,而標(biāo)號602示出了管理者的檢查表門戶組件將顯示的位置。當(dāng)用戶 選擇"New Hire"(新雇員)并單擊"go"時,門戶服務(wù)器的wiring功能 將把事件名從管理者的事件門戶組件發(fā)送到檢查表門戶組件,從而顯示管 理者的用于新雇員工作流的檢查表。
圖7示出了才艮據(jù)本發(fā)明的實施例的以門戶組件實現(xiàn)的工作流示例的用 戶界面的顯示出檢查表的情況。其中,檢查表用戶界面是根據(jù)檢查表XML 文件產(chǎn)生的,并且檢查表的狀態(tài),皮存儲在數(shù)據(jù)庫中。
在該檢查表中,當(dāng)用戶勾選一活動而將其置于完成狀態(tài)時,根據(jù)本發(fā) 明的運(yùn)行工作流的系統(tǒng)將通過查詢數(shù)據(jù)庫中的檢查表實例中的活動之間的 關(guān)系判斷是否應(yīng)當(dāng)自動完成其他檢查表中的活動,并通知其他參與者執(zhí)行 其他檢查表中的活動等。并且如果是的話,根據(jù)本發(fā)明的運(yùn)行工作流的系 統(tǒng)將自動更新其他活動的狀態(tài)或通知其他參與者執(zhí)行其活動等。圖8示 出了根據(jù)本發(fā)明的實施例的以門戶組件實現(xiàn)的工作流示例的用戶界面,其 中具有屬于多個工作流的多個檢查表,用戶通過選擇警告(alert)門戶組 件中的相應(yīng)警告來選擇顯示相應(yīng)的檢查表。在這種情況中,當(dāng)一工作流中 的用戶勾選其檢查表中的活動時,如果應(yīng)當(dāng)觸發(fā)其他參與用戶的檢查表中 的活動的執(zhí)行,則為該其他用戶生成一警告,并將其發(fā)送到該其他用戶的用戶界面。這樣,當(dāng)該其他用戶點(diǎn)擊其警告門戶組件中的該警告時,系統(tǒng) 可向其顯示相應(yīng)的檢查表,以^更其執(zhí)行其活動。在該用戶的警告門戶組件
中,可以有屬于多個工作流的多個警告,這樣,用戶可通過點(diǎn)擊任何一個 警告來顯示相應(yīng)的工作流,從而可執(zhí)行該工作流中的活動。
以上描述了根據(jù)本發(fā)明的實施例的用于實現(xiàn)工作流的方法的流程,應(yīng)
當(dāng)注意的是,所描述的各步驟以及各種細(xì)節(jié)和特征僅為示例,而不是對本 發(fā)明的限制。
下面,參照圖9描述才艮據(jù)本發(fā)明的實施例的用于運(yùn)行工作流的系統(tǒng), 其中所述工作流是由用于該工作流的每個參與角色的、包含該角色將執(zhí)行 的活動以及活動之間的關(guān)系的檢查表定義的。如圖所示,才艮據(jù)本發(fā)明的實 施例的用于運(yùn)行工作流的系統(tǒng)包括檢查表加載器卯l、檢查表呈現(xiàn)控制器 卯2、和工作流引擎903。
其中,檢查表加載器901用于在接收到來自檢查表呈現(xiàn)控制器902的 加載用于特定角色的檢查表的命令后,M目應(yīng)的檢查表文件讀取和加載檢 查表,其中所述檢查表是根據(jù)本發(fā)明的上述用于實現(xiàn)工作流的方法生成的 用于工作流的每個參與角色的、完整地定義了該工作流的檢查表。
檢查表呈現(xiàn)控制器902用于當(dāng)接收到來自用戶的運(yùn)行工作流的請求 時,判斷持久存儲中是否已存在用于該參與者的檢查表實例,并且如果該 判斷為是,則命令工作流引擎903從持久存儲器中獲,查表的狀態(tài),并 將具有所述狀態(tài)的檢查表作為用戶界面元素顯示給用戶哞^4^檢查^載器 901;而如果所述判斷為否,則W目應(yīng)的檢查表文件中加載用于該用戶的檢 查表,形成用于該用戶的檢查表實例,并該檢查表實例包括其中的活動的 狀態(tài)和關(guān)系發(fā)送給工作流引擎卯3以便存入持久存儲器,并將檢查表實例 作為用戶界面元素顯示給用戶。檢查表呈現(xiàn)控制器卯2還用于當(dāng)用戶在執(zhí) 行工作流過程中在所呈現(xiàn)的檢查表中勾選/去勾選活動時,把用戶操作發(fā)送 給工作流引擎卯3,以便在數(shù)據(jù)庫中更新該檢查表中的活動的狀態(tài),以及 其他相關(guān)的檢查^/活動的狀態(tài)或向其他用戶發(fā)送執(zhí)行活動的通知。
工作流引擎903用于當(dāng)檢查表呈現(xiàn)控制器902接收到來自檢查表加載器卯l的檢查表時以及通過檢查表呈現(xiàn)控制器902接收到來自用戶的對檢 查表中的活動的操作時,將來自檢查表呈現(xiàn)控制器卯2的檢查表實例包括 其中的活動的狀態(tài)和關(guān)系存儲在數(shù)據(jù)庫中,以及在通過檢查表呈現(xiàn)控制器 902接收到來自用戶的對檢查表中的活動的操作時,根據(jù)該活動與其他檢 查表中的活動和/或其他檢查表之間的關(guān)系,自動設(shè)置數(shù)據(jù)庫中所述其他活 動的狀態(tài)和/或其他檢查表的狀態(tài),或向其他參與者發(fā)出執(zhí)行其他檢查表中 的活動的通知。工作流引擎卯3還用于當(dāng)檢查表呈現(xiàn)控制器902要向用戶 呈現(xiàn)檢查表時,根據(jù)來自檢查表呈現(xiàn)控制器902的命令從數(shù)據(jù)庫中獲# 查表實例包括其中的活動的狀態(tài),并將其提供給檢查表呈現(xiàn)控制器卯2。
優(yōu)選地,根據(jù)本發(fā)明的運(yùn)行工作流的系統(tǒng)部署在企業(yè)內(nèi)部的網(wǎng)絡(luò)環(huán)境 中,并部署在服務(wù)器上。工作流的各參與者通過其客戶機(jī)與服務(wù)器通信, 而進(jìn)行工作流操作。在本發(fā)明的一個實施例中,所述服務(wù)器為門戶服務(wù)器, 例如IBM WebSphere門戶服務(wù)器,且所述檢查表呈現(xiàn)控制器902為門戶 服務(wù)器上的門戶組件提供裝置,用于將每個用戶的檢查表以門戶組件的形 式提供到該用戶的客戶機(jī)瀏覽器中。
以上對根據(jù)本發(fā)明實施例的用于運(yùn)行工作流的系統(tǒng)的描述僅為示例, 而不是對本發(fā)明的限制。根據(jù)本發(fā)明的用于運(yùn)行工作流的系統(tǒng)可具有更多、 更少或不同的模塊, 一些模塊可合并在一起或劃分為更小的模塊,且各模 塊之間的連接關(guān)系可能改變。例如,所述檢查表加載器901的功能也可以 被并入所述檢查表呈現(xiàn)控制器902中。
下面,參照圖IO描述根據(jù)本發(fā)明的實施例的用于運(yùn)行工作流的方法, 其中所述工作流是由用于工作流的每個參與角色、包含該角色將執(zhí)行的活 動以及活動之間的關(guān)系的檢查表定義的。優(yōu)選地,該方法由圖9所示的根 據(jù)本發(fā)明的運(yùn)行工作流的系統(tǒng)執(zhí)行。
如圖所示,在過程開始后,在步驟IOOI,用戶發(fā)出運(yùn)行工作流的請求。 優(yōu)選地,用戶是通過其客戶機(jī)瀏覽器向服務(wù)器發(fā)出運(yùn)行工作流的請求的。 該服務(wù)器優(yōu)選地為門戶服務(wù)器,其上部署有工作流引擎903,并通過門戶 組件向用戶提供檢查表以供用戶進(jìn)行工作流操作。該用戶既可以為發(fā)起該工作流的用戶,也可以為該工作流的任何其他參與者。
然后,在步驟1002,判斷判斷持久存儲中是否存在用于該參與者的檢 查表實例。該判斷步驟優(yōu)選地由服務(wù)器上的控制模塊例如檢查表呈現(xiàn)控制 器卯2執(zhí)行。如果該判斷為是,則進(jìn)行到步驟1003;否則,進(jìn)行到步驟1005。
在步驟1003,存儲檢查表實例包括其中的活動的狀態(tài)和關(guān)系等屬性。 優(yōu)選地,當(dāng)檢查表呈現(xiàn)控制器902從檢查表加載器901接收到所加載的檢 查表后,檢查表呈現(xiàn)控制器卯2可將檢查表實例包括其中的活動的狀態(tài)和 關(guān)系等屬性通過工作流引擎卯3存儲在數(shù)據(jù)庫等持久存儲中。
在步驟1004,從檢查表文件加載檢查表,從而獲得一檢查表實例。該 步驟優(yōu)選地由檢查表呈現(xiàn)控制器902命令一檢查表加載器卯l執(zhí)行。
在步驟1005,從數(shù)據(jù)庫檢索檢查表實例包括其中的活動的狀態(tài)等屬 性。該步驟優(yōu)選地由檢查表呈現(xiàn)控制器902命令工作流引擎903執(zhí)行。
在步驟1006,將檢查表呈現(xiàn)給用戶。優(yōu)選地,檢查表呈現(xiàn)控制器902 將從檢查表文件加栽的檢查表實例或從數(shù)據(jù)庫中檢索的檢查表實例以門戶 組件的形式通過網(wǎng)絡(luò)呈現(xiàn)到用戶的客戶機(jī)瀏覽器上。
在步驟1007,用戶執(zhí)行工作流操作。優(yōu)選地,用戶在顯示在瀏覽器中 的檢查表的門戶組件用戶界面上執(zhí)行工作流操作,包括勾選檢查表中的活 動以便將其置于"已完成"狀態(tài),或通過點(diǎn)擊活動條目中的鏈接來執(zhí)行該 活動,以便將其置于"已完成"狀態(tài),或取消勾選檢查表中的活動,以便 使其返回到未完成狀態(tài)。
在步驟1008,更新數(shù)據(jù)庫中的該活動的狀態(tài)。優(yōu)選地,檢查表呈現(xiàn)控 制器902在接收到來自客戶機(jī)瀏覽器的用戶的工作流操作后,根據(jù)該操作 命令工作流引擎903將數(shù)據(jù)庫中的相應(yīng)的檢查表實例中的該活動置于相應(yīng) 的狀態(tài)。
在步驟1009,判斷該活動是否有相關(guān)的活動或檢查表。優(yōu)選地,工作 流引擎903通過查看檢查表實例中該活動的屬性來判斷該活動是否有相關(guān) 的其他活動或檢查表。如果該判斷為是,則進(jìn)行到步驟1010;否則,進(jìn)行 到步驟1011。在步驟1010,更新相關(guān)的活動/檢查表的狀態(tài)或向相關(guān)用戶發(fā)出執(zhí)行相 關(guān)活動的通知。優(yōu)選地,工作流引擎卯3根據(jù)檢查表實例中該活動與相關(guān) 的其他活動或檢查表的關(guān)系,來更新相關(guān)的活動或檢查表的狀態(tài),或向相 關(guān)用戶發(fā)出執(zhí)行相關(guān)活動的通知。
在步驟1011,判斷用戶是否結(jié)束工作流操作。優(yōu)選地,檢查表呈現(xiàn)控 制器902通過判斷是否接收到來自客戶機(jī)瀏覽器的結(jié)束工作流操作請求來 判斷是否結(jié)束工作流操作。所述結(jié)束工作流操作請求例如為用戶退出檢查 表門戶組件。如果該判斷為是,則過程結(jié)束;否則,返回到步驟1007,在 此用戶將執(zhí)行新的工作流操作。
以上描述了根據(jù)本發(fā)明的實施例的用于運(yùn)行工作流的方法中的各步 驟。應(yīng)指出的是,所給出的各步驟僅為示例,而不是對本發(fā)明的限制。根 據(jù)本發(fā)明的用于運(yùn)行工作流的方法可具有更多、更少或不同的步驟, 一些 步驟可合并在一起或劃分為更小的步驟,且不同步驟之間的順序可改變或 可并行執(zhí)行。
才艮據(jù)本發(fā)明的實施例的用于運(yùn)行工作流的系統(tǒng)和方法可以硬件、軟件、 或硬件與軟件的結(jié)合的方式實現(xiàn)。本發(fā)明可以集中的方式在一個計算機(jī)系 統(tǒng)中實現(xiàn),或以分布方式實現(xiàn),在這種分布方式中,不同的部件分布在若 干互連的計算機(jī)系統(tǒng)中。適于執(zhí)行本文中描述的方法的任何計算機(jī)系統(tǒng)或 其它裝置都是合適的。優(yōu)選地,根據(jù)本發(fā)明的實施例的用于運(yùn)行工作流的 系統(tǒng)和方法以計算機(jī)軟件和通用計算機(jī)硬件的組合的方式實現(xiàn),在這種實 現(xiàn)方式中,當(dāng)該計算#序#>載和執(zhí)行時,控制該計算機(jī)系統(tǒng)而使其執(zhí) 行根據(jù)本發(fā)明的用于運(yùn)行工作流的方法,并構(gòu)成根據(jù)本發(fā)明的實施例的用 于運(yùn)行工作流的系統(tǒng)。
本發(fā)明也可體現(xiàn)在計算機(jī)程序產(chǎn)品中,該程序產(chǎn)品包含使能實現(xiàn)本文 中描述的方法的所有特征,并且當(dāng)其朝L加栽到計算機(jī)系統(tǒng)中時,能夠執(zhí)行 所述方法。
盡管已參照優(yōu)選實施例具體示出和說明了本發(fā)明,但是本領(lǐng)域內(nèi)的那 些技術(shù)人員應(yīng)理解,可在形式和細(xì)節(jié)上對其進(jìn)行各種改變而不會背離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種工作流實現(xiàn)方法,包括以下步驟根據(jù)企業(yè)策略和/或業(yè)務(wù)規(guī)則將工作流定義為多個檢查表,該多個檢查表與該工作流的參與角色相關(guān)聯(lián),其中包含工作流中與該參與角色相關(guān)的活動;以及將所述檢查表部署到運(yùn)行時環(huán)境,從而運(yùn)行該工作流。
2. 根據(jù)權(quán)利要求l的方法,其中,所述運(yùn)行步驟包括 在用戶界面中向工作流的參與者呈現(xiàn)其檢查表,以便其在工作流運(yùn)行過程中跟蹤和/或執(zhí)行工作流中與其相關(guān)的活動。
3. 根據(jù)權(quán)利要求1的方法,其中,所述定義步驟包括根據(jù)企業(yè)策略和/或業(yè)務(wù)規(guī)則定義所述檢 查表中的各活動、以及所述檢查表中的活動與其他檢查表中的活 動之間的關(guān)系;以及所述運(yùn)行步驟包括當(dāng)執(zhí)行檢查表中的活動時,通過查看所述檢查表中的活動與其他檢查表中的活動之間的所述關(guān)系,來自 動協(xié)調(diào)各參與角色的活動的執(zhí)行。
4. 根據(jù)權(quán)利要求3的方法,其中,所述協(xié)調(diào)步驟包括 在執(zhí)行檢查表中的活動時,當(dāng)通過查看該活動與其他檢查表中的活動的關(guān)系發(fā)現(xiàn)所述其他檢查表中的活動依賴于該活動時, 自動觸發(fā)所述其他檢查表中的活動的執(zhí)行,或向所述其他檢查表 的參與角色發(fā)出執(zhí)行所述活動的通知。
5. 根據(jù)權(quán)利要求3的方法,其中所述檢查表中的活動與其他檢查表中的活動之間的關(guān)系是在檢查表中定義的。
6. 根據(jù)權(quán)利要求l的方法,其中當(dāng)企業(yè)策略和/或業(yè)務(wù)規(guī)則發(fā)生變化時,重新制定或修改相關(guān) 的檢查表;以及將所述重新制定或修改的相關(guān)的檢查表部署到運(yùn)行時環(huán)境,從而運(yùn)行該工作流。
7. 根據(jù)權(quán)利要求1的方法,其中所述檢查表是XML格式的。
8. 根據(jù)權(quán)利要求2的方法,其中所述運(yùn)行時環(huán)境為門戶服務(wù) 器,且所述呈現(xiàn)步驟通過門戶組件向工作流的參與者呈現(xiàn)其檢查 表。
9. 一種用于運(yùn)行工作流的系統(tǒng),其中該工作流是由根據(jù)企業(yè) 策略和/或業(yè)務(wù)規(guī)則制定并部署的多個檢查表定義的,該多個檢查 表與該工作流的參與角色相關(guān)聯(lián),其中包含工作流中與該參與角 色相關(guān)的活動以及活動間的關(guān)系,該系統(tǒng)包括檢查表呈現(xiàn)控制器,用于在工作流運(yùn)行過程中向工作流的參 與者提供用于該參與者的檢查表用戶界面,并從所述檢查表用戶 界面接收參與者的工作流操作;以及工作流引擎,用于在工作流運(yùn)行過程中存儲用于參與者的檢 查表實例,以及根據(jù)從檢查表呈現(xiàn)控制器接收的參與者的工作流 操作,更新存儲的檢查表實例中的活動的狀態(tài),并根據(jù)該活動與 其他檢查表中的活動間的關(guān)系,來協(xié)調(diào)其他檢查表中的活動的執(zhí) 行。
10. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述檢查表呈現(xiàn)控制器還用 于當(dāng)接收到來自參與者的運(yùn)行工作流的請求時,判斷是否已存在 存儲的用于該參與者的檢查表實例,以及當(dāng)該判斷為是時,通過 所述工作流引擎獲得所述存儲的用于該參與者的檢查表實例,以 便向參與者提供用于該參與者的檢查表用戶界面,而當(dāng)該判斷為 否時,從檢查表文件中加載用于該參與者的檢查表,從而獲得用 于該參與者的檢查表實例。
11. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述檢查表是XML格式的。
12. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述檢查表呈現(xiàn)控制器部署 在門戶服務(wù)器上,且所述檢查表用戶界面為門戶組件。
13. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述檢查表是可以根據(jù)企業(yè)策略和/或業(yè)務(wù)規(guī)則的變化重新制定或修改并部署的。
14. 一種用于運(yùn)行工作流的方法,其中該工作流是由根據(jù)企業(yè) 策略和/或業(yè)務(wù)規(guī)則制定并部署的多個檢查表定義的,該多個檢查 表與該工作流的參與角色相關(guān)聯(lián),其中包含工作流中與該參與角 色相關(guān)的活動以及活動間的關(guān)系,該方法包括向工作流的參與者提供用于該參與者的檢查表用戶界面; 存儲用于參與者的檢查表實例;從所述檢查表用戶界面接收參與者的工作流操作;以及 根據(jù)接收的參與者的工作流操作,更新存儲的檢查表實例中的活動的狀態(tài),并根據(jù)該活動與其他檢查表中的活動間的關(guān)系,來協(xié)調(diào)其他檢查表中的活動的執(zhí)行。
15. 根據(jù)權(quán)利要求14的方法,其中所述提供步驟包括 當(dāng)接收到來自參與者的運(yùn)行工作流的請求時,判斷是否存在存儲的用于該參與者的檢查表實例;以及當(dāng)該判斷為否時,獲得所述存儲的用于該參與者的檢查表實 例,以便向參與者提供用于該參與者的檢查表用戶界面,而當(dāng)該 判斷為是時,從檢查表文件中加載用于該參與者的檢查表,從而 獲得用于該參與者的檢查表實例。
16. 根據(jù)權(quán)利要求14的方法,其中所述檢查表是XML格式的。
17. 根據(jù)權(quán)利要求14的方法,其中該方法是在在門戶服務(wù)器 上執(zhí)行的,且所述檢查表用戶界面為門戶組件。
18. 根據(jù)權(quán)利要求14的方法,其中所述檢查表是可以根據(jù)企 業(yè)策略和/或業(yè)務(wù)規(guī)則的變化重新制定或修改并部署的。
全文摘要
本發(fā)明提供了一種工作流實現(xiàn)方法,該方法包括以下步驟根據(jù)企業(yè)策略和/或業(yè)務(wù)規(guī)則將工作流定義為多個檢查表,該多個檢查表與該工作流的參與角色相關(guān)聯(lián),其中包含工作流中與該參與角色相關(guān)的活動;以及將所述檢查表部署到運(yùn)行時環(huán)境,從而運(yùn)行該工作流。優(yōu)選地,在所述檢查表中定義了的各檢查表中的活動之間的的關(guān)系;以及當(dāng)在運(yùn)行工作流的過程中執(zhí)行檢查表中的活動時,通過查看所述檢查表中的活動與其他檢查表中的活動之間的所述關(guān)系,來自動協(xié)調(diào)各參與角色的活動的執(zhí)行。
文檔編號G06Q10/00GK101295375SQ20071010774
公開日2008年10月29日 申請日期2007年4月29日 優(yōu)先權(quán)日2007年4月29日
發(fā)明者M·斯塔基, 薛江波 申請人:國際商業(yè)機(jī)器公司