資源描述:
《web工作流管理系統(tǒng)開(kāi)發(fā)之工作流》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、曾經(jīng)在做CRM產(chǎn)品的時(shí)候,因?yàn)镃RM產(chǎn)品的客戶狀態(tài)升遷,每個(gè)具體用戶的升遷規(guī)則可能會(huì)不一樣,技術(shù)主管說(shuō)要集成一個(gè)工作流軟件工具……,那是我第一次聽(tīng)說(shuō)工作流。當(dāng)時(shí)很不理解,這工作流軟件如何能做到將業(yè)務(wù)流程定義進(jìn)去呢?當(dāng)然,那時(shí)候T作流軟件工具還不成熟和完善,也或者我們也沒(méi)有達(dá)到那個(gè)層次,后來(lái)終究還是沒(méi)有用上工作流。工作流軟件,顧名思義,就是業(yè)務(wù)倍息數(shù)據(jù)在多個(gè)環(huán)節(jié)模塊之間的流轉(zhuǎn)。按照工作流管理聯(lián)盟的定義,工作流指的是“業(yè)務(wù)過(guò)程的部分或全部在計(jì)算機(jī)應(yīng)用環(huán)境下的H動(dòng)化”。在實(shí)際應(yīng)用過(guò)程屮,為了實(shí)現(xiàn)對(duì)業(yè)務(wù)過(guò)程的工作流管理,需要對(duì)業(yè)務(wù)流程及
2、其各個(gè)步驟之間業(yè)務(wù)規(guī)則的抽彖,概括,做成一個(gè)統(tǒng)一通用的流程管理軟件系統(tǒng),這種軟件系統(tǒng)就是工作流管理系統(tǒng)。工作流管理系統(tǒng)的主要功能是通過(guò)計(jì)算機(jī)技術(shù)的支持去従義、執(zhí)行和管理工作流,協(xié)調(diào)工作流執(zhí)行過(guò)程工作之間以及群體成員之間的信息交互。工作流管理系統(tǒng)將業(yè)務(wù)流程屮工作如何組織協(xié)調(diào)在一起的規(guī)則抽彖出來(lái),從而分離了具體工作的邏輯和流程紐織的邏輯。實(shí)現(xiàn)對(duì)業(yè)務(wù)過(guò)程的抽象建模、業(yè)務(wù)過(guò)程仿真分析、業(yè)務(wù)過(guò)程優(yōu)化、業(yè)務(wù)過(guò)程管理與集成。從而最終實(shí)現(xiàn)業(yè)務(wù)過(guò)程的流程自動(dòng)化管理。開(kāi)發(fā)人員或者流程的應(yīng)用人員遵從工作流管理系統(tǒng)的規(guī)則或約定,設(shè)計(jì)和實(shí)現(xiàn)具體的業(yè)務(wù)流程
3、。Invoice?workflow*FilakeInvoice:M汰令I(lǐng)門woicQ丄作流系統(tǒng)結(jié)構(gòu)圖:BusinessObject????BusinessProcess…業(yè)務(wù)滿程業(yè)務(wù)対彖Workflow工作流TeamRole團(tuán)隊(duì)角色Developer天藍(lán)色藍(lán)色:軟件構(gòu)件,完成工作流管理系統(tǒng)不同組成部分功能的實(shí)現(xiàn);黃色:系統(tǒng)控制數(shù)據(jù),工作流管理系統(tǒng)中的一個(gè)或多個(gè)軟件構(gòu)件使用的數(shù)據(jù);棕色:應(yīng)用與應(yīng)用數(shù)據(jù),對(duì)于工作流管理系統(tǒng)來(lái)說(shuō),它們不是工作流管理系統(tǒng)的組成部分,而是屬于外部系統(tǒng)和數(shù)據(jù),它們被工作流系統(tǒng)調(diào)用來(lái)完成整個(gè)和部分工作流管理的
4、功能。web工作流管理系統(tǒng)主要功能:業(yè)務(wù)流程建模;參與的用戶,權(quán)限,角色設(shè)計(jì);工作流測(cè)試運(yùn)行;業(yè)務(wù)表單模塊的建立;流程發(fā)布運(yùn)行;流程管理和監(jiān)控;流程出錯(cuò)后的修復(fù)。通常開(kāi)發(fā)一個(gè)工作流管理系統(tǒng)主要包含如下幾個(gè)部分:工作流引擎開(kāi)發(fā)工作流定義工具自定義表單模塊流程管理和監(jiān)控T作流引擎:主要是實(shí)現(xiàn)業(yè)務(wù)流程的規(guī)則抽象,模型的建立,解釋,以及為流程實(shí)例提供運(yùn)行環(huán)境,并解釋執(zhí)行流程實(shí)例。工作流定義工具:主要是實(shí)現(xiàn)工作流的描述文件的定義和建立,通過(guò)可視化的方式把復(fù)雜的流程定義以圖形化的方式顯示出來(lái),并加以操作。H定義模塊:主要指H定義表單,實(shí)現(xiàn)業(yè)
5、務(wù)模塊的工具。流程管理和監(jiān)控:主要指紐織機(jī)構(gòu)、角色,流程實(shí)例等數(shù)據(jù)的維護(hù)管理和流程執(zhí)行情況的監(jiān)控;工作流引擎,主要是實(shí)現(xiàn)業(yè)務(wù)流程的規(guī)則抽象,模型的建立,解釋,以及為流程實(shí)例捉供運(yùn)行環(huán)境,并解釋執(zhí)行流程實(shí)例。工作流引擎必須要包含一個(gè)工作流模型的設(shè)計(jì),工作流??站褪菍潣I(yè)務(wù)流程抽象的一個(gè)模型,是整個(gè)工作流引擎的基礎(chǔ)。所以模型設(shè)計(jì)的好壞決定引擎的功能是否靈活,也決定了工作流管理系統(tǒng)從設(shè)計(jì)實(shí)現(xiàn)到運(yùn)行實(shí)施等諸多環(huán)節(jié)。在信息管理自動(dòng)化的環(huán)境下,工作流模型必須采用簡(jiǎn)單、直觀、又具有較強(qiáng)描述能力的模型。我們公司的白定義工作流系統(tǒng)采用了侑限狀態(tài)機(jī)的
6、數(shù)學(xué)模型來(lái)實(shí)現(xiàn)T作流模型,有限狀態(tài)機(jī)(FSM)又稱為冇限狀態(tài)自動(dòng)機(jī)或簡(jiǎn)稱狀態(tài)機(jī),是表示冇限個(gè)狀態(tài)以及這些狀態(tài)Z間的轉(zhuǎn)移和動(dòng)作等行為的數(shù)學(xué)模型。狀態(tài)轉(zhuǎn)換圖:上圖左數(shù)第一個(gè)圖:為初始狀態(tài),用粗線圈表示;SX,S0,S01,S011,S0110為狀態(tài)名稱u=o表示處于該狀態(tài)的輸入連線箭頭上的0或1表示導(dǎo)入狀態(tài)轉(zhuǎn)換時(shí)的輸入工作流模型正是利用這種狀態(tài)和動(dòng)作,動(dòng)作的結(jié)果導(dǎo)致?tīng)顟B(tài)的轉(zhuǎn)移來(lái)達(dá)到流程的流轉(zhuǎn)。工作流引擎的每一種狀態(tài)(state)被描述成為一個(gè)步驟(step)和步驟的狀態(tài)(status)。工作流實(shí)例從一種狀態(tài)(state)JI-遷到另
7、外一種狀態(tài)是通過(guò)執(zhí)行動(dòng)作(action)來(lái)達(dá)到的,動(dòng)作的結(jié)果(result)導(dǎo)向另外一種狀態(tài)(state),這樣達(dá)到流程的流轉(zhuǎn)。在一個(gè)工作流實(shí)例的主命周期內(nèi)通常有一個(gè)或者多個(gè)活動(dòng)的狀態(tài)(state)。這些簡(jiǎn)單的思想表現(xiàn)在工作流引擎的核心包里而,并且通過(guò)一個(gè)簡(jiǎn)單的XML文件來(lái)描述業(yè)務(wù)工作流程。一個(gè)簡(jiǎn)單的流程描述xml文件是這樣的:I?.圖xml流程的圖解狀態(tài)過(guò)程如卜?:開(kāi)始節(jié)點(diǎn)?》初始化動(dòng)作一?》步驟節(jié)點(diǎn)一》動(dòng)作節(jié)點(diǎn)一?》結(jié)束工作流引禁的基本元素:步驟(step)一個(gè)step描述的是工作流所處的位置??赡軓囊粋€(gè)steptranst
8、ion到另外一個(gè)step,或者也可以在同一個(gè)step內(nèi)流轉(zhuǎn)(因?yàn)閟tep可以通Status來(lái)細(xì)分,形成多個(gè)state)。一個(gè)流程里面可以有多個(gè)stepo狀態(tài)(status)狀態(tài)status是用來(lái)描述工作流程中具體step(步驟)狀態(tài)的字符串。eWorkFlow中