JBPM入門指南 一

2021-04-13 01:22:50 字數 1934 閱讀 4424

jbpm的專案介紹我這裡就不多講,因為網上的資料多的我想自殺呵呵,隨便一搜鋪天蓋地.所以我就不再多此一舉了,好!廢話少說.我們來真的.

我講從實際運用上去介紹jbpm,因為我發現,當我們研究乙個東西的時候更多的是為要用這個東西在去研究,其實研究的初期也就是為了學習如何去靈活的使用開源專案提供的api.如何通過組織這些api來應用到實際的專案中,然後通過專案的實際情況進行疊代的開發以及擴充.

首先我們來介紹一下幾個常用的三個東西:

1.start node.

2.tasknode.

3.end node.

這個三個節點基本可以組成乙個helloworld.學習一門語言,或者技術,我都喜歡從helloworld開始.因為它直觀,照著這個例子打出乙個程式,它能讓我感覺自己有個盼頭.不會想蒼蠅一樣亂撞.好廢話少說.來真的首先結合helloworld來講解讓大家入門.

首先我們說說環境,也真的只是說說,大家先去網上去搜搜如何搭建開發jbpm的環境,網上關於這個的鋪天蓋地我就不多說了,因為這個可能會浪費大家的時間,我只提一下,eclipse以及jbpm的外掛程式和jar包大家準備,假設大家準備好了,ok!我們開始啦!

首先在我們建立乙個工程,我就叫它helloworld吧,當你安裝了jbpm ide的時候在eclipse裡面就存在了這個jbpm project這個東西大家因該到jbpm的官方**上能看到,這個我就不多說了.當你用jbpm project建立乙個預設工程的時候你會發現他已經帶了乙個例子,這個例子是我們想看到的東西.它就是helloworld程式.

流程定義裡面有三個節點,這個三個節點分別是start,tasknode,end.別小看這個三個節點,如果你們的專案已經決定用jbpm了,那麼那這個三個節點就是你最好的朋友,也是你最認得的朋友.好!既然是我們最好的朋友,我大家來認識認識它們.

start節點,也就是bpel所對應start-state節點這個節點比較特殊,它流程開始的起點,所有的流程事例開始都要通過這個節點開始,它只能建立乙個任務,一般它所對應的下乙個節點就是具體的業務節點.我個人認為start這個節點本身沒有任何業務上面的意義,但通過這個節點我們可以出發一些事件,或者做一些和工作流或者業務的初始化的操作,有一點記住它只能在裡面產生乙個任務,不能產生多個任務,它和別的節點不同因為它是事情的起點,沒有存在乙個多方面協作完成流程中乙個具體事情的功能.它也支援節點進入前時間響應和節點往下流前的事件響應等等,這個節點可講述的並不多.下面我們來認識一下下乙個朋友.

tasknode節點,這個節點是什麼.我們可以這樣比喻它就像房子的磚塊,如果你想造房子你必須要這些磚塊,並且你要熟練的運用它知道它的特點,你才能通過它把房子鍵起來.換句話說,tasknode相當於原子,流程事例相當與分子是分子由多個原子組成.我想這兩個比喻大家因該明白tasknode是什麼了,它的重要性大家也因該能猜出來了.ok!我們來開始我們對它的詳細認識,

tasknode的意思很明確,是任務節點,既然是任務節點那麼就意味著它可以產生任務,讓業務員進行處理.它產生的任務名字叫做task,這個task就是節點中乙個具體和業務相關的的事情.當然如果從存脆的工作流角度來說他不代表任何東西.它只有開始和結束,那它所擁有的這些屬性在那裡呢?也許你已經猜到了,不錯,它正是為了讓業務資料具有狀態,讓它變活.可以這麼說,業務資料是肉體,bpm給予了它靈魂.這樣的比喻我們能很容易的理解到,task只有和業務資料進行關聯的之後才有意義,它能把資料分成待處理,正在處理,已經處理三部分.這樣業務資料就有了靈魂.大家是否會想那如何和業務資料關聯,至於這個話題,我會在以後的文章中做為乙個專題來講,因為方式太多了.tasknode有一些行為和屬性,但最重要的是它的事件,泳道,多個任務協作的時候的關於如何同步的屬性配置.這些網上都有很多資料,大家一搜別人就有關於這方面的專題.我這裡就不說廢話了,呵呵!

end 節點,這個名字也已經告訴大家了,它是乙個結束節點,是乙個主流程或者乙個子流程的終結,它運用的地方主要是在結束流程,釋放流程資源,以及和業務相關的其他操作,這個節點也沒什麼很特別的地方,我在專案裡面主要用到了通過它來釋放一些或者處理一些工作流的資源,比如遞迴子流程處理等等

jBPM開發入門指南 2

4 資料庫初始化 jbpm 需要資料庫支援,jbpm 會把自己的乙個初始化資料儲存到資料庫,同時工作流的資料也是儲存到資料庫中的。jbpm 使用 hibernate 來做為自己的儲存層,因此只要是 hibernate 支援的資料庫,jbpm 也就支援。本文先以 mysql 為例,然後再以 oracl...

JBPM開發入門指南 2

jbpm 需要資料庫支援,jbpm 會把自己的乙個初始化資料儲存到資料庫,同時工作流的資料也是儲存到資料庫中的。jbpm 使用hibernate 來做為自己的儲存層,因此只要是 hibernate 支援的資料庫,jbpm 也就支援。本文先以 mysql 為例,然後再以 oracle 為例,來談談 j...

jBPM開發入門指南 2

4 資料庫初始化 jbpm 需要資料庫支援,jbpm 會把自己的乙個初始化資料儲存到資料庫,同時工作流的資料也是儲存到資料庫中的。jbpm 使用 hibernate 來做為自己的儲存層,因此只要是 hibernate 支援的資料庫,jbpm 也就支援。本文先以 mysql 為例,然後再以 oracl...