什麼是工作流? 工作流(Workflow),是對工作流程及其各操作步驟之間業務規則的抽象、概括、描述。BPM:是Business Process Management的英文字母縮寫.即業務流程管理,是一套達成企業各種業務環節整合的全面管理模式。 工作流軟體,顧名思義,就是業務信息數據在多個環節模塊之 ...
什麼是工作流?
工作流(Workflow),是對工作流程及其各操作步驟之間業務規則的抽象、概括、描述。
BPM:是Business Process Management的英文字母縮寫.即業務流程管理,是一套達成企業各種業務環節整合的全面管理模式。
工作流軟體,顧名思義,就是業務信息數據在多個環節模塊之間的流轉。
企業內部業務種類非常多、變化也非常多。雖然業務變化非常多,但是流程的控制基本是不變的。我們常說的工作流或者是“流程”就是指 控制流程流轉的核心引擎。
市面常見的工作流開發框架如下所示。
Windows Workflow Foundation
Windows Workflow Foundation(以下簡稱WWF)提供了一個編程框架和工具以開發和執行各種不同的基於工作流的應用程式,比如文檔管理、線型的商業應用、貿易單據流程、IT管理、B2B應用以及消費者應用。
WF(Windows Workflow Foundation)是微軟的工作流基礎組件。它是DotNet Framework中提供基於模型或者是聲明方式的流程執行引擎。
WF由DotNet Framework3.0一起發佈。而且已經被應用與微軟的Sharepoint技術中。
WF包括3個核心組件:
- 活動框架
- 工作流活動運行時環境
- 工作流設計器
第一個工作流項目
1、打開VS新建一個解決方案,在解決方案中新建項目——WorkFlow——工作流控制台應用程式,命名為WorkflowConsoleApp
2、視圖——工具箱,添加WriteLine基元
WriteLine Activity:用於輸出一段字元串。
再添加一個WriteLine基元
會自動將這兩個基元包裝在一個Sequence序列容器裡面,然後執行順序從上至下。當然也我們可以先添加一個Sequence序列容器,然後再往這個容器裡面添加基元。
順序工作流
- 順序工作流就是將順序工作流容器中的所有動作按照順序往下執行。
順序容器Sequence:是在System.Activities.dll中定義的類型,繼承 NativeActivity是一個 sealed類。
1.[Activities]集合,可以存放Activity
2.[Activities]集合中的Activity按順序從上向下執行
3.[Variables]集合用於存放變數
3、我們來看Program.cs中的代碼如下:
Activity workflow1 = new Workflow1(); WorkflowInvoker.Invoke(workflow1);
這裡就是工作流的啟動方式。WorkflowInvoker 包含同步調用工作流的實例方法和靜態方法。
為了更好的查看運行效果,添加如下代碼:
Console.ReadLine();
4、按F5運行
WF入門之活動
Activity在WF中是一個最基本的概念,當談及Activity時,通常是指如下兩個概念:
- Activty Class 。
- 在工作流中任意Activity派生類的統稱。
活動也就是流程中的步驟如果下圖
這裡,我們新建一個財務審批流程。
1、 新建活動
右鍵單擊項目WorkflowConsoleApp,添加“新建項”,選擇活動,命名為MoneyApproveActivity.xaml
2、 添加流程
修改名稱為”財務審批流程”。
3、 添加兩個WriteLine基元
4、 添加代碼活動
CodeActivity 代碼活動
- WF4.0 提供了許多Activity,但有時這些Activtiy並不能完成具體功能,如向資料庫添加數據,發送電子郵件等.在實現這些具體功能時,我們仍要使用某種編程語言,如C#.當我們需要這種功能時,可以使用 CodeActivity。
- 它是一個抽向類,繼承該類後,需要override該類的Execute方法,用於編寫自定義的功能代碼
右鍵單擊項目WorkflowConsoleApp,添加“新建項”,選擇“代碼活動”,然後命名為InputMoneyCodeActivity.cs
這個時候,我們看見預設的代碼如下:
public sealed class InputMoneyCodeActivity : CodeActivity { //