Start

此活動是workflow的第一個(gè)活動,當(dāng)設(shè)計(jì)器打開之后,它會默認(rèn)顯示出來。在工具欄中并不出現(xiàn),也無法刪除。workflow的內(nèi)容和使用的變量都在這里定義。
Human Activities
這一部分的活動提供人-工作流的交互功能。

- Approval Activity:此活動用來接受批準(zhǔn)請求,當(dāng)一個(gè)批準(zhǔn)請求需要由一個(gè)或一組執(zhí)行人來進(jìn)行批準(zhǔn)的時(shí)候,使用此活動。
- 應(yīng)用場景:賬號審批、訂單確認(rèn)
- Check-List:此活動用來向執(zhí)行人發(fā)送問卷(可以由文本框、單選、復(fù)選等組成)。
- 應(yīng)用場景:技術(shù)支持調(diào)查、客戶意見反饋
- Choice:此活動用來向執(zhí)行人提供“多選”的功能,在Skelta BPM.NET中,最多可以提供10個(gè)選項(xiàng)。在這個(gè)基礎(chǔ)上,Approve可以看作是一個(gè)提供了“二選”的特殊Choice。
- 應(yīng)用場景:帶有“掛起”等擴(kuò)展功能的審批
- Information:用來向執(zhí)行人提供信息。信息發(fā)送的對象可以基于多種定義于數(shù)據(jù)庫中的字段,信息的主題和內(nèi)容也可以針對每個(gè)執(zhí)行人來定制。
- 應(yīng)用場景:向申請者返回審批結(jié)果
- Resource Set:如果工作流接下來的一個(gè)活動的執(zhí)行人需要由前一個(gè)活動的執(zhí)行人來指定,那么就可以使用此活動來實(shí)現(xiàn)。
- 應(yīng)用場景:老師根據(jù)教學(xué)任務(wù)的要求來選擇助教
- Task:該活動用于向一個(gè)或一組執(zhí)行人指派任務(wù),定義任務(wù)類型和相關(guān)狀態(tài)。
- 應(yīng)用場景:Bug跟蹤流程中向開發(fā)組指定bug修復(fù)任務(wù)(任務(wù)提供下拉框供開發(fā)組選擇當(dāng)前工作狀態(tài),bug修復(fù)完畢后設(shè)為Closed)
- Work:當(dāng)需要一個(gè)自定義活動時(shí),可以使用此活動。它可以配置為使用XML配置文件以及HTML模板,擁有高度的擴(kuò)展性。
- 應(yīng)用場景:性能評估工作流中,對不同的評估者顯示不同的評估界面
Integration Activities
該系列的活動用來進(jìn)行工作流與外部應(yīng)用程序、腳本和數(shù)據(jù)庫的整合

- COM-Object:執(zhí)行一個(gè)COM對象的Run方法。此活動會有一個(gè)指定的program id,連同參數(shù)一起在活動的屬性中定義。Run方法返回的字符串會賦給Output參數(shù),它代表著活動的執(zhí)行狀態(tài)。該活動執(zhí)行完畢之后,會給出返回值的集合,用于條件路由。
- Create-Office-Document:此活動可以從工作流中創(chuàng)建一個(gè)Word或者Excel文檔。當(dāng)工作流執(zhí)行到此處時(shí),它會選擇模板,用相關(guān)的數(shù)據(jù),在指定地點(diǎn)創(chuàng)建一個(gè)新的文檔。
- InvokeWebService:該活動用來從工作流中調(diào)用一個(gè)web service?;顒拥妮敵隹梢杂脕頉Q定工作流的執(zhí)行路徑。
- Script:此活動可以在工作流中執(zhí)行腳本(Jscript或者VBScript等)。當(dāng)工作流執(zhí)行到此處時(shí),它會調(diào)用腳本的Run方 法。腳本的參考程序集可以從活動的屬性中獲取。腳本的Run方法所返回的字符串值將賦給Output參數(shù)。符合該值的link將被選取以繼續(xù)工作流的執(zhí) 行。
- Shell:此活動可以在工作流中執(zhí)行任何命令(包括可執(zhí)行文件或批處理文件)。當(dāng)工作流執(zhí)行到此處時(shí),將會執(zhí)行shell命令并且捕捉 該進(jìn)程的輸出。命令的參數(shù)可以通過設(shè)置活動的Parameter屬性來實(shí)現(xiàn)。捕捉到的輸出可以用來確定工作流的路徑。如果命令的輸出結(jié)果對條件執(zhí)行沒用, 那么可以通過設(shè)置Ignore Return Value屬性,這樣命令將被異步執(zhí)行。
- File Operations:可以在工作流內(nèi)執(zhí)行文件傳輸(通過本地網(wǎng)絡(luò)或者HTTP、FTP協(xié)議)
- Change Workflow Status:在數(shù)據(jù)庫中更新工作流的狀態(tài)
- XML Action:此活動用來為活動賦以XML數(shù)據(jù)。
Engine Activities

