一、介紹下大背景
工作流的應用市場部分內容就不提了。
首先提一下目前工作流域的兩種主流方向
1、workflow。
代表osworkflow等。
workflow的特點為:其主要側重於對流程的處理模型方面,也就是說它關注的重心是流程的處理
2、bpm-商業邏輯流程模型2、bpm-商業邏輯流程模型
bpm的重心為商業邏輯流程模型的處理
其中以jbpm為代表
這是兩者最大的區別,也就是切入點不同。
不過對我們實際應用來說,選哪個區別都不是很大
說到工作流就要提到wfmc組織,這個組織是國際上一些廠商組成的乙個工作流的組織,該組織給出了乙個他們自己定義的工作流的定義,及xpdl語義。
該定義將工作流的定義包括為至少以下五部分內容:
1、工作流過程活動
2、轉移資訊
3、參與者宣告
4、外部應用程式宣告
5、相關資料
並給出了標準的語法來描述上述元資料(代表shark ofbiz 引擎)
1:workflow process
2:activity
3:transition
5:date field
由於jbpm不符合上述語法定義,因此jbpm是不符合該wfmc規範的
不過上述每部分內容在jbpm都有自己的定義來描述
1:process
2:task
3:transition
4:delegation//這個是我自己理解的
5:variable
到此大背景介紹完畢。
二、jbpm流程的乙個基本的處理步驟
1、載入(發布)流程定義
2、啟動流程
3、處理任務
4、記錄流程的相關狀態
1、載入(發布)流程定義
這個意思是,我們通過jbpm的designer外掛程式,或者是用其他工具,制定出processdefinition(可以是string,可以是包檔案,也可以是流資料等),然後將其載入到應用中的過程。這個載入可以是寫入記憶體中,或者是直接寫入資料庫等
2、啟動流程
即processdefinition.createprocessinstance(),建立流程例項的過程。具體建立例項的方法有多種,可根據自己的需要自行選擇。
3、處理任務
在流程流轉的過程中,jbpm引擎會為我們生成任務的例項,我們就需要針對這些任務例項來進行處理,然後結束這些任務例項,並推動流程的流轉
4、記錄流程的相關狀態
記錄流程狀態這點包括且不限於以下內容:
1)流程例項的開啟
2)任務例項的建立
3)任務例項的開始執行
4)任務例項的結束
5)流程例項的結束
三、jbpm工作流的主要概念
1、流程定義(process definition):預先定義的業務邏輯
2、流程例項(process instance):業務的實際流轉過程
3、參與者(actor):任務的參與者(可能是人也可能是角色或是組織等)
4、任務(task):業務邏輯上,會呈現給參與者處理的元素
5、任務例項(task instance):業務實際流轉過程中,生成的需要參與者進行參與的實際內容
6、流轉(transition):連線業務邏輯不同節點的橋梁,也是業務例項進行流轉的依據
7、工作流引擎(engine):核心元件,負責生成流程執行時的各種例項及資料,以及監視和管理流程的執行
8、工作列表:根據實際應用的需求,需要展示給參與者的任務例項列表
(//待辦任務列表為其最具代表性的例子)
:d 以上是位jbpm高手給講的,由於時間問題,現在還只講到這,明天會繼續!o(∩_∩)o...期待啊!!朋友們多多支援啊,雖然有些內容可能中文文件中有,但這個主要是真的3.2版本,和3.1幾的版本還是會有些區別,大家和我一起期待吧,同時看了的頂下,好讓我有信心繼續下去啊 :d :wink:
STM32教程系列之FLASH
原檔名 option.jpg 引用 rdp 讀出保護選擇位元組 讀出保護功能幫助使用者保護存在快閃儲存器中的軟體。該功能由設定資訊塊中的乙個選擇位元組啟用。寫入正確的數值 rdprt鍵 0x00a5 到這個選擇位元組後,快閃儲存器被開放允許讀出訪問。user 使用者選擇位元組 這個位元組用於配置下列...
ACL許可權例項講解之基礎一
首先,我們要明白什麼是acl許可權。acl的英文說法是 access control list 翻譯為中文是 訪問控制列表 的意思。其實說的就是某一特定使用者對某一特定檔案的操作許可權。下面用1個實際的例子講解一下 怎樣使得qs這個使用者對root使用者的acltest1檔案有讀寫許可權 qs這個使...
Redis 講解系列之 與Spring整合 一
本章我們將例項講解redis如何與spring整合。由於redis與spring的整合手段比較多,本章將著重講解spring與spring data redis整合。檔案 執行結果 總的來說spring spring data redis整合算是一種比較官方比較主流的方式,下面我們總結一下sprin...