BPMN 建模模式创建另一个任务而不离开第一个
BPMN Modeling Pattern to create another task without leaving the first
我正在使用 Oracle JDeveloper 11.0.6 为 BPMN 工作流建模,它必须满足以下要求
- "流程负责人" 发出任务以进行客户背景调查。同时he/she会进入“等待检查结果”。我设计这个使用并行网关将流程拆分为“等待检查结果”和“进行背景检查”
- "行政人员" 将有一个手动过程(不在模型中)执行背景调查"进行背景调查"人工任务。当 he/shee 发布任务时,工作流程将进入“输入检查结果”人工任务。当后台检查完成后he/she会在表格中填写数据以结束“输入检查结果”任务。然后该分支将继续关闭并行网关
- 在“pending for check result”人工任务中,“process owner”会继续查看结果是否由[=68输入=] 还。但是,he/she 可能会启动另一个名为“请求其他文档”的进程,这不会使人工任务“等待检查结果”更改它的状态。
- 当“进程负责人”看到“行政人员”输入的信息完整后,he/she会点击结束任务按钮告诉工作流这个任务已经完成。流程将在流程结束前转到另一个审批任务。
我的用户有严格的要求,“pending for check result”任务必须在检查结果完成后才能完成(process owner”将点击一个按钮来确认)。调用“请求附加文件”也不能改变“等待检查结果”的状态。
目前,我打算在ADF表单中添加一个按钮来调用网络服务。此服务将调用“请求其他文档”过程,而不更改当前任务中的任何内容(“等待检查结果”)。问题是只看工作流程的人看不到这个解决方案。他们必须追踪代码以了解整个流程(或阅读我的描述)。
我的问题是:我们能否让人工任务创建另一个人工任务或在 BPMN 中调用另一个流程而不使调用者任务改变其状态?如果可以,怎么做?
这只是一个意见,不是真正的解决方案
我不知道 JDeveloper 工具有哪些限制或工作流解释引擎有哪些限制,例如进行状态更改或发送通知等
但仅从 BPMN
语言的角度来看,我不知道为什么 "human task" 与 "automatic machine task" 会有很大的不同。在停电的情况下,人类可以用纸和铅笔或用螺丝和螺丝刀执行 "task",过程模型不会改变。另一方面,即使在小型 post 办公室,您偶尔也可以租用信件分拣机,用机器代替人工,处理相同的任务,达到相同的目的
Gregor Polancic 在他的博客文章 blog.goodlearning.com: Common BPMN modeling mistakes: Activities 中说:
...complex real world activity should be modeled as a task if it cannot be additionally decomposed into sub-elements, whereas a simple activity can be modeled as a sub-process if a modeler decides to additionally decompose it...
我希望您的问题的答案在术语 subprocess
和 subtask
的某处,并且通过查看工作流程图应该可以看到该行为。
几张要钉在布告栏上的图片。没有用律师语言写的厚厚的手册
您可以在用户任务中使用升级边界非中断事件。另一种选择是启动另一个流程实例并在刚刚启动的流程实例中创建新的用户任务。
我正在使用 Oracle JDeveloper 11.0.6 为 BPMN 工作流建模,它必须满足以下要求
- "流程负责人" 发出任务以进行客户背景调查。同时he/she会进入“等待检查结果”。我设计这个使用并行网关将流程拆分为“等待检查结果”和“进行背景检查”
- "行政人员" 将有一个手动过程(不在模型中)执行背景调查"进行背景调查"人工任务。当 he/shee 发布任务时,工作流程将进入“输入检查结果”人工任务。当后台检查完成后he/she会在表格中填写数据以结束“输入检查结果”任务。然后该分支将继续关闭并行网关
- 在“pending for check result”人工任务中,“process owner”会继续查看结果是否由[=68输入=] 还。但是,he/she 可能会启动另一个名为“请求其他文档”的进程,这不会使人工任务“等待检查结果”更改它的状态。
- 当“进程负责人”看到“行政人员”输入的信息完整后,he/she会点击结束任务按钮告诉工作流这个任务已经完成。流程将在流程结束前转到另一个审批任务。
我的用户有严格的要求,“pending for check result”任务必须在检查结果完成后才能完成(process owner”将点击一个按钮来确认)。调用“请求附加文件”也不能改变“等待检查结果”的状态。
目前,我打算在ADF表单中添加一个按钮来调用网络服务。此服务将调用“请求其他文档”过程,而不更改当前任务中的任何内容(“等待检查结果”)。问题是只看工作流程的人看不到这个解决方案。他们必须追踪代码以了解整个流程(或阅读我的描述)。
我的问题是:我们能否让人工任务创建另一个人工任务或在 BPMN 中调用另一个流程而不使调用者任务改变其状态?如果可以,怎么做?
这只是一个意见,不是真正的解决方案
我不知道 JDeveloper 工具有哪些限制或工作流解释引擎有哪些限制,例如进行状态更改或发送通知等
但仅从 BPMN
语言的角度来看,我不知道为什么 "human task" 与 "automatic machine task" 会有很大的不同。在停电的情况下,人类可以用纸和铅笔或用螺丝和螺丝刀执行 "task",过程模型不会改变。另一方面,即使在小型 post 办公室,您偶尔也可以租用信件分拣机,用机器代替人工,处理相同的任务,达到相同的目的
Gregor Polancic 在他的博客文章 blog.goodlearning.com: Common BPMN modeling mistakes: Activities 中说:
...complex real world activity should be modeled as a task if it cannot be additionally decomposed into sub-elements, whereas a simple activity can be modeled as a sub-process if a modeler decides to additionally decompose it...
我希望您的问题的答案在术语 subprocess
和 subtask
的某处,并且通过查看工作流程图应该可以看到该行为。
几张要钉在布告栏上的图片。没有用律师语言写的厚厚的手册
您可以在用户任务中使用升级边界非中断事件。另一种选择是启动另一个流程实例并在刚刚启动的流程实例中创建新的用户任务。