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 閱讀(1171) 評(píng)論(0)  編輯  收藏 所屬分類: JBPM

          主站蜘蛛池模板: 新河县| 定陶县| 澎湖县| 呼图壁县| 临海市| 疏附县| 孟州市| 丁青县| 松溪县| 蒲城县| 额敏县| 托克托县| 滕州市| 永安市| 章丘市| 新郑市| 双鸭山市| 万年县| 汪清县| 新晃| 泽普县| 肇庆市| 乌拉特前旗| 浮梁县| 海安县| 临西县| 自贡市| 泰宁县| 石泉县| 项城市| 峨边| 芜湖县| 仁寿县| 开原市| 衡东县| 宣威市| 太白县| 庄浪县| 民勤县| 营口市| 射阳县|