paulwong

          JBPM 4.4概念解釋

          概念解釋
          在實(shí)際的業(yè)務(wù)中,對(duì)于工作流一般是這樣定義的:
          定義完成某項(xiàng)工作需要多少個(gè)環(huán)節(jié),每個(gè)環(huán)節(jié)由哪些人處理,完成這項(xiàng)工作的表單。
          實(shí)際處理的時(shí)候,通常由發(fā)起人填好表單,然后去找各個(gè)環(huán)節(jié)的負(fù)責(zé)人簽字審批,一直到流程結(jié)束。
          在JBPM的框架中,用ProcessDefinition來描述某項(xiàng)工作,Activity描述各個(gè)定義的環(huán)節(jié),Transition描述環(huán)節(jié)中的路徑。
          ProcessDefinitionInstance來描述實(shí)際執(zhí)行的工作,可能是繼承了ProcessDefinition,但又多出很多屬性,如建立時(shí)間,發(fā)起人等,
          Task或Excution來描述實(shí)際執(zhí)行的步驟。
          相應(yīng)地有RespositoryService,ExcutionService,TaskService,來操作ProcessDefinition,Excution,Task,使工作一步步地往定義好的步驟往下走。
          Excution表示實(shí)際流程中的當(dāng)前環(huán)節(jié),即以前的Token。

          編程實(shí)務(wù)
          畫好流程圖,即定義流程,畫好一堆的步驟。
          作好每個(gè)環(huán)節(jié)中要展示的JSP頁面,并配到流程定義中。
          寫好每個(gè)環(huán)節(jié)提交后要處理的JAVA代碼。

          JBPM流程定義
          流程定義的中間環(huán)節(jié)有兩種:
          一種是流程引擎碰到這種環(huán)節(jié),會(huì)自動(dòng)流轉(zhuǎn)到下一環(huán)節(jié),如Decision,Java等。
          另一種是流程引擎碰到這種環(huán)節(jié),會(huì)處于等待狀態(tài),直到程序下指令如:excuSinal才流轉(zhuǎn)到下一環(huán)節(jié),
          這里面又分兩種:一種是有處理人屬性的Task,由處理人決定下一環(huán)節(jié)的流向,另一種是沒設(shè)處理人,由程序決定下一環(huán)節(jié)的走向,如State。
          實(shí)際流程中可以放變量值,以供整個(gè)流程環(huán)節(jié)存取。
          如果流程定義中用了變量或表達(dá)式,則其實(shí)際值,會(huì)取實(shí)際流程中放進(jìn)去的值。
          如Task節(jié)點(diǎn):
          加一個(gè)Task節(jié)點(diǎn)時(shí),將assignee設(shè)成表達(dá)式,這樣在生成Task記錄時(shí),會(huì)讀取綁定到流程實(shí)例中變量的值,作為assignee的值,
          也可以指定一個(gè)CLASS,在生成Task記錄時(shí),會(huì)運(yùn)行其中的assign方法,讀取assignable中的getAssignee()的值,作為Task的分配人。

          退回的解決方案
          退回就是將此Task退回到上一環(huán)節(jié)的處理人處。
          畫圖的時(shí)候不畫退回的路徑,但在程序處理中用代碼加這一Task指向上一環(huán)節(jié)的路徑,complete(taskId,newTransition)使其回到上一環(huán)節(jié),然后再刪除這一Transition。

          會(huì)簽的解決方案
          會(huì)簽指的是將同一任務(wù)同時(shí)分派給多人并行處理。
          用For-each和join實(shí)現(xiàn),或動(dòng)態(tài)增加子任務(wù)。

          posted on 2011-04-17 19:18 paulwong 閱讀(1165) 評(píng)論(0)  編輯  收藏 所屬分類: JBPM

          主站蜘蛛池模板: 咸宁市| 南丰县| 静乐县| 竹溪县| 黑河市| 密云县| 宁海县| 福泉市| 大宁县| 海阳市| 仁寿县| 谷城县| 天门市| 湖北省| 繁昌县| 西青区| 尼玛县| 廉江市| 军事| 类乌齐县| 剑川县| 青田县| 读书| 登封市| 达尔| 临澧县| 青海省| 江油市| 读书| 无为县| 金川县| 景谷| 凤城市| 兖州市| 华坪县| 仲巴县| 务川| 买车| 和田县| 西吉县| 琼结县|