流程设计--设计理念
SDP工作流程管理系統(tǒng)功能模型如下:
SDP工作流系統(tǒng)功能模型與參考模型的對應關系如下圖所示:
根據流程功能模型和設計原理,針對SDP工作流程引擎框架進行設計,設計后的工作流引擎框架結構如下圖所示:
運行原理
工作流業(yè)務管理是指運行在一個或多個工作流引擎上,用于定義、實現(xiàn)和管理工作流運行的一套軟件系統(tǒng)。它與工作流執(zhí)行者(人、應用)交互,推進工作流實例的執(zhí)行,并監(jiān)控工作流的運行狀態(tài),其運行原理如下:
體系架構
SDP工作流程管理系統(tǒng)軟件構成
1、建模工具:用來生成xml文件,并提供一個解析該xml,并把數(shù)據插入流程數(shù)據表中。
2、流程引擎:推進調度執(zhí)行工作流過程和活動。維護自動活動和人工活動,分別為外部系統(tǒng)調用和參與者的任務列表提供數(shù)據
3、監(jiān)控管理:對流程、活動任務的運行監(jiān)控,實行通知信息的管理機制。
4、外部系統(tǒng)數(shù)據調用:調用和執(zhí)行外部可執(zhí)行文件、DLL、事件、存儲過程、腳本等。
5、運行平臺:用戶web端發(fā)起流程,對流程工作任務進行領用執(zhí)行,以及對流程進行跟蹤監(jiān)控管理。
SDP工作流程管理系統(tǒng)數(shù)據
(1)、工作流數(shù)據
流程數(shù)據:分為模型庫和運行庫。模型庫的數(shù)據來源于對xml文件的解析。當對一個模型庫實例化的時候,把模型庫數(shù)據實例化并導入運行庫。實例化包括生成序列ID,初始狀態(tài)等。
相關數(shù)據:在路由活動中用來判斷后續(xù)活動變遷數(shù)據ID,類型,初始值。
控制數(shù)據:變遷表的前驅活動ID,后續(xù)活動ID,工作流對象狀態(tài)等數(shù)據。
形參數(shù)據:在外部Tools,EXE中規(guī)定的參數(shù)類型和個數(shù)。
人員數(shù)據:這里定義的參與者角色,需要和外部員工數(shù)據進行映射來對應員工。
(2)、外部數(shù)據
表單屬性數(shù)據:人工活動界面設計時,需要對頁面元素進行控制的數(shù)據
外部應用數(shù)據:外部數(shù)據執(zhí)行所需要的數(shù)據。
外部系統(tǒng)數(shù)據:當工作流系統(tǒng)需要參與者交互的時候,需要引用員工數(shù)據,通過員工角色映射表來對應員工,有3種判定員工策略:先登錄先指派,任務最少指派,唯一對應指派。
三、SDP工作流程管理系統(tǒng)功能
SDP工作流管理系統(tǒng)功能需要完整的流轉完成需要經過三個階段(模型定義、模型實例、模型執(zhí)行)的執(zhí)行才能完成。所以工作流管理系統(tǒng)功能包含三部分,功能描述如下:
模型定義階段功能:主要實現(xiàn)工作流過程和相關活動的定義和建模功能。
模型實例階段功能:對需要執(zhí)行的流程的業(yè)務進行流程的實例化,完成過程實例、活動實例、工作任務的創(chuàng)建過程功能。
模型執(zhí)行階段功能: 執(zhí)行既定工作流過程,并根據規(guī)則調度相應的活動,通過引擎調度系統(tǒng),將活動產生的工作任務推送給處理者,處理者通過系統(tǒng)提供的人機交互功能來完成工作任務。同時對過程與活動的執(zhí)行情況進行監(jiān)控與跟蹤。
四、SDP工作流程管理系統(tǒng)設計原理
我們的SDP工作流程引擎采用的是核心調度算法是FSM(有限狀態(tài)機),基于調度算法來完成流程的流轉。FSM的定義為包含一組狀態(tài)集(states)、一個起始狀態(tài)(start state)、一組輸入符號集(alphabet)、一個映射輸入符號和當前狀態(tài)到下一狀態(tài)的轉換函數(shù)(transition function)的計算 模型。當輸入符號串,模型隨即進入起始狀態(tài)。它要改變到新的狀態(tài),依 賴于轉換函數(shù)。在有限狀態(tài)機中,會有有許多變量,例如,狀態(tài)機有很多與動作(actions)轉換(Mealy機)或狀態(tài)(摩爾機)關聯(lián)的動作,多重起始狀態(tài),基于沒有輸入符號的轉換,或者指定符號和狀態(tài)(非定有限狀態(tài)機)的多個轉換,指派給接收狀態(tài)(識別者)的一個或多個狀態(tài),等等。
SDP工作流對象分為過程、活動、工作任務這三部分,各個對象在流程實例啟動后通過各對象的狀態(tài)變遷來推進流程的運行。具體各對象在模型實例化后,所具有的狀態(tài)內容如下:
(1)、過程實例
過程的基本狀態(tài)可以概括為如下六種:
初始(Initiated)、運行(Running)、掛起(Suspend)、中斷(Abort)、
終止(Terminate)、完成(Complete)
(2)、活動實例
活動的基本狀態(tài)可以概括為如下六種:
初始(Initiated)、運行(Running)、掛起(Suspend)、中斷(Abort)、
終止(Terminate)、完成(Complete)
(3)、工作任務
工作任務的基本狀態(tài)可以概括為如下七種:
初始(Initiated)、運行(Running)、領用(Receive)、掛起(Suspend)、
拒絕(Reject)、終止(Terminate)、完成(Complete)。
具體各流程對象的狀態(tài)的相互關系及各自的變遷順序請見后面章節(jié)的詳細說明介紹。
總結
以上是生活随笔為你收集整理的流程设计--设计理念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程之必知概念:CLH、CAS 和 A
- 下一篇: 苹果设备型号代码(更新至iPhone12