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來(lái)描述某項(xiàng)工作,Activity描述各個(gè)定義的環(huán)節(jié),Transition描述環(huán)節(jié)中的路徑。
          ProcessDefinitionInstance來(lái)描述實(shí)際執(zhí)行的工作,可能是繼承了ProcessDefinition,但又多出很多屬性,如建立時(shí)間,發(fā)起人等,
          Task或Excution來(lái)描述實(shí)際執(zhí)行的步驟。
          相應(yīng)地有RespositoryService,ExcutionService,TaskService,來(lái)操作ProcessDefinition,Excution,Task,使工作一步步地往定義好的步驟往下走。
          Excution表示實(shí)際流程中的當(dāng)前環(huán)節(jié),即以前的Token。

          編程實(shí)務(wù)
          畫(huà)好流程圖,即定義流程,畫(huà)好一堆的步驟。
          作好每個(gè)環(huán)節(jié)中要展示的JSP頁(yè)面,并配到流程定義中。
          寫(xiě)好每個(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é)的流向,另一種是沒(méi)設(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()的值,作為T(mén)ask的分配人。

          退回的解決方案
          退回就是將此Task退回到上一環(huán)節(jié)的處理人處。
          畫(huà)圖的時(shí)候不畫(huà)退回的路徑,但在程序處理中用代碼加這一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)  編輯  收藏 所屬分類(lèi): JBPM

          主站蜘蛛池模板: 宜宾县| 临沂市| 大名县| 淮阳县| 兰考县| 商南县| 甘德县| 平阴县| 枣强县| 凌海市| 彩票| 灵川县| 安康市| 锡林浩特市| 大冶市| 杂多县| 蚌埠市| 宣城市| 黄山市| 嘉禾县| 安阳市| 奉化市| 盐山县| 安泽县| 新乐市| 宾川县| 荣成市| 西乌珠穆沁旗| 鄂伦春自治旗| 闽清县| 定结县| 东乡县| 平安县| 乐安县| 内江市| 伊吾县| 桓仁| 丰顺县| 秦安县| 右玉县| 南丰县|