迷途書童

          敏感、勤學(xué)、多思
          隨筆 - 77, 文章 - 4, 評(píng)論 - 86, 引用 - 0
          數(shù)據(jù)加載中……

          工作流合單的實(shí)現(xiàn)

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

          posted on 2009-07-06 23:22 迷途書童 閱讀(1542) 評(píng)論(0)  編輯  收藏 所屬分類: 隨感系統(tǒng)設(shè)計(jì)java應(yīng)用BPM

          主站蜘蛛池模板: 罗城| 玛沁县| 浙江省| 鹤山市| 宜宾市| 孟州市| 新竹市| 石狮市| 永宁县| 濮阳市| 玛多县| 望奎县| 临武县| 西林县| 蓝田县| 南和县| 永康市| 永城市| 西峡县| 桐乡市| 涿州市| 千阳县| 大英县| 确山县| 余江县| 通化市| 黎城县| 高陵县| 襄城县| 司法| 米易县| 新干县| 泾阳县| 上虞市| 洛川县| 罗城| 内丘县| 济源市| 巫溪县| 文山县| 彭阳县|