微软Workflow Foundation 高阶透视
什么是工作流?
工作流是一組同軟件或人交互的活動,以及活動間的聯(lián)系,可以像一個流程圖,也可以像一個狀態(tài)機(jī)。
[圖一,左邊是流程圖,右邊是狀態(tài)機(jī)]
?
什么是微軟Workflow Foundation?
微軟Workflow Foundation 是一組由基礎(chǔ)運(yùn)行組件和開發(fā)工具組成的工作流開發(fā)平臺,它不是一個工作流產(chǎn)品。
Workflow Foundation 中的工作流模式
Workflow Foundation 中的工作流模式分為順序工作流和狀態(tài)機(jī)工作流兩種。
?
什么是順序工作流(Sequential Workflow)?
順序工作流的執(zhí)行過程是一個連續(xù)的活動序列,它在完成一個活動之后會去執(zhí)行下一個活動,它允許分支和循環(huán)以及接收外部事件,但是只向前執(zhí)行。
?
什么是狀態(tài)機(jī)工作流(State Machine Workflow)?
一些業(yè)務(wù)過程在進(jìn)行中呈現(xiàn)出不同的狀態(tài),在Workflow Foundation中用狀態(tài)機(jī)來表示實(shí)際業(yè)務(wù)過程中的狀態(tài)。狀態(tài)機(jī)工作流由一組狀態(tài)組成,每個狀態(tài)可以接收一組事件,由事件來決定狀態(tài)之間的轉(zhuǎn)換,這樣就實(shí)現(xiàn)了工作流的執(zhí)行過程。
?
Workflow Foundation 架構(gòu)
基礎(chǔ)活動庫/自定義活動庫(Base Activity Library/Custom Activity Library)?
運(yùn)行時引擎(Runtime Engine)?
運(yùn)行時服務(wù)(Runtime Services)?
?
活動庫為工作流提供基本的元件,每個活動是相對獨(dú)立的可執(zhí)行單元。
運(yùn)行時引擎為工作流提供運(yùn)行環(huán)境,管理工作流的生命周期。
運(yùn)行時服務(wù)會在運(yùn)行時引擎中加載,他們?yōu)楣ぷ髁魈峁┹o助的服務(wù)。
?
Workflow Foundation 中的運(yùn)行時服務(wù)包括:
計(jì)劃服務(wù)(管理工作流的工作方式):DefaultWorkflowSchedulerService、ManualWorkflowSchedulerService。
批處理服務(wù):DefaultWorkflowCommitWorkBatchService,SharedConnectionWorkflowCommitWorkService。
持久化服務(wù)(將工作流實(shí)例存儲在硬盤上):SqlWorkflowPresistenceService。
跟蹤服務(wù):SqlTrackingService,SqlTrackingQuery。
以上服務(wù)均要通過運(yùn)行時引擎(Workflow Runtime)加載。
?
Workflow 如何與外部交互?
組成Workflow的每一個Activity都可以接收外部事件,由Workflow接受的接口中的事件可將外部數(shù)據(jù)發(fā)送到工作流,工作流通過方法將數(shù)據(jù)發(fā)送給外部。
?
Workflow Foundation 如何支持分布式應(yīng)用?
Workflow Foundation 內(nèi)建支持基于Web Service 與 WCF 的分布式應(yīng)用。在基礎(chǔ)活動庫中提供了通用的Web Service活動。
通過WebServiceInputActivity、WebServiceOutputActivity將工作流發(fā)布為Web服務(wù)。
通過InvokeWebServiceActivity調(diào)用Web服務(wù)。
?
Workflow Foundation 開發(fā)基本過程包括哪些?
1、分析業(yè)務(wù)流程,提取功能點(diǎn)并封裝成Activity,可以利用微軟的基礎(chǔ)Activity庫與自定義Activity組合。
基礎(chǔ)Activity實(shí)現(xiàn)通用操作,自定義Activity實(shí)現(xiàn)業(yè)務(wù)。
2、利用微軟提供的Workflow Designer 組織Activity 配置控制邏輯
3、找到Workflow與應(yīng)用程序的交互點(diǎn),通過定義接口使應(yīng)用程序與Workflow建立協(xié)作關(guān)系,在應(yīng)用程序中實(shí)現(xiàn)這些接口
4、根據(jù)業(yè)務(wù)需要為工作流配置運(yùn)行時要啟用的服務(wù),如持久化、計(jì)劃服務(wù)等。
?
Workflow Foundation 運(yùn)行環(huán)境/開發(fā)環(huán)境
運(yùn)行環(huán)境:
Windows Vista
Windows XP
Windows 2003
開發(fā)環(huán)境:
Visual Studio 2005+Visual Studio 2005 Extensions for .net 3.0( Workflow Foundation )
Visual Studio 2008
?
見微知著 — 從一小段代碼觀察Workflow Foundation
一段工作在Asp.net的全局代碼:
轉(zhuǎn)載于:https://www.cnblogs.com/JiangMingFeng/archive/2009/09/09/1563320.html
總結(jié)
以上是生活随笔為你收集整理的微软Workflow Foundation 高阶透视的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自己搭建的防火墙
- 下一篇: 通过APNIC获取各运营商IP网段