JBPM開發模式的自我分析

JBPM開發至今,總結了很多經驗,下面是我總結出來的一些想法,你們共勉: 首先,業務處理的位置咱們都知道在MIS系統裏,若是是在OA項目中引入了工做流,主要是將流程邏輯和業務邏輯分開,流程數據持久化到流程引擎表,業務數 據持久化到業務表。這就涉及到業務邏輯在哪裏處理的問題。在JBPM中,是在ActionHandler仍是在Business Service中呢?        ActionHandler中:咱們將業務在JBPM的回調接口ActionHandler實現中處理,將業務表單對象經過 ContextInstance的setTransientVariables()傳入,在ActionHandler中持久化,也就是 說,ActionHandler是咱們的業務處理主體,能夠經過在Task實例中記錄業務表單ID。另外,數據庫的Connection能夠經過 ActionHandler的ExecuteContext 參數來取得!        在Business Service中呢:這個Service就對應於用Spring框架時的Service,咱們能夠在service方法裏面調用JBPM的API,如 JbpmConfiguration.getInstance().createJbpmContext(); TaskInstance ti = jContext.getTaskInstance(tiid); 將業務數據都持久化到JBPM的活表裏,這樣只在一個數據庫Conntection上,能夠避免分佈式事務的問題。       上面的這兩種方式,第一種是我推薦的,其基本思想是將工做流引擎當成一個集成框架,一切以流程爲主線。第二種是將工做流引擎當成輔助的第三方庫。兩種方式對系統的侵入性都很是大,無侵入性我則認爲不太現實。
相關文章
相關標籤/搜索