迷途書童

          敏感、勤學、多思
          隨筆 - 77, 文章 - 4, 評論 - 86, 引用 - 0
          數據加載中……

          工作流合單的實現

          最近碰到個流程實例合單的需求,具體場景類似支付寶合單的場景:
          推斷了一下該需求在工作流引擎中的實現方案,共享如下:
          引擎可增加一個API,如List<ProcessInstance> getMergedProcessInstances(String processInstanceId, String workItemId, Map<String, Object> processVars ),該API用于根據“指定的流程實例Id,工作項ID(如果是類似BPMN的實現也可以是活動ID)以及一組能夠用來鑒別可以合單的流程實例的流程變量的Map”來查詢符合合單條件的流程實例。開發者可以調用該API來將返回的流程實例的信息顯示到界面上,以支付寶的例子為例就是訂單流水號。最終用戶可以選擇要合單的流程實例,然后填入表單其它信息,提交。server端如果發生根據表單信息設置流程變量,則可調用下面的API:void setVariable(Map<String, Object> processVars, String name, Object value),這個API表示為所有的流程實例中的流程變量值能match給定的processVars參數的流程實例的名稱為name的流程變量設置值value。同理,完成工作項也可以是finishWorkitem(String processInstanceId, String workItemId, Map<String, Object> processVars). 這里每個api中要傳的processVars參數相當于“相關集”的概念。
          歡迎提出更好的方案或與我討論。謝謝!

          posted on 2009-07-06 23:22 迷途書童 閱讀(1542) 評論(0)  編輯  收藏 所屬分類: 隨感 、系統設計java應用 、BPM

          主站蜘蛛池模板: 中方县| 洞口县| 吉首市| 泉州市| 富裕县| 郎溪县| 酒泉市| 娄烦县| 龙泉市| 长垣县| 涡阳县| 建宁县| 柘荣县| 义乌市| 焦作市| 黎城县| 吉隆县| 商水县| 胶南市| 本溪市| 广安市| 四子王旗| 新平| 濮阳市| 隆德县| 沭阳县| 临夏县| 吉林市| 神农架林区| 邵武市| 陇川县| 和平区| 庆安县| 东莞市| 江安县| 牟定县| 平武县| 合山市| 北流市| 禹州市| 淮滨县|