工作流一些概念
首先提一下目前工作流域的兩種主流方向
1、workflow
代表osworkflow等。
workflow的特點為:其主要側重于對流程的處理模型方面,也就是說它關注的重心是流程的處理
2、BPM-商業邏輯流程模型
BPM的重心為商業邏輯流程模型的處理,其中以jBPM為代表
1、workflow
代表osworkflow等。
workflow的特點為:其主要側重于對流程的處理模型方面,也就是說它關注的重心是流程的處理
2、BPM-商業邏輯流程模型
BPM的重心為商業邏輯流程模型的處理,其中以jBPM為代表
二、JBPM工作流的主要概念
1、流程定義(process definition):預先定義的業務邏輯
2、流程實例(process instance):業務的實際流轉過程
3、參與者(actor):任務的參與者(可能是人也可能是角色或是組織等)
4、任務(task):業務邏輯上會呈現給參與者處理的元素
5、任務實例(task instance):業務實際流轉過程中,生成的需要參與者進行參與 的實際 內容
6、流轉(transition):連接業務邏輯不同節點的橋梁,也是業務實例進行流轉的依據
7、工作流引擎(engine):核心組件,負責生成流程運行時的各種實例及數據,以及監視和管理流程的運行 8、工作列表:根據實際應用的需求,需要展示給參與者的任務實例列表
JBPM流程的一個基本的處理步驟
1、加載(發布/部署)流程定義
即通過jbpm的designer插件,或者是用其他工具,制定出processDefinition(可以是String,可以是包文件,也可以是流數據等),然后將其加載(發布/部署)到應用中的過程。這個加載可以是寫入內存中,或者是直接寫入數據庫等。
2、啟動流程
即processDefinition.createProcessInstance(),創建流程實例的過程。具體創建實例的方法有多種,可根據自己的需要自行選擇。
3、處理任務
在流程流轉的過程中,jBPM引擎會為我們生成任務的實例,我們就需要針對這些任務實例來進行處理,然后結束這些任務實例,并推動流程的流轉。
4、記錄流程的相關狀態
記錄流程狀態這點包括且不限于以下內容:
1)流程實例的開啟
2)任務實例的創建
3)任務實例的開始執行
4)任務實例的結束
5)流程實例的結束
如何將工作流應用于項目
1、工作流與權限系統以及組織機構的集成
工作流管理系統以待辦/已辦/查看任務列表的形式把任務呈現給具有相應工作流操作權限的參與者,這里
要求系統用戶權限與這里所指參與者的權限的一致性。(流程環節需要相應的綁定不同的執行角色(用戶
),流程操作通常需要與權限系統、組織機構進行關聯。)
2、系統中業務邏輯與流程中任務結點的整合(掛接)
3、jBPM事務管理與業務層事務管理的整合
這里涉及到組件版本問題。目前我們是在JBPM3.2.3基礎上研究和開發,而JBPM3.2.3 需要有
Hibernate3.2.3的支持 。在我們的SSH框架中采用Hibernate2,這使得不能實現jBPM流程信息的事務操作
和系統中具體業務邏輯事務操作的整合,只能是分開來處理。這樣可能就存在風險。如果對事務管理要求
不高,這樣做也是可行的;否則要求在SSH框架中采用Hibernate3.2.3以上版本實現兩者的完全整合。
posted on 2008-11-07 00:10 lanjh 閱讀(395) 評論(0) 編輯 收藏 所屬分類: Java Web