77范文网 - 专业文章范例文档资料分享平台

BPMN 2.0(4)

来源:网络收集 时间:2019-04-14 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

peter 在这个例子里,Peter将可以看到任务,因为他是这个任务的候选用户。 List tasks = taskService.createTaskQuery().candidate(\ human performer用来,当你想把一个任务直接分配给一个人, 组,角色时。这个方法的使用方式 看起来和potential owner很像。 ... mary 在这个例子中,任务会直接分配给Mary。 她可以在自己的任务列表中看到这个任务:

List tasks = taskService.findPersonalTasks(\ 因为任务分配已经完成,通过使用 formalExpression,它也可以定义表达式 在运行期解析。表达式本身需要放在 ${}中,这和jBPM一样。 比如,如果流程变量'user'被定义了,然后,它可以用在表达式中。 当然也可以使用更复杂的表达式。

${user} 注意不需要在humanPerformer元素中使用'jbpm:type',因为只能进行 直接用户分配。如果任务需要被分配给一个角色或一个组, 使用potentialOwner和group类型(当你把任务分配给一个组时, 组中的所有成员都会成为候选用户 - 参考potentialOwner的用法)。

3.8.11. 任务:Java服务任务

Service Task是一个自动活动,它会调用一些服务, 比如web service,java service等等。当前jBPM引擎 只支持调用java service,但是web service的调用 已经在未来的版本中做了计划。

定义一个服务任务需要好几行XML(这里就可以看到BPEL的影响力)。 当然,在不久的未来,我们希望有工具可以把这部分大量的简化。 一个服务任务需要如下定义:

服务任务将调用一个操作,operation的id 会在operationRef属性中引用。 这样一个操作就是下面实例的 interface的一部分。每个操作都至少有一个 输入信息,并且 最多有一个输出信息。

inputMessage outputMessage 对于java服务,接口的名称用来 指定java类的全类名。操作的名称 用来指定将要调用方法名。 输入/输出信息表示着java方法的参数/返回值, 定义如下所示:

ItemDefinition。 在这个环境下,消息指定了它的数据结构, 通过引用 structureRef属性中定义的ItemDefinition。 注意,这写不是标准的BPMN 2.0标准(因此都有'jbpm'的前缀)。 实际上,根据标准,ItemDefinition不应该包含多余一个数据结构定义。 实际在输入参数的映射,使用一个数据结构, 在serviceTask的ioSpecification章节已经完成了。 然而,当前jBPM BPMN 2.0实现还没有实现那个结构。 所以,这意味着当前使用的上面这种方法, 很可能在不久的未来就会出现变化。

重要提醒:接口,ItemDefinitions和消息需要定义在 外边。参考实例 ServiceTaskTest的实际流程和单元测试。

3.8.12. 任务:脚本任务

脚本任务时一个自动活动,当到达这个任务的时候 流程引擎会执行一个脚本。脚本任务使用方式如下:

脚本任务,除了必填id和可选的 name之外,还允许指定 scriptLanguage和script。 因为我们使用了JSR-223(java平台的脚本语言),修改脚本语言就需要:

? ?

把scriptLanguage 属性修改为JSR-223兼容的名称 在classpath下添加JSR规范的ScriptEngine实现 上面的XML对应图形如下所示(添加了空开始和结束事件)。

像上面例子中显示的那样,可以在脚本中使用流程变量。 我们现在可以启动一个这个例子的流程,也要提供一些随机生成的输入变量:

Map variables = new HashMap(); Integer[] values = { 11, 23, 56, 980, 67543, 8762524 }; variables.put(\executionService.startProcessInstanceBykey(\variables); 在输出控制台里,我们现在可以看到执行的执行的脚本: 11 x 2 = 22 23 x 2 = 46 56 x 2 = 112 980 x 2 = 1960 67543 x 2 = 135086 8762524 x 2 = 17525048 3.8.13. 任务:手工任务

手工任务时一个由外部人员执行的任务,但是没有指定是 一个BPM系统或是一个服务会被调用。在真实世界里,有很多例子: 安装一个电话系统,使用定期邮件发送一封信, 用电话联系客户,等等。

3.8.14. 任务:java接收任务

receive task是一个任务会等到外部消息的到来。 除了广泛使用的web service用例,规范在其他环境中的使用也是一样的。 web service用例还没有实现, 但是receive task已经可以在java环境中使用了。

receive task显示为一个圆角矩形(和task图形一样) 在左上角有一个小信封的图标。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库BPMN 2.0(4)在线全文阅读。

BPMN 2.0(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/593583.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: