ofbiz工作流程學習(三)

來源:互聯網
上載者:User

OFBIZ流程操作使用過程

1 流程定義

   一般用JaWe進行流程定義。根據尋找的資料,使用JaWe產生的xpdl檔案和workflow engine有少許不相容的情況,摘抄總結如下:

1)JAWE產生DataFields會和ofbiz Implementation Tool裡的ActualParameter衝突, 導致runtime data不能正常的擷取, 如果你的Tool需要ActualParameter的話,直接輸入即可,不需要把它定義成為workflow relevant data.

2)在Activity的TransitionRef部分, 由於FK的緣故,不能import到db
修改方法1: 注釋掉 XpdlReader readTransitionRestriction 最後讀取readTransitionRefs的代碼(由於ofbiz workflow engine沒有用到TransitionRefs, 故可以直接注釋掉)
修改方法2:修改entity定義檔案: WorkflowTransitionRef with WorkflowTransition's relationship type to "one-nofk"

3)在Activity的TransitionRestriction部分,如果Join/Split transition只有唯一情況,JAWE是不會組建定義Join/Split Type的
修改方法1:手工加上:<Join Type="XOR"/> <Split Type="XOR"/>
修改方法2:修改 XpdlReader 代碼,使其預設為XOR

 

2流程裝載

ofbiz提供頁面來實現流程裝載,如下:
   

           圖  流程裝載

 

3 流程使用

   ofbiz沒有提供自己的工具來說明流程的使用方法,要求開發人員找到相應的api來調用;另外,ofbiz的orderMgr模組,使用了工作流程引擎,但不是純工作流程引擎的應用,它包含了自己的獨立的複雜的商務邏輯。

   大致的流程使用步驟如下:

1)啟動流程

首先,擷取實體引擎和服務引擎,一般從頁面的request中擷取;然後,調用實體引擎建立工作流程記錄;最後,調用服務引擎啟動流程。

2)擷取工作列表

首先,用EntityExpr類構造約束List;然後,將約束List作為參數傳遞給實體引擎尋找合格記錄;對於尋找本部門的或本角色的或指定到本人的工作列表都採用同樣的方法。

3)執行活動

首先,調用工作流程引擎判斷任務是否由該使用者操作或是否已經被其他使用者accept;其次,調用WorkflowClient類來擷取流程執行個體號,定位流程;然後,調用實體引擎擷取該流程執行個體號的資料;最後,按流程定義調用工作流程引擎

   擷取活動資訊並執行相應的活動。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.