工作流引擎的五大接口
?來(lái)源:http://www.dltech.com.cn/product/jujiao.htm
?
工作流參考模型
工作流參考模型確定了工作流管理系統(tǒng)的基本架構(gòu)。該架構(gòu)是開(kāi)發(fā)工作流軟件時(shí)應(yīng)當(dāng)采納的系統(tǒng)模型,當(dāng)然,一個(gè)工作流管理系統(tǒng)也可以不遵循這個(gè)模型標(biāo)準(zhǔn),或只實(shí)現(xiàn)這個(gè)模型的一部分,但事實(shí)證明,這個(gè)模型結(jié)構(gòu)是目前最為合理的。
系 統(tǒng)的核心部分是工作流引擎,引擎是驅(qū)動(dòng)流程流動(dòng)的主要部件,它負(fù)責(zé)解釋工作流流程定義,創(chuàng)建并初始化流程實(shí)例,控制流程流動(dòng)的路徑,記錄流程運(yùn)行狀態(tài),掛 起或喚醒流程,終止正在運(yùn)行的流程,與其他引擎之間通訊等等工作。WfMC沒(méi)有針對(duì)引擎的實(shí)現(xiàn)提供具體的標(biāo)準(zhǔn),因?yàn)閷?duì)引擎做過(guò)多的約束并沒(méi)有多大的現(xiàn)實(shí)意 義。
一個(gè)工作流管理系統(tǒng)可以包含一個(gè)或多個(gè)引擎,并通過(guò)API向外部提供五個(gè)方面的功能服務(wù),這些功能分別為:
· 接口1-流程定義的導(dǎo)入導(dǎo)出
· 接口2-同客戶端應(yīng)用程序和工作列表處理程序之間的交互
· 接口3-軟件工具和應(yīng)用程序的調(diào)用
· 接口4-不同工作流管理系統(tǒng)之間的協(xié)同工作
· 接口5-管理和監(jiān)視功能
通過(guò)這五個(gè)接口,工作流管理系統(tǒng)可以同外部的軟件工具進(jìn)行交互,這些工具可以由同一廠商提供,也可以由不同的廠商提供,但前提是這些工具都必須遵循WfMC的規(guī)范。用戶也可以有充分的選擇空間來(lái)決定哪一廠商的產(chǎn)品,或者自己開(kāi)發(fā)屬于哪一個(gè)接口的工具。
這五個(gè)接口一般通過(guò)API的形式提供給用戶或軟件開(kāi)發(fā)商,這些API稱為WAPI(Workflow API),也有廠商將API封裝成組件形式提供,以簡(jiǎn)化開(kāi)發(fā)難度、降低成本并提高效率。
工作流管理系統(tǒng)一般要提供三種基本的功能:
- · 設(shè)計(jì)功能(Build-time function):
提供工作流流程及其相關(guān)活動(dòng)的定義(及模擬)。
· 運(yùn)行控制功能(Run-time control function):
提供工作流流程的管理,并根據(jù)流程定義控制活動(dòng)(Activity)的執(zhí)行次序。
· 運(yùn)行交互功能(Run-time interaction function):
與用戶或IT應(yīng)用程序進(jìn)行交互以完成活動(dòng)的執(zhí)行。
可以用下面的圖來(lái)表示工作流管理系統(tǒng)的基本特征。
?
接口1(流程定義交換接口)
許 多不同廠商提供的工具可以進(jìn)行工作流流程的分析、建模、描述和歸檔等工作。這些工具需要識(shí)別公共的流程交換格式,以支持在這些不同的產(chǎn)品之間傳送工作流程 流程定義。接口1便定義了這樣的交換格式。此外,接口1還定義了設(shè)計(jì)環(huán)境與運(yùn)行環(huán)境之間交換的規(guī)范,以使不同的建模工具產(chǎn)生的流程定義可以輸入到不同的工 作流產(chǎn)品的運(yùn)行環(huán)境中。
為了提供一個(gè)訪問(wèn)和描述工作流定義的公 共方法,需要引入一個(gè)工作流元數(shù)據(jù)模型(meta-data Model),這個(gè)模型確定了流程定義中用到的一般的實(shí)體,這些實(shí)體都有不同的屬性,不同廠商開(kāi)發(fā)的工具可以根據(jù)公共的交換形式向工作流運(yùn)行環(huán)境傳送這些 模型,傳送可以通過(guò)API實(shí)現(xiàn),也可以通過(guò)批量(Batch)傳送實(shí)現(xiàn)。
元模型
元模型(如上圖所示)提供了流程定義交換中用到的基本的實(shí)體及其屬性,這些都是工作流流程的組成部分,這些實(shí)體包括:
- · 工作流流程定義
· 工作流流程活動(dòng)
· 過(guò)渡信息(Transition Information)
· 工作流參與者
· 組織模型
· 工作流應(yīng)用程序
· 工作流相關(guān)類型
· 工作流相關(guān)數(shù)據(jù)
· 系統(tǒng)和環(huán)境數(shù)據(jù)
· 數(shù)據(jù)類型和表達(dá)式
流程定義的交換
在不同的系統(tǒng)之間傳遞流程定義數(shù)據(jù)可能需要不同的機(jī)制,但在所有的情況下,流程定義數(shù)據(jù)的表達(dá)必須是一致的,這些表達(dá)包括一些公共的對(duì)象、關(guān)系及其屬性。
接口2與接口3
工作流管理系統(tǒng)必須提供同用戶之間交互的通道,以便用戶參與到系統(tǒng)的運(yùn)行中。接口2主要完成這方面的功能。
WfMC在關(guān)于接口2 的規(guī)范中定義了工作流管理系統(tǒng)必須提供的類型、數(shù)據(jù)結(jié)構(gòu)、API和錯(cuò)誤代碼,并以C語(yǔ)言頭文件的形式提供。接口2所提供的功能大致可以分為一下五個(gè)方面:
- 1、 會(huì)話的建立和與撤銷;
2、 獲取工作流流程定義及狀態(tài);
3、 工作流流程實(shí)例的操作,如創(chuàng)建、掛起、終止流程,獲取和設(shè)置流程屬性等;
4、 工作流活動(dòng)實(shí)例的操作,如獲取和設(shè)置活動(dòng)的屬性,改變活動(dòng)的狀態(tài)等;
5、 工作列表(worklist)及工作項(xiàng)(workitem)的操作,如獲取工作列表,處理工作項(xiàng)等。
通過(guò)這些功能,用戶可以完成與工作流管理系統(tǒng)之間交互的所有任務(wù):登錄系統(tǒng)、打開(kāi)自己的工作列表、處理自己的工作任務(wù)、將完成的任務(wù)提交給系統(tǒng)、將自己的任務(wù)轉(zhuǎn)交給其他用戶等等。
具體的函數(shù)聲明不再詳述,可以到WfMC的網(wǎng)站(http://www.wfmc.org)去下載有關(guān)規(guī)范。
工作流系統(tǒng)在運(yùn)行過(guò)程中有時(shí)需要調(diào)用外部應(yīng)用程序,以完成系統(tǒng)不能完成的工作(比如,發(fā)送Email或傳真,掃描文件等),或者與其他系統(tǒng)集成到一起。此時(shí)可以通過(guò)接口3來(lái)完成。
接口3的功能同接口2的功能大部分是相同的,因此,這兩個(gè)接口有融合的趨勢(shì)。接口3主要規(guī)定了調(diào)用外部應(yīng)用程序的函數(shù)規(guī)范,以及外部應(yīng)用程序返回?cái)?shù)據(jù)的格式。
接口4
在企業(yè)級(jí)的工作流系統(tǒng)中,流程往往需要跨越多個(gè)服務(wù)器或系統(tǒng),比如應(yīng)用于跨國(guó)公司或大型集團(tuán)公司的工作流系統(tǒng)經(jīng)常會(huì)有這種的需求,此時(shí)就需要服務(wù)器或系統(tǒng) 之間進(jìn)行通訊,交換流程控制信息和流程定義等數(shù)據(jù),以實(shí)現(xiàn)流程跨地域運(yùn)行。WfMC在規(guī)范中以C函數(shù)的形式提供了這些控制的定義,其中包括以下幾個(gè)方面的 功能:
- 1、 創(chuàng)建流程實(shí)例;
2、 獲取流程實(shí)例狀態(tài);
3、 獲取和設(shè)置流程實(shí)例屬性;
4、 啟動(dòng)或終止流程實(shí)例;
5、 改變流程實(shí)例的狀態(tài);
6、 改變流程實(shí)例的屬性;
7、 更新流程實(shí)例。
服務(wù)器或系統(tǒng)之間信息交換的格式有多種,例如:文件、數(shù)據(jù)庫(kù)表、E-mail或直接通過(guò)網(wǎng)絡(luò)傳送的數(shù)據(jù)流等等。
接口5
此接口提供給用戶管理和監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)、查看系統(tǒng)運(yùn)行的歷史記錄的功能。WfMC在此接口的規(guī)范中定義了各種審計(jì)信息的數(shù)據(jù)格式,這些格式包括:
?
這些審計(jì)數(shù)據(jù)在系統(tǒng)運(yùn)行時(shí)刻由系統(tǒng)自動(dòng)記錄在數(shù)據(jù)庫(kù)或文件中,可通過(guò)系統(tǒng)提供的API進(jìn)行統(tǒng)計(jì)和查詢,或者通過(guò)系統(tǒng)工具導(dǎo)出到系統(tǒng)外部。
另外,此接口還要提供統(tǒng)管理與流程控制的功能,如:系統(tǒng)流程數(shù)據(jù)的備份和恢復(fù),用戶管理,流程管理等等。
總結(jié)
以上是生活随笔為你收集整理的工作流引擎的五大接口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 解决 Eclipse 重写方法时参数为a
- 下一篇: Linux下R环境安装