欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

進(jìn)程編輯設(shè)備和方法以及進(jìn)程管理設(shè)備和方法

文檔序號:6620590閱讀:162來源:國知局
專利名稱:進(jìn)程編輯設(shè)備和方法以及進(jìn)程管理設(shè)備和方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種進(jìn)程編輯設(shè)備和方法、一種進(jìn)程管理設(shè)備和方法、以及存儲有使得計算機(jī)執(zhí)行上述方法的程序的記錄介質(zhì)。
背景技術(shù)
近年來,工作流系統(tǒng)已經(jīng)眾所周知,當(dāng)多人通過網(wǎng)絡(luò)工作時,該工作流系統(tǒng)管理并使得文檔或信息自動地從一個人流動到另一個人,以促進(jìn)他們的工作。例如,這樣的工作流系統(tǒng)已經(jīng)在下面文獻(xiàn)中公開IPSJ(InformationProcessing Society of Japan)雜志第39卷第11期第1160-1165頁(1998)中的Haruo Hayami所著的“Expanding Workflow Management System1”、IPSJ雜志第39卷第12期第1258-1263頁(1998)中的Haruo Hayami,ToshiakiSakaguchi,以及Ryoichi Shibuya所著的“Expanding Workflow ManagementSystem2”、以及IPSJ雜志第40卷第5期第507-513頁(1999)中的HaruoHayami,Ryoichi Shibuya,Takao Suzuki,Junichi Ikoma,Yosuke Terashita,Naoki Ueno,Satoshi Kaneko,以及Kiyoshi Hayashi所著的“ExpandingWorkflow Management System3”。
但是,傳統(tǒng)的動作流系統(tǒng)存在的問題就是不可能去編輯正在被執(zhí)行的進(jìn)程。

發(fā)明內(nèi)容
因此,本發(fā)明的一般目的就是提供一種其中能夠消除上述缺點的進(jìn)程編輯設(shè)備和方法以及進(jìn)程管理設(shè)備和方法。
本發(fā)明的一個更具體的目的就是提供一種能夠編輯正在執(zhí)行中的進(jìn)程的進(jìn)程編輯設(shè)備和方法以及進(jìn)程管理設(shè)備和方法,以及存儲有使得計算機(jī)執(zhí)行這樣的方法的程序的記錄介質(zhì)。
本發(fā)明的上述目的是由包括編輯部分的進(jìn)程編輯設(shè)備來實現(xiàn),其中所述編輯部分被配置來編輯正在執(zhí)行中的進(jìn)程。
本發(fā)明的上述目的也是由包括進(jìn)程執(zhí)行控制部分的進(jìn)程管理設(shè)備來實現(xiàn),該進(jìn)程執(zhí)行管理部分被配置來控制進(jìn)程執(zhí)行,其中該進(jìn)程執(zhí)行控制部分響應(yīng)于請求而更新正在執(zhí)行中的進(jìn)程。
本發(fā)明的上述目的也是由存儲有使得計算機(jī)執(zhí)行進(jìn)程編輯方法的程序的計算機(jī)可讀記錄介質(zhì)來實現(xiàn),所述進(jìn)程編輯方法包括用于編輯正在執(zhí)行中的進(jìn)程的步驟。
本發(fā)明的上述目的也是由存儲有使得計算機(jī)執(zhí)行進(jìn)程管理方法的程序的計算機(jī)可讀記錄介質(zhì)來實現(xiàn),所述進(jìn)程管理方法包括用于響應(yīng)于請求而更新正在執(zhí)行中的進(jìn)程的步驟。
本發(fā)明的上述目的也是由包括編輯正在執(zhí)行中的進(jìn)程的步驟的進(jìn)程編輯方法來實現(xiàn)。
本發(fā)明的上述目的也是由包括響應(yīng)于請求而更新正在執(zhí)行中的進(jìn)程的步驟的進(jìn)程管理方法來實現(xiàn)。
根據(jù)本發(fā)明,編輯正在執(zhí)行中的進(jìn)程是可能的。