這些都是與工作流引擎相關(guān)的活動
- Decision:該活動可以向工作流中插入一個(gè)判斷,其輸出可以決定工作流的執(zhí)行走向。
- Redirection-On:工作流執(zhí)行到此處時(shí),工作流引擎會在后續(xù)活動執(zhí)行完畢后重定向到指定的URL,執(zhí)行人可以觀察前面活動的結(jié)果而不必打開它們的WorkItem Lists。
- Redirection-Off:在工作流中,它應(yīng)該用在一個(gè)Redirection-On活動之后。當(dāng)此工作流執(zhí)行完畢后,工作流引擎會停止將客戶端重定向到指定的URL。
- For-Loop:這個(gè)活動用來開始一段循環(huán),常用于重復(fù)執(zhí)行一個(gè)或一組活動。必須與Next Loop活動聯(lián)合使用。
- Next Loop:該活動可以作為循環(huán)的終止活動來使用,它會檢查計(jì)數(shù)器的值是否已經(jīng)達(dá)到某個(gè)值。如果沒有達(dá)到,則將For-Loop活動中設(shè)置的Loop Variable進(jìn)行自增,并且重復(fù)執(zhí)行循環(huán)中的活動。
- Logger:此活動可以將信息、警告、錯誤等記錄到logger console中。
- Resource Variable:此活動通過一個(gè)變量,來指定一個(gè)執(zhí)行人來完成一個(gè)工作流活動。
- Rule:該活動可以設(shè)置復(fù)雜的規(guī)則或表達(dá)式,執(zhí)行過程中,引擎會計(jì)算表達(dá)式的真值,并將結(jié)果賦以true或者false而返回,從而決定工作流的行進(jìn)路徑。
- Set Workflow output variable:更新工作流在數(shù)據(jù)庫中的狀態(tài)。
- Synchronize:此活動可以同步幾個(gè)不同活動的執(zhí)行情況。工作流引擎將等待所有的活動到達(dá)該活動指定的狀態(tài)后,恢復(fù)前進(jìn)。
- Update Parent Variables:更新工作流在數(shù)據(jù)庫中的狀態(tài)。
- Update Variable:該活動可以用來更新變量的值以備后續(xù)活動使用。也可以通過它來初始化For-Loop活動中的變量。
- Workflow:該活動可以在當(dāng)前工作流中執(zhí)行一個(gè)子工作流。
Scheduler Activities
此處的活動用來設(shè)置工作流活動進(jìn)行的執(zhí)行計(jì)劃

- Control Custom Timer:此活動用來在工作流中動態(tài)地設(shè)置一個(gè)Set Custom Timer活動??梢栽诠ぷ髁鬟M(jìn)程的不同階段放置多個(gè)Control Custom Timer活動來控制同一個(gè)Set Custom Timer活動。
- Set Custom Timer Activity:此活動用來在指定的時(shí)間與對應(yīng)的工作流變量下按照計(jì)劃執(zhí)行多個(gè)任務(wù)
- Scheduler:此活動用來計(jì)劃執(zhí)行一個(gè)任務(wù),可以按周、日或者小時(shí)來設(shè)定時(shí)間。其輸出可以連接到另一個(gè)活動。
- Timer Trigger:放置此活動可以暫掛工作流的執(zhí)行。
Communication Activities
這一系列的活動用來向工作流添加通信功能。

- Email:可以向選中的執(zhí)行人集合發(fā)送一封電子郵件。
- Notification:此活動可以融合在工作流進(jìn)程中,向執(zhí)行人發(fā)送通知(email、IM或者SMS)
- Send SMS:可以向選中的執(zhí)行人或者指定的電話號碼發(fā)送短信。
- Wait for Email:此活動可以在一個(gè)特定的時(shí)間段等待一定數(shù)量的email(這兩個(gè)參數(shù)都可以在活動的屬性里設(shè)置)。它可以將電子郵件(全部或部分)保存在指定的變量中,附件的保存也可以設(shè)置。
- Wait for SMS:此活動可以在一個(gè)特定的時(shí)間段等待一定數(shù)量的短信,特性與Wait for Email活動類似。
BPMN Elements
其它一些與BPMN相關(guān)的元素

- Gateway Placeholder:作為BPMN Gateway事件的容器
- Intermediate Event Placeholder:用作BPMN Intermediate事件的容器
- Placeholder:用作BPMN事件的容器
- Group Box:作為一組活動的標(biāo)記,在過程建模中是個(gè)很有用的工具
- Lane:用來在過程模型中建立泳道。
- Pool:用來在過程模型中建立池
下圖中就是一個(gè)擁有兩個(gè)泳道的池。

Channels與Forms
Channels和forms,是Human-Workflow交互(HWS)的重要概念。
含義
- Channels:在BPM.NET中,Channels通過提供不同的媒介,使得指定的用戶可以接觸工作流項(xiàng)目。Channels有很 多種類,在BPM.NET中稱作Channel Type,包括Web、WinForm、Email、IM、PDA、語音和短信。BPM.NET默認(rèn)提供Web Worklist Channel和Mail Channel兩種channels,其它的則需要用戶自己通過IChannelProvider接口來自己實(shí)現(xiàn)。
- Forms:BPM.NET的Forms是執(zhí)行者針對Work Item進(jìn)行操作的界面。Forms要聲明自己所支持的channels,然后形成交互界面,供執(zhí)行者操作。
使用
所有的HWS活動都有一個(gè)屬性叫做Set Channel,用戶可以利用它來指定Channel以及相關(guān)聯(lián)的form,在process designer上都可以完成。
Channels和Forms的自定義
如果要自定義一個(gè)Channel或者form,可以自己實(shí)現(xiàn)IWorkListChannel和IWorkItemForm接口,其成員可以參見隨 機(jī)文檔。開發(fā)過程還是比較復(fù)雜,就沒詳細(xì)研究。不過如果是對于Email Channel的HTML模板,則可以在Skelta安裝目錄中的WorkflowElements\Default\en-US\Templates\OutlookEmailTemplate找到。
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載