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