本發(fā)明的其它目的、特征以及優(yōu)點將會隨著下面參照附圖的詳細(xì)說明而變得更加清晰,其中圖1為說明根據(jù)本發(fā)明的第一實施例的服務(wù)器的硬件結(jié)構(gòu)的方框圖;圖2為說明根據(jù)本發(fā)明的第一實施例的客戶端的硬件結(jié)構(gòu)的方框圖;圖3為用于說明本說明書中所使用的術(shù)語的示意圖;圖4為說明根據(jù)本發(fā)明的第一實施例的軟件結(jié)構(gòu)的示意圖;圖5為說明根據(jù)本發(fā)明的第一實施例的掛起活動的時序圖;圖6為說明根據(jù)本發(fā)明的第一實施例的預(yù)先執(zhí)行活動的時序圖;圖7為說明根據(jù)本發(fā)明的第一實施例的增加活動的時序圖;圖8為說明根據(jù)本發(fā)明的第一實施例的增加活動的更具體實例的圖;圖9為說明根據(jù)本發(fā)明的第一實施例的活動狀態(tài)轉(zhuǎn)換模型的圖;圖10為說明根據(jù)本發(fā)明的第一實施例的轉(zhuǎn)換條件轉(zhuǎn)換模型的圖;圖11為說明根據(jù)本發(fā)明的第一實施例的活動和轉(zhuǎn)換的狀態(tài)轉(zhuǎn)換的圖;圖12說明了包括在根據(jù)本發(fā)明的第一實施例的進(jìn)程實例數(shù)據(jù)庫中的表;圖13為說明根據(jù)本發(fā)明的第一實施例的重新使用進(jìn)程實例流的時序圖;
圖14為說明根據(jù)本發(fā)明的第一實施例的進(jìn)程的圖;圖15為說明根據(jù)本發(fā)明的第一實施例的掛起活動的一個例子的圖;圖16為說明根據(jù)本發(fā)明的第一實施例的在掛起活動的情況下活動以及轉(zhuǎn)換的狀態(tài)轉(zhuǎn)換的圖;圖17為說明根據(jù)本發(fā)明的第一實施例的預(yù)先執(zhí)行活動的一個例子的圖;圖18為說明根據(jù)本發(fā)明的第一實施例的增加活動的一個例子的圖;圖19為說明根據(jù)本發(fā)明的第一實施例的進(jìn)程執(zhí)行編輯工具中的GUI的圖;圖20為說明根據(jù)本發(fā)明的第一實施例的進(jìn)程定義工具中的GUI的圖;圖21為說明根據(jù)本發(fā)明的第二實施例的在預(yù)先執(zhí)行活動的情況下活動以及轉(zhuǎn)換的狀態(tài)轉(zhuǎn)換的圖;圖22為說明根據(jù)本發(fā)明的第二實施例的在顯示多個任務(wù)作為不同流的情況下視窗屏幕的圖;圖23為說明根據(jù)本發(fā)明的第二實施例的視窗屏幕的圖,其中顯示出多個流,該視窗屏幕被應(yīng)用于固定流;圖24為說明根據(jù)本發(fā)明的第三實施例的軟件結(jié)構(gòu)的示意圖;圖25為說明根據(jù)本發(fā)明的第三實施例的授權(quán)操作一個進(jìn)程對象的例子的表;圖26說明了根據(jù)本發(fā)明的第三實施例的進(jìn)程對象ACL數(shù)據(jù)庫的表;圖27為說明根據(jù)本發(fā)明的第三實施例的掛起包括檢查操作授權(quán)的活動的時序圖;圖28為說明根據(jù)本發(fā)明的第三實施例的預(yù)先執(zhí)行包括檢查操作授權(quán)的活動的時序圖;以及圖29為說明根據(jù)本發(fā)明的第三實施例的增加包括檢查操作授權(quán)的活動的時序圖。
具體實施例方式
下面參照附圖給出對于本發(fā)明的實施例的說明。
首先,參照圖1給出對于根據(jù)本發(fā)明的第一實施例的服務(wù)器1的硬件結(jié)構(gòu)的說明。圖1是說明服務(wù)器1的硬件結(jié)構(gòu)的方框圖。
圖1中所示服務(wù)器1的硬件結(jié)構(gòu)包括輸入單元11、顯示單元12、驅(qū)動單元13、記錄介質(zhì)14、ROM(只讀存儲器)15、RAM(隨機(jī)存取存儲器)16、CPU(中央處理單元)17、接口單元18、以及HDD(硬盤驅(qū)動器)19,它們通過總線互連。
輸入單元11包括由服務(wù)器1的用戶操作的鍵盤和鼠標(biāo)。輸入單元11被用于向服務(wù)器1輸入各種操作信號。顯示單元12包括由服務(wù)器1的用戶使用的顯示器,并顯示各種信息項。接口單元18將服務(wù)器1與網(wǎng)絡(luò)等相連。
例如,下面所述的進(jìn)程定義管理部分22、進(jìn)程定義數(shù)據(jù)庫23、工作流引擎25、以及進(jìn)程實例數(shù)據(jù)庫26(圖4),它們都是對應(yīng)于軟件的程序,并由記錄介質(zhì)14例如CD-ROM提供給服務(wù)器1,或通過網(wǎng)絡(luò)被下載給服務(wù)器1。記錄介質(zhì)14被設(shè)置在驅(qū)動單元13中,以便通過驅(qū)動單元13將程序從記錄介質(zhì)14安裝在HDD 19中。
ROM 15存儲數(shù)據(jù)。RAM 16存儲當(dāng)服務(wù)器1啟動時從HDD 19中讀出的程序。CPU 17根據(jù)存儲在RAM 16中的程序執(zhí)行處理。
接著,參照圖2給出對于根據(jù)本發(fā)明的第一實施例的客戶端3的硬件結(jié)構(gòu)的說明。圖2為說明客戶端3的硬件結(jié)構(gòu)的方框圖。
如圖2中所示的客戶端3的硬件結(jié)構(gòu)包括輸入單元31、顯示單元32、驅(qū)動單元33、記錄介質(zhì)34、ROM 35、RAM 36、CPU 37、接口單元38、以及HDD 39,它們通過總線互連。
輸入單元31包括由客戶端3的用戶操作的鍵盤和鼠標(biāo)。輸入單元31被用于向客戶端3輸入各種操作信號。顯示單元32包括由客戶端3的用戶使用的顯示器,并顯示各種信息項。接口單元38將客戶端3與網(wǎng)絡(luò)相連。
例如,下面所述的進(jìn)程定義工具21、進(jìn)程執(zhí)行編輯工具27、以及工作流應(yīng)用程序24(圖4),它們都是對應(yīng)于軟件的程序,并由記錄介質(zhì)34例如CD-ROM提供給客戶端3,或通過網(wǎng)絡(luò)被下載給客戶端3。記錄介質(zhì)34被設(shè)置在驅(qū)動單元33中,以便通過驅(qū)動單元33將程序從記錄介質(zhì)34安裝在HDD 39中。
ROM 35存儲數(shù)據(jù)。RAM 36存儲當(dāng)客戶端3啟動時從HDD 39中讀出的程序。CPU 37根據(jù)存儲在RAM 36中的程序執(zhí)行處理。
接著,參照圖3給出對于在本說明書中所使用的術(shù)語的說明。圖3為說明在本說明書中使用的術(shù)語的示意圖。
在本說明書中,進(jìn)程是指用于實現(xiàn)任務(wù)的處理流?;顒邮侵笜?gòu)成進(jìn)程的每個作業(yè)?;顒泳哂袪顟B(tài),例如“被激活”、“完成”、以及“等待”。例如,下述由軟件構(gòu)成的工作流系統(tǒng)通過這些狀態(tài)的轉(zhuǎn)換來表示進(jìn)程的進(jìn)度。轉(zhuǎn)換定義了活動的執(zhí)行順序。該轉(zhuǎn)換還具有條件(狀態(tài)),并且工作流系統(tǒng)確定活動的狀態(tài)轉(zhuǎn)換條件,以根據(jù)條件進(jìn)行連接。
流是由活動和轉(zhuǎn)換表示的處理的流程圖。進(jìn)程定義為進(jìn)程模板,并定義了執(zhí)行之前的進(jìn)程流。進(jìn)程實例流為執(zhí)行中(正在被執(zhí)行)的進(jìn)程流。
進(jìn)程實例為具體化的進(jìn)程定義,并且包括任務(wù)的實際內(nèi)容。上述的進(jìn)程實例流為進(jìn)程實例的流定義。通常,進(jìn)程實例流等于它的基礎(chǔ)進(jìn)程定義(baseprocess definition)。
但是,如下所述,進(jìn)程實例流以及進(jìn)程定義被視作不同的實體,并在這個工作流系統(tǒng)中是單獨可操作的。因此,在這個工作流系統(tǒng)中,防止進(jìn)程實例流中的變化被反映在它的基礎(chǔ)進(jìn)程定義中,并且也防止進(jìn)程定義中的變化被反映在已經(jīng)被轉(zhuǎn)換成實例的進(jìn)程中。
接著,參照圖4給出對于根據(jù)本發(fā)明的第一實施例的被安裝在服務(wù)器1和客戶端3中的軟件結(jié)構(gòu)的說明。圖4為說明根據(jù)本發(fā)明的第一實施例的軟件結(jié)構(gòu)的示意圖。
如圖4中所示的軟件結(jié)構(gòu)包括進(jìn)程定義工具21、進(jìn)程定義管理部分22、進(jìn)程定義數(shù)據(jù)庫23、工作流應(yīng)用程序24、工作流引擎25、進(jìn)程實例數(shù)據(jù)庫26、以及進(jìn)程執(zhí)行編輯工具27。
進(jìn)程定義工具21定義進(jìn)程。進(jìn)程定義工具21輸入進(jìn)程定義并通過進(jìn)程定義管理部分22從進(jìn)程定義數(shù)據(jù)庫23中獲得進(jìn)程定義。而且,進(jìn)程定義工具21通過工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中提取進(jìn)程實例流。接著,進(jìn)程定義工具21,例如,編輯所提取的進(jìn)程實例流,并通過進(jìn)程定義管理部分22將編輯后的進(jìn)程實例流輸入到進(jìn)程定義數(shù)據(jù)庫23中,作為進(jìn)程定義。
進(jìn)程定義管理部分22管理存儲在進(jìn)程定義數(shù)據(jù)庫23中的進(jìn)程定義。根據(jù)來自進(jìn)程定義工具21的請求,進(jìn)程定義管理部分22從進(jìn)程定義數(shù)據(jù)庫23中獲得相應(yīng)的進(jìn)程定義,或?qū)⑾鄳?yīng)的進(jìn)程定義輸入到進(jìn)程定義數(shù)據(jù)庫23中。
進(jìn)程定義數(shù)據(jù)庫23存儲進(jìn)程定義。
工作流應(yīng)用程序24執(zhí)行活動。通過工作流引擎25,工作流應(yīng)用程序24獲得存儲在進(jìn)程實例數(shù)據(jù)庫26中的相應(yīng)的進(jìn)程實例的進(jìn)程信息以及進(jìn)程狀態(tài),并改變進(jìn)程狀態(tài)。進(jìn)一步,工作流應(yīng)用程序24通過工作流引擎25從進(jìn)程定義數(shù)據(jù)庫23中獲得進(jìn)程定義,并根據(jù)獲得的進(jìn)程定義將進(jìn)程轉(zhuǎn)換成實例。工作流應(yīng)用程序24將由進(jìn)程轉(zhuǎn)換的實例存儲在進(jìn)程實例數(shù)據(jù)庫26中。
工作流引擎25響應(yīng)于來自工作流應(yīng)用程序24的請求而從進(jìn)程定義數(shù)據(jù)庫23中獲得相應(yīng)的進(jìn)程定義,并根據(jù)獲得的進(jìn)程定義將進(jìn)程轉(zhuǎn)換成實例,以便將由進(jìn)程轉(zhuǎn)換的實例存儲在進(jìn)程實例數(shù)據(jù)庫26中。進(jìn)一步,根據(jù)來自工作流應(yīng)用程序24的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得相應(yīng)的進(jìn)程實例的進(jìn)程信息和進(jìn)程狀態(tài),并改變存儲在進(jìn)程實例數(shù)據(jù)庫26中的相應(yīng)的進(jìn)程實例的進(jìn)程狀態(tài)。
進(jìn)一步,工作流引擎25響應(yīng)于來自進(jìn)程執(zhí)行編輯工具27或進(jìn)程定義工具21的請求而從進(jìn)程實例數(shù)據(jù)庫26中提取進(jìn)程實例流。工作流引擎25還響應(yīng)于來自進(jìn)程執(zhí)行編輯工具27的請求來更新存儲在進(jìn)程實例數(shù)據(jù)庫26中的進(jìn)程實例流。更新進(jìn)程實例流包括掛起活動、預(yù)先執(zhí)行活動以及增加活動,這部分將在下面描述。
進(jìn)程實例數(shù)據(jù)庫26存儲進(jìn)程實例。
進(jìn)程執(zhí)行編輯工具27編輯進(jìn)程實例流。進(jìn)程執(zhí)行編輯工具27通過工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得進(jìn)程實例流,并編輯所獲得的進(jìn)程實例流。進(jìn)程執(zhí)行編輯工具27通過工作流引擎25將編輯后的進(jìn)程實例流存儲在進(jìn)程實例數(shù)據(jù)庫26中,從而更新進(jìn)程實例流。
如上所述,進(jìn)程定義工具21、進(jìn)程執(zhí)行編輯工具27、以及工作流應(yīng)用程序24被安裝在客戶端3中,并且進(jìn)程定義管理部分22,進(jìn)程定義數(shù)據(jù)庫23,工作流引擎25以及進(jìn)程實例數(shù)據(jù)庫26被安裝在服務(wù)器1中。進(jìn)一步,進(jìn)程定義工具21、進(jìn)程執(zhí)行編輯工具27、工作流應(yīng)用程序24、進(jìn)程定義管理部分22、進(jìn)程定義數(shù)據(jù)庫23、工作流引擎25以及進(jìn)程實例數(shù)據(jù)庫26可以被安裝來作為Web服務(wù)程序。在這種結(jié)構(gòu)中,根據(jù)基于XML(可擴(kuò)展標(biāo)記語言)或HTTP(超文本傳輸協(xié)議)的SOAP(簡單對象訪問協(xié)議)在客戶端3和服務(wù)器1之間進(jìn)行通信。
下面參照圖5給出對于作為編輯進(jìn)程執(zhí)行編輯工具27中的進(jìn)程實例流的例子的掛起活動的說明。圖5為說明掛起活動的時序圖。
首先,在步驟S1中,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出用來獲得關(guān)于進(jìn)程的活動列表的請求。在步驟S2中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得關(guān)于進(jìn)程的活動列表。
在步驟S3中,工作流引擎25將用于報告獲得關(guān)于進(jìn)程的活動列表的響應(yīng)發(fā)送給進(jìn)程執(zhí)行編輯工具27,該響應(yīng)包括關(guān)于進(jìn)程的活動列表。
在步驟S4中,接收關(guān)于進(jìn)程的活動列表,進(jìn)程執(zhí)行編輯工具27生成包括關(guān)于進(jìn)程的活動列表的屏幕并將該屏幕顯示給用戶。接著,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出用來給出指令以便掛起由用戶等指定的活動的請求。用戶是指,例如,工作流參與者。對于下面同樣有效。
在步驟S5中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25將存儲在進(jìn)程實例數(shù)據(jù)庫26中的指定活動的狀態(tài)(狀況)改為“掛起”。
在步驟S6中,工作流引擎25執(zhí)行進(jìn)程驅(qū)動操作,以更新進(jìn)程的相應(yīng)活動的狀態(tài)。
通過執(zhí)行如圖5中所述的處理,關(guān)于正在執(zhí)行中的進(jìn)程的活動能夠被掛起。
接著,參照圖6給出對于作為編輯進(jìn)程執(zhí)行編輯工具27中的進(jìn)程實例流的另一個例子的預(yù)先執(zhí)行活動的說明。圖6為說明預(yù)先執(zhí)行活動的時序圖。
首先,在步驟S10中,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出用來獲得關(guān)于進(jìn)程的活動列表的請求。在步驟S11中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得關(guān)于進(jìn)程的活動列表。
在步驟S12中,工作流引擎25將用于報告獲得關(guān)于進(jìn)程的活動列表的響應(yīng)發(fā)送給進(jìn)程執(zhí)行編輯工具27,該響應(yīng)包括關(guān)于進(jìn)程的活動列表。
在步驟S13中,接收關(guān)于進(jìn)程的活動列表,進(jìn)程執(zhí)行編輯工具27生成包括關(guān)于進(jìn)程的活動列表的屏幕并將該屏幕顯示給用戶。接著,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出用來給出指令以便激活(啟動)由用戶等指定的活動的請求。
在步驟S14中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25將存儲在進(jìn)程實例數(shù)據(jù)庫26中的指定活動的狀態(tài)(狀況)改為“被激活”。
另一方面,在步驟S15中,工作流應(yīng)用程序24向工作流引擎25發(fā)出用來獲得其狀態(tài)為“被激活”的活動列表的請求。
在步驟S16中,接收來自工作流應(yīng)用程序24的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得“被激活”的活動列表。
在步驟S17中,工作流引擎25將用于報告獲得“被激活”的活動列表的響應(yīng)發(fā)送給工作流應(yīng)用程序24,該響應(yīng)包括“被激活”的活動列表。
在步驟S18中,工作流應(yīng)用程序24生成包括“被激活”活動列表的屏幕,并將該屏幕顯示給用戶。當(dāng)用戶,例如,從“被激活”的活動列表中選擇一個活動并執(zhí)行該活動時,工作流應(yīng)用程序24向工作流引擎25發(fā)出用來給出指令以便將其執(zhí)行已經(jīng)由用戶完成的活動的狀態(tài)改為“完成”的請求。
在步驟S19中,接收來自工作流應(yīng)用程序24的請求,工作流引擎25將存儲在進(jìn)程實例數(shù)據(jù)庫26中的指定活動的狀態(tài)改為“完成”。
進(jìn)一步,在步驟S20中,工作流引擎25執(zhí)行進(jìn)程驅(qū)動操作,以更新相應(yīng)進(jìn)程活動的狀態(tài)。
通過執(zhí)行如圖6中所示的處理,關(guān)于正在執(zhí)行中的進(jìn)程的活動可以先于其它活動被執(zhí)行。
接下來,參照圖7給出對于作為編輯進(jìn)程執(zhí)行編輯工具27中的進(jìn)程實例流的另一個例子的增加活動的說明。圖7為說明增加活動的時序圖。
首先,在步驟S30中,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出用來獲得關(guān)于進(jìn)程的活動列表的請求。在步驟S31中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得關(guān)于進(jìn)程的活動列表。
在步驟S32中,工作流引擎25將用于報告獲得關(guān)于進(jìn)程的活動列表的響應(yīng)發(fā)送給進(jìn)程執(zhí)行編輯工具27,該響應(yīng)包括關(guān)于進(jìn)程的活動列表。
在步驟S33中,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出用來生成活動實例的請求。
在步驟S34中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25生成活動實例。
在步驟S35中,工作流引擎25將,例如,用于報告生成活動實例的響應(yīng)發(fā)送給進(jìn)程執(zhí)行編輯工具27,該響應(yīng)包括生成的活動實例(活動)。
在步驟S36中,進(jìn)程執(zhí)行編輯工具27生成包括關(guān)于進(jìn)程的活動列表和/或生成的活動的屏幕,并將屏幕顯示給用戶。接著,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出用來給出指令以增加由用戶指定的活動的請求,該請求包括由用戶指定的將要被增加的活動及其位置。
在步驟S37中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25復(fù)制與增加位置的活動相連的轉(zhuǎn)換,并用將要被增加的新活動的標(biāo)識符來替換增加位置的活動的標(biāo)識符。在該點上,設(shè)置新活動的狀態(tài)以及已復(fù)制轉(zhuǎn)換的條件(狀態(tài)),適當(dāng)?shù)貜脑黾游恢玫幕顒訝顟B(tài)以及原始轉(zhuǎn)換的條件開始改變。
通過執(zhí)行如圖7中所示的處理,活動能夠被加入到正在執(zhí)行中的進(jìn)程中。
接著,參照圖8給出對于增加活動的更具體例子進(jìn)行的說明。圖8為說明增加活動的更具體實例的圖。
參看圖8,首先,(a)示出了其中“活動”D被加入到“活動”B的位置,作為將要被并行處理或執(zhí)行的活動的情況。為了將“活動”D加入到“活動”B的位置,作為沒有進(jìn)行任何處理的虛擬活動的“活動”E被加入到“活動”A和“活動”B之間,以便于使分離成“活動”B和“活動”D(的線程),并且虛擬活動F被加入到“活動”B和“活動”C之間,以便于連接“活動”B和“活動”D(的線程)。
在如圖8的(a)中所示的增加活動的情況中,例如,關(guān)于新近被增加的活動的信息被加入到包括在進(jìn)程實例數(shù)據(jù)庫26中的活動表(圖12)中,并且由增加“活動”D引起的新轉(zhuǎn)換被加入到包括在進(jìn)程實例數(shù)據(jù)庫26中的轉(zhuǎn)換表(圖12)中。例如,在轉(zhuǎn)換表中,其開始點和結(jié)束點分別為“活動”A和“活動”B的轉(zhuǎn)換將其結(jié)束點改為“活動”E,并且其開始點和結(jié)束點分別為“活動”B和“活動”C的轉(zhuǎn)換將其結(jié)束點改為“活動”F。
接著,在圖8中,(b)示出了其中將要被并行處理的“活動”E被加入到“活動”C的位置的情況。包括(b)的已增加“活動”E的該圖表等同于圖(b’)或圖表(b”),因此在下面的圖中被示作(b’)或(b”)。
在圖8中,(c)也示出了其中將要被并行處理的“活動”E被加入到“活動”C的位置的情況。但是,與(b)相比,(c)不僅包括“與-分離”和“與-連接”,而且還包括如圖(e)所示的“異或-分離”和“異或-連接”。
在圖8的(a)至(c)中,示出了增加新活動到現(xiàn)存活動的位置上作為將要被并行處理的活動的情況。作為選擇,可以增加活動,以便于如(d)所示被串行地處理,在該(d)中,新“活動”D被加入到“活動”A和“活動”B之間。
下面參照圖9給出對于活動狀態(tài)轉(zhuǎn)換模型的說明。圖9為說明活動狀態(tài)轉(zhuǎn)換模型的圖。
在圖9中,“未被激活”(NOT ACTIVATED)表示活動保持沒有被執(zhí)行,“等待”(WAITING)表示活動等待被處理,“激活”(ACTIVATED)表示活動被激活(正在被處理),“完成”(COMPLETED)表示活動已經(jīng)完成,并且“掛起”(SUSPENDED)表示活動被掛起。
參看圖9,當(dāng)轉(zhuǎn)換條件滿足用于激活(啟動)活動的條件時,活動的狀態(tài)作出從“未被激活”到“等待”的轉(zhuǎn)換。這里,滿足激活活動的條件意味著如果“與連接”先于活動,則對于活動的所有轉(zhuǎn)換條件(狀態(tài))會變成ON,并且如果“異或連接”先于活動,則對于活動的至少一個轉(zhuǎn)換的條件會變成ON。
當(dāng)通過工作流引擎25從工作流應(yīng)用程序24給出用來激活(啟動)活動的指令時,活動的狀態(tài)從“等待”轉(zhuǎn)換到“被激活”。當(dāng)通過工作流引擎25從工作流應(yīng)用程序24中給出用來完成活動的指令時,活動的狀態(tài)從“被激活”轉(zhuǎn)換到“完成”。
當(dāng)通過工作流引擎25從進(jìn)程執(zhí)行編輯工具27或工作流應(yīng)用程序24給出用來將活動的狀態(tài)改變?yōu)椤皰炱稹钡闹噶顣r,活動的狀態(tài)從“未被激活”、“等待”、或“被激活”轉(zhuǎn)換為“掛起”。
活動的狀態(tài)被包括在如下面的圖12中所示的進(jìn)程實例數(shù)據(jù)庫26的活動表中。
下面,參照圖10給出對于轉(zhuǎn)換條件(狀態(tài))轉(zhuǎn)換模型的說明。圖10為說明轉(zhuǎn)換條件轉(zhuǎn)換模型的圖。
參看圖10,當(dāng)位于開始點的活動(開始點活動)的狀態(tài)改變?yōu)椤巴瓿伞被颉皰炱稹保⑶覞M足轉(zhuǎn)換的觸發(fā)條件時,轉(zhuǎn)換的條件(狀態(tài))從OFF轉(zhuǎn)換到ON。更詳細(xì)地,如果“與-分離”在活動之后,則當(dāng)活動的狀態(tài)改變?yōu)椤巴瓿伞被颉皰炱稹睍r,來自活動的所有轉(zhuǎn)換條件都轉(zhuǎn)換為ON。另一方面,如果“異或-分離”在活動之后,則檢查來自活動的轉(zhuǎn)換的觸發(fā)條件,并且當(dāng)滿足轉(zhuǎn)換的觸發(fā)條件時,轉(zhuǎn)換的條件轉(zhuǎn)換為ON。
進(jìn)一步,當(dāng)位于結(jié)束點的活動狀態(tài)從“等待”變?yōu)椤氨患せ睢睍r,轉(zhuǎn)換的條件從ON轉(zhuǎn)換到OFF。
當(dāng)位于結(jié)束點的活動狀態(tài)變?yōu)椤皰炱稹睍r,轉(zhuǎn)換的條件不進(jìn)行轉(zhuǎn)換。
轉(zhuǎn)換條件被包括在如下面的圖12中所示的進(jìn)程實例數(shù)據(jù)庫26的轉(zhuǎn)換表中。
接著,參照圖11給出對于活動和轉(zhuǎn)換的狀態(tài)轉(zhuǎn)換的說明。圖11為說明活動和轉(zhuǎn)換的狀態(tài)轉(zhuǎn)換的圖。
進(jìn)一步,參照圖12給出對于包括在進(jìn)程實例數(shù)據(jù)庫26中的表的說明。圖12說明了包括在進(jìn)程實例數(shù)據(jù)庫26中的活動和轉(zhuǎn)換表。
參看圖12,該活動表包括Id、進(jìn)程ID、名稱、分離類型、連接類型、以及狀態(tài),來作為各項。
在Id中,存儲有用于標(biāo)識活動的標(biāo)識符。在進(jìn)程ID中,存儲有用于標(biāo)識進(jìn)程的標(biāo)識符。在名稱中,存儲有活動名稱。在分離類型中,存儲“與”或者“異或”作為分離類型。在連接類型中,存儲“與”或者“異或”作為連接類型。在狀態(tài)中,存儲有“未被激活”、“等待”、“被激活”、“完成”、或“掛起”作為活動狀態(tài)。
參看圖12,該轉(zhuǎn)換表包括Id、進(jìn)程ID、來自活動ID、至活動ID、觸發(fā)條件、以及條件,來作為各項。
在Id中,存儲有用于標(biāo)識活動的標(biāo)識符。在進(jìn)程ID中,存儲有用于標(biāo)識進(jìn)程的標(biāo)識符。在來自活動ID中,存儲有用于標(biāo)識開始點活動的標(biāo)識符。在至活動ID中,存儲有用于標(biāo)識結(jié)束點活動的標(biāo)識符。在觸發(fā)條件中,存儲有轉(zhuǎn)換的觸發(fā)條件。在條件中,存儲有ON或OFF作為轉(zhuǎn)換條件(狀態(tài))。
接著,參照圖13給出對于重新使用進(jìn)程定義工具21中的進(jìn)程實例流的說明。圖13為說明重新使用進(jìn)程實例流的時序圖。
首先,在圖13的步驟S40中,進(jìn)程定義工具21向工作流引擎25發(fā)出用于獲得進(jìn)程實例流的請求。
在步驟S41中,接收來自進(jìn)程定義工具21的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得進(jìn)程實例流。
在步驟S42中,工作流引擎25向進(jìn)程定義工具21發(fā)出用于報告獲得進(jìn)程實例流的響應(yīng),該響應(yīng)包括所獲得的進(jìn)程實例流。
在步驟S43中,接收進(jìn)程實例流,進(jìn)程定義工具21生成包括進(jìn)程實例流的屏幕,并將該屏幕顯示給用戶。接著,進(jìn)程定義工具21根據(jù)來自用戶的請求編輯進(jìn)程實例流。
在步驟S44中,根據(jù)來自用戶等的請求,進(jìn)程定義工具21生成用來進(jìn)入作為進(jìn)程定義的已編輯進(jìn)程實例流的進(jìn)入請求,并將該進(jìn)入請求發(fā)送給進(jìn)程定義管理部分22,該進(jìn)入請求包括已編輯的進(jìn)程實例流。
在步驟S45中,接收來自進(jìn)程定義工具21的進(jìn)入請求,進(jìn)程定義管理部分22將包括在進(jìn)入請求中的進(jìn)程實例流輸入到進(jìn)程定義數(shù)據(jù)庫23中,作為進(jìn)程定義。
通過執(zhí)行如圖13所示的處理,進(jìn)程實例流可以被重新用作進(jìn)程定義。
接下來,參照圖14給出對進(jìn)程的說明。圖14為說明作為進(jìn)程的一個例子的開發(fā)進(jìn)程的圖。該開發(fā)進(jìn)程包括需求分析、說明分析、設(shè)計、編碼與測試、以及輸出,作為子流。進(jìn)一步,存在有活動,例如會議,諸如分析會議、復(fù)查會議、以及驗證會議、文檔(需求說明,軟件說明,結(jié)構(gòu)說明,詳細(xì)說明,以及手冊)準(zhǔn)備、編碼、單元測試、集成測試、以及打包。
在圖14中,黑圓圈表示“與-連接”或“與-分離”,并且其它分支表示“異或-連接”或者“異或-分離”。
接著,參照圖15給出對于掛起活動的一個例子的說明。圖15為說明掛起活動的一個例子的圖。
參看圖15,在當(dāng)前位置,活動“單元測試”已經(jīng)完成,并且活動“代碼復(fù)查”正在等待被執(zhí)行(被處理)。
例如,如果用戶為了盡快執(zhí)行活動“集成測試”而決定延遲活動“代碼復(fù)查”,并通過執(zhí)行預(yù)定的操作而將活動“代碼復(fù)查”的狀態(tài)改為“掛起”,活動“代碼復(fù)查”與活動“單元測試結(jié)果報告會議”之間的轉(zhuǎn)換變成ON。
接著,活動“單元測試結(jié)果報告會議”的激活條件被滿足,使得活動“單元測試結(jié)果報告會議”的狀態(tài)改為“等待”,并且活動“單元測試結(jié)果報告會議”變得可執(zhí)行。
該被掛起的活動可以在此后的任何時刻都變成可執(zhí)行的。進(jìn)一步,通過將活動“代碼復(fù)查”的完成包括在如圖15中所示的進(jìn)程的結(jié)束條件中,可以防止活動“代碼復(fù)查”在沒有正被處理的情況下就結(jié)束。
接著,參照圖16給出對于在掛起活動的情況下的活動和轉(zhuǎn)移的狀態(tài)轉(zhuǎn)移的說明。圖16為說明在掛起活動的情況下的活動以及轉(zhuǎn)換的狀態(tài)轉(zhuǎn)換的圖。
圖16示出了“活動”D在步驟8中被掛起的情況。如圖16所示,掛起一個活動(例如,“活動”D)沒有使得向著已掛起活動的轉(zhuǎn)換(例如,“轉(zhuǎn)換”c)的條件(狀態(tài))發(fā)生變化。
接著,參照圖17給出對于預(yù)先執(zhí)行活動的一個例子的說明。圖17為說明預(yù)先執(zhí)行活動的一個例子的圖。
參看圖17,在當(dāng)前位置處,活動“單元測試”已經(jīng)被完成,并且活動“代碼復(fù)查”正在等待被執(zhí)行(被處理)。
例如,在該點上,用戶為了盡快執(zhí)行活動“集成測試”而選擇活動“集成測試”,并通過執(zhí)行預(yù)定的操作而將活動“集成測試”的狀態(tài)改為“被激活”。
當(dāng)在完成活動“集成測試”之后完成活動“代碼復(fù)查”和活動“單元測試結(jié)果報告會議”時,由于活動“集成測試”的執(zhí)行已經(jīng)完成,因此可以防止活動“集成測試”的狀態(tài)變成“等待”。
當(dāng)完成執(zhí)行活動“集成測試”時,活動“代碼修復(fù)核準(zhǔn)會議”的狀態(tài)變成“等待”,而與其它活動是否完成無關(guān)。
通過將完成活動“代碼復(fù)查”和活動“單元測試結(jié)果報告會議”包括在如圖17所示的進(jìn)程的結(jié)束條件中,可以防止活動“代碼復(fù)查”以及活動“單元測試結(jié)果報告會議”在沒有被處理的情況下就結(jié)束。
接著,參照圖18給出對于增加活動的一個例子的說明。圖18為說明增加活動的一個例子的圖。
參看圖18,在當(dāng)前位置,活動“單元測試結(jié)果報告會議”已經(jīng)完成,并且活動“集成測試”正在等待被執(zhí)行(被處理)。
例如,在該點上,如果用戶指定活動“集成測試”并增加“載入測試”作為將要被并行處理的活動,則工作流引擎25復(fù)制活動“集成測試”的轉(zhuǎn)換,并將其結(jié)束點從活動“集成測試”改為活動“載入測試”。
在該點上,從活動“單元測試結(jié)果報告會議”至活動“載入測試”的轉(zhuǎn)換條件(狀態(tài))變成ON。
接著,參照圖19給出對于安裝在客戶端3中的進(jìn)程執(zhí)行編輯工具27中的GUI的說明。圖19為說明在進(jìn)程執(zhí)行編輯工具27中的GUI的圖。
例如,如圖19所示,用戶將鼠標(biāo)光標(biāo)定位在正在執(zhí)行中的進(jìn)程流的活動之中的“軟件說明準(zhǔn)備”,并點擊右鍵。
接著,打開如圖19所示的菜單,并且當(dāng)用戶選擇“增加活動”時,右上角的窗格改為應(yīng)用程序列表。
當(dāng)用戶從應(yīng)用程序列表中選擇一個應(yīng)用程序時,右下角窗格的活動設(shè)置項的內(nèi)容會發(fā)生變化。在圖19的情況下,用戶選擇“文檔準(zhǔn)備”作為應(yīng)用程序。
用戶在右下角窗格里設(shè)置參數(shù),并按下OK按鈕來增加活動。接著,增加的活動以及關(guān)于該活動的轉(zhuǎn)換被反映在“流查看”屏幕上的進(jìn)程流中并被顯示。
接下來,參照圖20給出對于安裝在客戶端3的進(jìn)程定義工具21中的GUI的說明。圖20為說明進(jìn)程定義工具21的GUI的圖。
例如,當(dāng)用戶從菜單欄的“輸入”菜單中選擇“進(jìn)程示例流”時,右側(cè)窗格改為進(jìn)程實例列表。
當(dāng)用戶從進(jìn)程實例列表中選擇一個進(jìn)程示例流,并按下OK按鈕時,進(jìn)程實例流被顯示在左側(cè)的窗格中,并且進(jìn)程實例列表被關(guān)閉。
當(dāng)用戶在編輯進(jìn)程實例流之后從菜單欄中選擇“增加”時,編輯后的進(jìn)程實例流或進(jìn)程實例被輸入作為進(jìn)程定義。
接下來,給出對于根據(jù)本發(fā)明的第二實施例的預(yù)先執(zhí)行活動和掛起活動的說明。圖21為說明根據(jù)本發(fā)明第二實施例的在預(yù)先執(zhí)行活動的情況下的活動以及轉(zhuǎn)換的狀態(tài)轉(zhuǎn)換的圖。
圖21示出了在步驟4中預(yù)先取得并開始執(zhí)行“活動”D,以及在步驟5中完成執(zhí)行的情況。如圖21所示,預(yù)先執(zhí)行活動(例如,“活動”D)并沒有改變向著活動的轉(zhuǎn)換(例如,“轉(zhuǎn)換”c)的條件(狀態(tài))。沒有預(yù)先執(zhí)行活動(活動D)的完成會改變向著下一個活動(例如,“活動”E)的轉(zhuǎn)換(例如,“轉(zhuǎn)換”e)的條件。
參看圖21,當(dāng)在一個步驟中向著一個活動(例如,“活動”D)的轉(zhuǎn)換(例如,“轉(zhuǎn)換”c)的條件變成ON時,則在下一步驟中,源于活動(“活動”D)的轉(zhuǎn)換(例如,“轉(zhuǎn)換”e)的條件變成ON,并且向著活動(“活動”D)的轉(zhuǎn)換(例如,“轉(zhuǎn)換”c)的條件變成OFF。
作為一個實際問題,會頻繁出現(xiàn)實現(xiàn)實際工作的方式不同于已定義的流的情況。因此,通過如上所述允許(很容易地使能)預(yù)先執(zhí)行和掛起活動,執(zhí)行中的進(jìn)程流可以不同于它的進(jìn)程定義,使得可以根據(jù)實際工作情況來處理工作流。也可以將執(zhí)行各個任務(wù)的工作流視為不同的進(jìn)程定義。但是,在該工作流中,從負(fù)責(zé)工作管理的位置的角度來看,各個任務(wù)的情況應(yīng)該被作為不同的流來管理。因此,當(dāng)有許多工作時,就很難理解所有的工作情況。
另一方面,根據(jù)允許(很容易地使能)預(yù)先執(zhí)行和掛起活動的本發(fā)明的工作流,可以用相同的流來管理所有任務(wù)的情況。因此,工作管理員能夠查看實際上在不同于固定流(相同流)的流中進(jìn)行的任務(wù)。這就使得工作管理員能夠從全面的角度理解各個任務(wù)的情況。也允許(很容易地使能)增加活動,而不會在原始流(進(jìn)程定義)中發(fā)生顯著變化。因此,工作情況管理中的優(yōu)點并沒有被削弱。
為了通過固定流來判斷所有實際上在不同流中進(jìn)行的任務(wù),最好不要刪除活動。進(jìn)一步,在從一個流中刪除任務(wù)的情況下,如果流的分支很復(fù)雜,則有時無法保持該分支條件,使得很難保持流的一致性。因此,根據(jù)本發(fā)明,通過導(dǎo)入掛起活動的概念(和系統(tǒng))來保持流一致性,使得能夠通過固定流來判斷所有的任務(wù)。
下面參照圖22給出對于顯示多個任務(wù)作為不同流的情況的說明。圖22為說明在顯示多個任務(wù)作為不同流的情況下視窗屏幕的圖。術(shù)語“任務(wù)”是指單一進(jìn)程實例,術(shù)語“任務(wù)列表”是指任務(wù)的列表。該“任務(wù)”可以被視作工作。
在如圖22所示的視窗屏幕上,用戶很難正確地理解每個進(jìn)程的情況(或每個任務(wù)的情況),除非用戶緊密地查看每個任務(wù)的整個流。尤其是,在復(fù)雜流的情況下,理解一個進(jìn)程情況會變得更困難。
例如,在如圖22所示的視窗屏幕上,用黑體和斜體來表示正在執(zhí)行中的活動,并用下劃線表示已完成的活動。進(jìn)一步,在該工作流中,基本上,進(jìn)行如流所定義的處理,使得每個活動的狀態(tài)在正在執(zhí)行中的活動之前都是“完成”。
接下來,參照圖23給出對于顯示多任務(wù)并將該任務(wù)應(yīng)用于固定流的情況的說明。圖23為說明根據(jù)被用于固定流的本發(fā)明的第二實施例的視窗屏幕的圖,其中顯示出多個流。
在圖23所示的視窗屏幕中,基本上,用戶只能查看正在執(zhí)行中的活動。通過例外地查看事先被掛起或執(zhí)行的活動,用戶能夠很容易地正確理解每個進(jìn)程情況。
由工作流應(yīng)用程序24生成如圖23所示的視窗屏幕并將其提交給用戶。工作流應(yīng)用程序24從工作流引擎25中獲得任務(wù)列表,并生成如圖23中所示的視窗屏幕。
下面說明的情況為根據(jù)本發(fā)明的第三實施例,在工作流系統(tǒng)中定義和管理對于關(guān)于正在執(zhí)行中的進(jìn)程的對象(進(jìn)程對象)的每個操作的授權(quán)(操作授權(quán)、存取權(quán)、或存儲控制),并檢查每個操作請求的授權(quán)。
首先,參照圖24給出對于根據(jù)本發(fā)明的第三實施例的安裝在服務(wù)器1和客戶端3中的軟件結(jié)構(gòu)的說明。圖24為說明根據(jù)本發(fā)明的第三實施例的軟件結(jié)構(gòu)的示意圖。
如圖24所示的軟件結(jié)構(gòu)包括進(jìn)程定義工具21、進(jìn)程定義管理部分22、進(jìn)程定義數(shù)據(jù)庫23、工作流應(yīng)用程序24、工作流引擎25、進(jìn)程實例數(shù)據(jù)庫26、進(jìn)程執(zhí)行編輯工具27、以及進(jìn)程對象ACL(存取控制列表)數(shù)據(jù)庫28。進(jìn)程對象ACL數(shù)據(jù)庫28是對應(yīng)于軟件的程序,并通過記錄介質(zhì)14例如CD-ROM被提供給服務(wù)器1或通過網(wǎng)絡(luò)下載給服務(wù)器1。
工作流引擎25執(zhí)行如第一實施例中所述的處理。另外,例如,響應(yīng)于來自進(jìn)程執(zhí)行編輯工具27的用來更新進(jìn)程實例流的請求,工作流引擎25將存取權(quán)(存取權(quán))提交給在進(jìn)程對象ACL數(shù)據(jù)庫28中存儲和/或管理的相應(yīng)進(jìn)程對象等,并確定(或檢查)請求用戶(或組)是否具有有效的存取權(quán)。
進(jìn)程對象ACL數(shù)據(jù)庫28存儲和/或管理對于進(jìn)程對象的存取權(quán)。
圖25為說明授權(quán)操作一個進(jìn)程對象(進(jìn)程對象操作授權(quán))的例子的表。如圖25所示,例如,存在進(jìn)程,活動,以及應(yīng)用程序作為進(jìn)程對象。這里,應(yīng)用程序就是,例如工作流應(yīng)用程序。
存在參考,增加活動,掛起活動,以及執(zhí)行預(yù)先活動作為操作進(jìn)程的授權(quán)(進(jìn)程操作授權(quán))。存在執(zhí)行,參考,增加活動(并行),增加活動(在前),增加活動(在后),掛起活動,以及預(yù)先執(zhí)行活動作為操作活動的授權(quán)(活動操作授權(quán))。進(jìn)一步,存在參考和執(zhí)行作為操作應(yīng)用程序的授權(quán)(應(yīng)用程序操作授權(quán))。
進(jìn)程操作授權(quán)參考是指授權(quán)參考關(guān)于正在進(jìn)程的相應(yīng)進(jìn)程(正在執(zhí)行中的進(jìn)程)的信息。進(jìn)程操作授權(quán)增加活動授權(quán)向相應(yīng)正在執(zhí)行中的進(jìn)程加入活動。進(jìn)程操作授權(quán)掛起活動授權(quán)掛起相應(yīng)正在執(zhí)行進(jìn)程的活動。進(jìn)程操作授權(quán)預(yù)先執(zhí)行活動授權(quán)預(yù)先執(zhí)行應(yīng)正在執(zhí)行進(jìn)程的活動。
活動操作授權(quán)執(zhí)行授權(quán)僅當(dāng)活動狀態(tài)為被激活時執(zhí)行相應(yīng)的活動。活動操作授權(quán)參考是用來參考關(guān)于相應(yīng)活動的信息的授權(quán)?;顒硬僮魇跈?quán)增加活動(并行)授權(quán)增加一個將要與相應(yīng)的活動并行執(zhí)行的活動,并授權(quán)改變與相應(yīng)增加的活動相連的轉(zhuǎn)換的連接和分離條件以及觸發(fā)條件。
活動操作授權(quán)增加活動(在前)授權(quán)增加一個將要被執(zhí)行的活動使得增加的活動先于相應(yīng)的活動,并授權(quán)改變與增加的活動相連的轉(zhuǎn)換的觸發(fā)條件?;顒硬僮魇跈?quán)增加活動(在后)授權(quán)增加一個將要被執(zhí)行的活動使得增加的活動跟在相應(yīng)的活動之后,并授權(quán)改變與增加的活動相連的轉(zhuǎn)換的觸發(fā)條件。
活動操作授權(quán)掛起活動授權(quán)將相應(yīng)活動的狀態(tài)改為被掛起?;顒硬僮魇跈?quán)預(yù)先執(zhí)行活動授權(quán)將相應(yīng)活動的狀態(tài)改為被激活。
應(yīng)用程序操作授權(quán)參考授權(quán)當(dāng)增加一個活動時指定一個將要被執(zhí)行的應(yīng)用程序。應(yīng)用程序操作授權(quán)執(zhí)行授權(quán)使用相應(yīng)的應(yīng)用程序。沒有被授權(quán)執(zhí)行(使用)應(yīng)用程序的用戶(或組)不能被指定作為使用應(yīng)用程序的活動的執(zhí)行者。
圖26說明了進(jìn)程對象ACL數(shù)據(jù)庫28的表。
參看圖26,進(jìn)程對象ACL數(shù)據(jù)庫28的表包括SID,對象ID,用戶/組ID,以及存取控制作為項。
SID中存儲有唯一的ID。對象ID中存儲有進(jìn)程對象的ID。用戶/組ID中存儲有標(biāo)識用戶的用戶ID或標(biāo)識組的組ID。圖25中所示的授權(quán)符號(即標(biāo)識操作授權(quán),存取權(quán)或存取控制的信息)被存儲在存取控制中。
下面參照圖27給出對于根據(jù)第三實施例掛起包括檢查操作授權(quán)的活動的說明。圖27為說明根據(jù)本發(fā)明第三實施例的掛起包括檢查操作授權(quán)的活動的時序圖。
參看圖27,首先,在步驟S50中,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出一個請求,以獲得一列關(guān)于進(jìn)程的活動。
在步驟S51中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得關(guān)于進(jìn)程的活動列表。
在步驟S52中,工作流引擎25向進(jìn)程執(zhí)行編輯工具27發(fā)出報告獲得關(guān)于進(jìn)程的活動列表的響應(yīng),該響應(yīng)包括關(guān)于進(jìn)程的活動列表。
在步驟S53中,接收關(guān)于進(jìn)程的活動列表,進(jìn)程執(zhí)行編輯工具27生成包括關(guān)于進(jìn)程的活動列表的屏幕并將其顯示給用戶。接著,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出一個請求,以給出一個指令來掛起由用戶等指定的活動。
在步驟S54中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25查閱,例如存儲在如圖26中所示的進(jìn)程對象ACL數(shù)據(jù)庫28中的表,并確定(檢查)用戶或用戶所屬的組是否具有掛起被指定活動的操作權(quán)。
在步驟S55中,如果工作引擎25確定用戶或用戶所屬的組具有掛起被指定活動的操作權(quán),則工作流引擎25將存儲在進(jìn)程實例數(shù)據(jù)庫26中的被指定活動的狀態(tài)改為被掛起。
在步驟S56中,工作流引擎25進(jìn)行進(jìn)程驅(qū)動操作,以更新進(jìn)程的相應(yīng)活動的狀態(tài)。
通過執(zhí)行如圖27所示的處理,可以只允許被授權(quán)的用戶來掛起關(guān)于正在執(zhí)行中的進(jìn)程的活動。
接著,參照圖28給出對于根據(jù)第三實施例預(yù)先執(zhí)行包括檢查操作授權(quán)的活動的說明。圖28為說明根據(jù)本發(fā)明第三實施例的預(yù)先執(zhí)行包括檢查操作授權(quán)的活動的時序圖。
參看圖28,首先,在步驟S60中,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出一個請求,以獲得一列關(guān)于進(jìn)程的活動。
在步驟S61中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得關(guān)于進(jìn)程的活動列表。
在步驟S62中,工作流引擎25將報告獲得關(guān)于進(jìn)程的活動列表的響應(yīng)發(fā)送給進(jìn)程執(zhí)行編輯工具27,該響應(yīng)包括關(guān)于進(jìn)程的活動列表。
在步驟S63中,接收關(guān)于進(jìn)程的活動列表,進(jìn)程執(zhí)行編輯工具27生成包括關(guān)于進(jìn)程的活動列表的屏幕并將該屏幕顯示給用戶。接著,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出一個請求,以給出一個指令來激活(開始)由用戶等指定的活動。
在步驟S64中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25查閱,例如存儲在如圖26中所示的進(jìn)程對象ACL數(shù)據(jù)庫28中的表,并確定(檢查)用戶或用戶所屬的組是否具有預(yù)先執(zhí)行被指定活動的操作權(quán)。
在步驟S65中,如果工作引擎25確定用戶或用戶所屬的組具有預(yù)先執(zhí)行被指定活動的操作權(quán),則工作流引擎25將存儲在進(jìn)程實例數(shù)據(jù)庫26中的被指定活動的狀態(tài)改為被激活。
另一方面,在步驟S66中,工作流應(yīng)用程序24向工作流引擎25發(fā)出一個請求,以獲得一列其狀態(tài)為被激活的活動。
在步驟S67中,接收來自工作流應(yīng)用程序24的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得被激活的活動列表。
在步驟S68中,工作流引擎25將報告獲得被激活的活動列表的響應(yīng)發(fā)送給工作流應(yīng)用程序24,該響應(yīng)包括被激活的活動列表。
在步驟S69中,工作流應(yīng)用程序24生成包括被激活活動列表的屏幕,并將該屏幕顯示給用戶。當(dāng)用戶,例如,從被激活的活動列表中選擇一個活動并執(zhí)行該活動時,工作流應(yīng)用程序24向工作流引擎25發(fā)出一個請求,以給出一個指令來將其執(zhí)行已經(jīng)由用戶完成的活動的狀態(tài)改為完成。
在步驟S70中,接收來自工作流應(yīng)用程序24的請求,工作流引擎25將存儲在進(jìn)程實例數(shù)據(jù)庫26中被指定活動的狀態(tài)改為完成。
進(jìn)一步,在步驟S71中,工作流引擎25執(zhí)行進(jìn)程驅(qū)動操作,以更新相應(yīng)進(jìn)程活動的狀態(tài)。
通過執(zhí)行如圖28中所示的處理,可以只允許被授權(quán)的用戶來預(yù)先執(zhí)行關(guān)于正在執(zhí)行進(jìn)程的活動。
接著,參照圖29給出根據(jù)本發(fā)明第三實施例增加包括檢查操作授權(quán)的活動的說明。圖29為說明根據(jù)本發(fā)明第三實施例增加包括檢查操作授權(quán)的活動的時序圖。
參看圖29,首先,在步驟S80中,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出一個請求,以獲得一列關(guān)于進(jìn)程的活動。
在步驟S81中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25從進(jìn)程實例數(shù)據(jù)庫26中獲得關(guān)于進(jìn)程的活動列表。
在步驟S82中,工作流引擎25將報告獲得關(guān)于進(jìn)程的活動列表的響應(yīng)發(fā)送給進(jìn)程執(zhí)行編輯工具27,該響應(yīng)包括關(guān)于進(jìn)程的活動列表。
在步驟S83中,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出一個請求,以生成一個活動實例。
在步驟S84中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25生成活動實例。
在步驟S85中,工作流引擎25將,例如,報告生成活動實例的響應(yīng)發(fā)送給進(jìn)程執(zhí)行編輯工具27,該響應(yīng)包括生成的活動實例(活動)。
在步驟S86中,進(jìn)程執(zhí)行編輯工具27生成包括關(guān)于進(jìn)程的活動列表和/或生成的活動的屏幕,并將屏幕顯示給用戶。接著,進(jìn)程執(zhí)行編輯工具27向工作流引擎25發(fā)出一個請求,以給出一個指令來增加由用戶指定的活動,該請求包括將要被增加的活動以及由用戶指定的位置。進(jìn)程執(zhí)行編輯工具27將要被加入到流中活動實例位置的活動的位置通知給工作引擎25。
在步驟S87中,接收來自進(jìn)程執(zhí)行編輯工具27的請求,工作流引擎25查閱,例如存儲在如圖26中所示的進(jìn)程對象ACL數(shù)據(jù)庫28中的表,并確定(檢查)用戶或用戶所屬的組是否具有將被指定的活動加入到指定位置的操作權(quán)。
在步驟S88中,如果工作流引擎25確定用戶或用戶所屬的組具有將被指定的活動加入到指定位置的操作權(quán),則工作流引擎25復(fù)制與增加位置的活動相連的轉(zhuǎn)換,并用將要被增加的新活動的標(biāo)識符來替換增加位置的活動的標(biāo)識符。在該點上,設(shè)置新活動的狀態(tài)以及被復(fù)制轉(zhuǎn)換的條件(狀態(tài)),適當(dāng)?shù)膹脑黾游恢没顒拥臓顟B(tài)以及原始轉(zhuǎn)換的條件開始改變。
通過執(zhí)行如圖29所示的處理,可以只允許授權(quán)用戶向正在被執(zhí)行的進(jìn)程中加入活動。
如上所述,根據(jù)本發(fā)明,可以編輯(和/或更新)正在執(zhí)行中的進(jìn)程。
本發(fā)明并不限于具體公開的實施例,并且在不脫離本發(fā)明的范圍內(nèi)可以進(jìn)行變化和修改。
權(quán)利要求
1.一種進(jìn)程編輯設(shè)備(3),其特征在于編輯部分(27),被配置來編輯正在執(zhí)行中的進(jìn)程。
2.根據(jù)權(quán)利要求1所述的進(jìn)程編輯設(shè)備,其特征在于正在執(zhí)行中的進(jìn)程包括多個作業(yè);以及編輯正在執(zhí)行中的進(jìn)程為下列作業(yè)之一向正在執(zhí)行中的進(jìn)程加入作業(yè)、預(yù)先執(zhí)行正在執(zhí)行中的進(jìn)程的作業(yè)中的一個、以及掛起正在執(zhí)行中的進(jìn)程的作業(yè)中的一個。
3.根據(jù)權(quán)利要求1所述的進(jìn)程編輯設(shè)備,其特征在于所述編輯部分從用于執(zhí)行進(jìn)程管理的進(jìn)程管理設(shè)備中獲得正在執(zhí)行中的進(jìn)程。
4.根據(jù)權(quán)利要求1所述的進(jìn)程編輯設(shè)備,其特征在于正在執(zhí)行中的進(jìn)程包括構(gòu)成進(jìn)程的多個作業(yè),該多個作業(yè)中的每個作業(yè)都包括表示其進(jìn)展的狀態(tài)信息。
5.根據(jù)權(quán)利要求1所述的進(jìn)程編輯設(shè)備,其特征在于所述編輯部分向用于執(zhí)行進(jìn)程管理的進(jìn)程管理設(shè)備發(fā)出用來更新正在執(zhí)行中的進(jìn)程的請求。
6.根據(jù)權(quán)利要求1所述的進(jìn)程編輯設(shè)備,其特征在于所述編輯部分向用于執(zhí)行進(jìn)程管理的進(jìn)程管理設(shè)備發(fā)出用來進(jìn)入作為進(jìn)程模板的已編輯的正在執(zhí)行中的進(jìn)程的請求。
7.根據(jù)權(quán)利要求6所述的進(jìn)程編輯設(shè)備,其特征還在于進(jìn)入屏幕顯示部分,被配置來顯示關(guān)于進(jìn)入已編輯進(jìn)程的屏幕。
8.根據(jù)權(quán)利要求1所述的進(jìn)程編輯設(shè)備,其特征還在于編輯屏幕顯示部分,被配置來顯示關(guān)于編輯正在執(zhí)行中的進(jìn)程的屏幕。
9.根據(jù)權(quán)利要求1所述的進(jìn)程編輯設(shè)備,其特征在于作為進(jìn)程模板的進(jìn)程定義以及正在執(zhí)行中的進(jìn)程是不同實體,并且是單獨可操作的。
10.一種進(jìn)程管理設(shè)備(1),其特征在于進(jìn)程執(zhí)行控制部分(25),被配置來控制進(jìn)程執(zhí)行,其中所述進(jìn)程執(zhí)行控制部分(25)響應(yīng)于請求而更新正在執(zhí)行中的進(jìn)程。
11.根據(jù)權(quán)利要求10所述的進(jìn)程管理設(shè)備,其特征在于正在執(zhí)行中的進(jìn)程包括多個作業(yè);以及更新正在執(zhí)行中的進(jìn)程為下列作業(yè)之一向正在執(zhí)行中的進(jìn)程加入作業(yè)、預(yù)先執(zhí)行正在執(zhí)行中的進(jìn)程的作業(yè)中的一個、以及掛起正在執(zhí)行中的進(jìn)程的作業(yè)中的一個。
12.根據(jù)權(quán)利要求10所述的進(jìn)程管理設(shè)備,其特征在于在響應(yīng)于請求而更新正在執(zhí)行中的進(jìn)程時,所述進(jìn)程執(zhí)行控制部分根據(jù)授權(quán)數(shù)據(jù)來確定所述請求的請求人是否有權(quán)更新正在執(zhí)行中的進(jìn)程。
13.根據(jù)權(quán)利要求12所述的進(jìn)程管理設(shè)備,其特征在于正在執(zhí)行中的進(jìn)程包括多個作業(yè);以及所述授權(quán)為授權(quán)執(zhí)行下列作業(yè)之一向正在執(zhí)行中的進(jìn)程加入作業(yè)、預(yù)先執(zhí)行正在執(zhí)行中的進(jìn)程的作業(yè)中的一個、以及掛起正在執(zhí)行中的進(jìn)程的作業(yè)中的一個。
14.根據(jù)權(quán)利要求12所述的進(jìn)程管理設(shè)備,其特征還在于授權(quán)數(shù)據(jù)存儲部分,被配置來存儲授權(quán)數(shù)據(jù)。
15.根據(jù)權(quán)利要求10所述的進(jìn)程管理設(shè)備,其特征在于所述進(jìn)程執(zhí)行控制部分響應(yīng)于請求而從用于存儲正在執(zhí)行中的進(jìn)程的正在執(zhí)行進(jìn)程存儲部分中提取出正在執(zhí)行中的進(jìn)程。
16.根據(jù)權(quán)利要求15所述的進(jìn)程管理設(shè)備,其特征在于所述進(jìn)程執(zhí)行控制部分將從正在執(zhí)行進(jìn)程存儲部分中提取出的正在執(zhí)行中的進(jìn)程發(fā)送給用于編輯正在執(zhí)行中的進(jìn)程的進(jìn)程編輯設(shè)備。
17.根據(jù)權(quán)利要求16所述的進(jìn)程管理設(shè)備,其特征還在于進(jìn)程模板管理部分,被配置來管理進(jìn)程模板,其中所述進(jìn)程模板管理部分響應(yīng)于請求而進(jìn)入作為進(jìn)程模板的已編輯的正在執(zhí)行中的進(jìn)程。
18.根據(jù)權(quán)利要求15所述的進(jìn)程管理設(shè)備,其特征在于所述正在執(zhí)行進(jìn)程存儲部分。
19.根據(jù)權(quán)利要求10所述的進(jìn)程管理設(shè)備,其特征在于正在執(zhí)行中的進(jìn)程包括多個作業(yè),該多個作業(yè)中的每個作業(yè)都包括表示其進(jìn)展的狀態(tài)信息。
20.根據(jù)權(quán)利要求10所述的進(jìn)程管理設(shè)備,其特征在于作為進(jìn)程模板的進(jìn)程定義以及正在執(zhí)行中的進(jìn)程是不同實體,并且是可單獨操作的。
21.一種存儲有程序的計算機(jī)可讀記錄介質(zhì),所述程序使得計算機(jī)執(zhí)行進(jìn)程編輯方法,該進(jìn)程編輯方法其特征在于包括步驟(a)編輯正在執(zhí)行中的進(jìn)程。
22.根據(jù)權(quán)利要求21所述的計算機(jī)可讀記錄介質(zhì),其特征在于正在執(zhí)行中的進(jìn)程包括多個作業(yè);以及編輯正在執(zhí)行中的進(jìn)程為下列作業(yè)之一向正在執(zhí)行中的進(jìn)程加入作業(yè)、預(yù)先執(zhí)行正在執(zhí)行中的進(jìn)程的作業(yè)中的一個、以及掛起正在執(zhí)行中的進(jìn)程的作業(yè)中的一個。
23.根據(jù)權(quán)利要求21所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程編輯方法還包括步驟(b)從用于執(zhí)行進(jìn)程管理的進(jìn)程管理設(shè)備中獲得正在執(zhí)行中的進(jìn)程。
24.根據(jù)權(quán)利要求21所述的計算機(jī)可讀記錄介質(zhì),其特征在于正在執(zhí)行中的進(jìn)程包括構(gòu)成進(jìn)程的多個作業(yè),該多個作業(yè)中的每個作業(yè)都包括表示其進(jìn)展的狀態(tài)信息。
25.根據(jù)權(quán)利要求21所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程編輯方法還包括步驟(b)向進(jìn)行進(jìn)程管理的進(jìn)程管理設(shè)備發(fā)出用來更新正在執(zhí)行中的進(jìn)程的請求。
26.根據(jù)權(quán)利要求21所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程編輯方法還包括步驟(b)向用于執(zhí)行進(jìn)程管理的進(jìn)程管理設(shè)備發(fā)出用來進(jìn)入作為進(jìn)程模板的已編輯的正在執(zhí)行中的進(jìn)程的請求。
27.根據(jù)權(quán)利要求26所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程編輯方法還包括步驟(c)顯示關(guān)于進(jìn)入已編輯進(jìn)程的屏幕。
28.根據(jù)權(quán)利要求21所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程編輯方法還包括步驟(b)顯示關(guān)于編輯正在執(zhí)行中的進(jìn)程的屏幕。
29.一種存儲有程序的計算機(jī)可讀記錄介質(zhì),所述程序使得計算機(jī)執(zhí)行進(jìn)程管理方法,該進(jìn)程管理方法其特征在于包括步驟(a)響應(yīng)于請求而更新正在執(zhí)行中的進(jìn)程。
30.根據(jù)權(quán)利要求29所述的計算機(jī)可讀記錄介質(zhì),其特征在于正在執(zhí)行中的進(jìn)程包括多個作業(yè);以及更新正在執(zhí)行中的進(jìn)程為下列作業(yè)之一向正在執(zhí)行中的進(jìn)程加入作業(yè)、預(yù)先執(zhí)行正在執(zhí)行中的進(jìn)程的作業(yè)中的一個、以及掛起正在執(zhí)行中的進(jìn)程的作業(yè)中的一個。
31.根據(jù)權(quán)利要求29所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程管理方法還包括步驟(b)在響應(yīng)于請求而更新正在執(zhí)行中的進(jìn)程時,根據(jù)授權(quán)數(shù)據(jù)來確定所述請求的請求人是否有權(quán)更新正在執(zhí)行中的進(jìn)程。
32.根據(jù)權(quán)利要求31所述的計算機(jī)可讀記錄介質(zhì),其特征在于正在執(zhí)行中的進(jìn)程包括多個作業(yè);以及所述授權(quán)為授權(quán)執(zhí)行下列作業(yè)之一向正在執(zhí)行中的進(jìn)程加入作業(yè)、預(yù)先執(zhí)行正在執(zhí)行中的進(jìn)程的作業(yè)中的一個、以及掛起正在執(zhí)行中的進(jìn)程的作業(yè)中的一個。
33.根據(jù)權(quán)利要求29所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程管理方法還包括步驟(b)響應(yīng)于請求而從用于存儲正在執(zhí)行中的進(jìn)程的正在執(zhí)行進(jìn)程存儲部分中提取正在執(zhí)行中的進(jìn)程。
34.根據(jù)權(quán)利要求33所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程管理方法還包括步驟(c)將從正在執(zhí)行進(jìn)程存儲部分中提取出的正在執(zhí)行中的進(jìn)程發(fā)送給用于編輯正在執(zhí)行中的進(jìn)程的進(jìn)程編輯設(shè)備。
35.根據(jù)權(quán)利要求34所述的計算機(jī)可讀記錄介質(zhì),其特征在于所述進(jìn)程管理方法還包括步驟(d)響應(yīng)于請求而進(jìn)入作為進(jìn)程模板的已編輯的正在執(zhí)行中的進(jìn)程。
36.根據(jù)權(quán)利要求29所述的計算機(jī)可讀記錄介質(zhì),其特征在于正在執(zhí)行中的進(jìn)程包括多個作業(yè),該多個作業(yè)中的每個作業(yè)都包括表示其進(jìn)展的狀態(tài)信息。
37.一種進(jìn)程編輯方法,其特征在于步驟編輯正在執(zhí)行中的進(jìn)程。
38.一種進(jìn)程管理方法,其特征在于步驟響應(yīng)于請求而更新正在執(zhí)行中的進(jìn)程。
全文摘要
本發(fā)明公開了一種進(jìn)程編輯設(shè)備,該進(jìn)程編輯設(shè)備包括用于編輯正在執(zhí)行中的進(jìn)程的編輯部分。
文檔編號G06Q10/06GK1680959SQ20051007416
公開日2005年10月12日 申請日期2005年2月8日 優(yōu)先權(quán)日2004年2月12日
發(fā)明者松井善郎 申請人:株式會社理光
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
正蓝旗| 龙游县| 武定县| 临沭县| 达拉特旗| 额济纳旗| 辉南县| 沛县| 平邑县| 汉源县| 潼关县| 贡山| 玉田县| 定安县| 中宁县| 宣武区| 抚顺县| 偏关县| 应城市| 阳新县| 泰和县| 将乐县| 怀安县| 麻栗坡县| 黄石市| 孝昌县| 威海市| 广河县| 阿克陶县| 汾阳市| 丰原市| 泗阳县| 称多县| 凌云县| 邢台市| 肇东市| 惠水县| 运城市| 苍梧县| 科技| 屯门区|