主页 > 创业  > 

第四章activiti流程“BPMN2.0规范解密室”

第四章activiti流程“BPMN2.0规范解密室”
一、BPMN2.0是什么?——流程界的“世界语” 1. 定义与使命 官方定义:BPMN(Business Process Model and Notation)2.0是业务流程建模的国际标准,用图形化符号描述业务流程。核心目标:让业务人员与开发者用同一套语言沟通,告别“你说流程,我写代码”的跨服聊天! 2. BPMN与Activiti的关系 Activiti是BPMN2.0规范的执行引擎,能将流程图转化为可运行的代码逻辑。类比:BPMN是乐谱🎼,Activiti是钢琴家🎹——乐谱规定音符,钢琴家弹出旋律!
二、BPMN2.0核心元素——流程的“乐高积木” 1. 事件(Events)——流程的“触发器” 事件类型图标作用示例场景开始事件⚪流程起点用户点击“提交请假”结束事件⚫流程终点审批完成中间事件⚪➕🌠流程执行中触发超时自动提醒审批 2. 任务(Tasks)——流程的“工作单元” 任务类型图标作用代码对应用户任务🟦需要人工处理UserTask服务任务🟦➕⚙️自动调用Java服务ServiceTask脚本任务🟦➕📜执行Groovy/Python脚本ScriptTask

代码示例:

<serviceTask id="sendEmailTask" activiti:class="com.example.SendEmailDelegate" /> 3. 网关(Gateways)——流程的“交通警察” 网关类型图标作用条件设置排他网关🔲单选分支(if-else)${days > 3}并行网关🔲➕⏩多选分支(同时执行)无需条件包容网关🔲➕🌐混合分支(部分并行)可结合条件

避坑指南:

并行网关必须成对出现,否则流程会“卡死”在虚空!
三、流程与子流程——模块化设计的“俄罗斯套娃” 1. 调用活动(Call Activity) 作用:复用其他流程(如“通用审批”子流程)。配置:<callActivity id="callCommonApprove" calledElement="commonApprove" /> 2. 事件子流程 作用:处理异常或特定事件(如“订单取消”补偿逻辑)。示例:<subProcess id="compensationSubProcess" triggeredByEvent="true"> <startEvent id="compensationStart" isInterrupting="false"/> <!-- 补偿逻辑 --> </subProcess>
四、连线(Sequence Flow)与条件表达式——流程的“导航路线” 1. 默认连线 无条件执行,用绿色实线表示。代码:<sequenceFlow id="flow1" sourceRef="startEvent" targetRef="task1" /> 2. 条件连线 需设置表达式,用绿色虚线表示。代码:<sequenceFlow id="flow2" sourceRef="gateway" targetRef="task2"> <conditionExpression xsi:type="tFormalExpression">${days > 3}</conditionExpression> </sequenceFlow>

趣味测试:

如果连线条件写成`${days > 3 || days < 0}`,会发生什么? A. 流程正常执行 B. 抛出异常 C. 永远不满足条件
五、BPMN与Activiti的“联姻”——XML与引擎的映射 1. BPMN文件结构解剖 <definitions> <process id="leaveProcess" name="请假流程"> <startEvent id="start"/> <userTask id="applyTask" name="提交申请"/> <exclusiveGateway id="decideGateway"/> <endEvent id="end"/> <!-- 连线 --> </process> </definitions> 2. Activiti扩展属性 用activiti:命名空间增强功能,如指定Java类:<serviceTask id="task1" activiti:class="com.example.MyDelegate" />
六、课后挑战——成为“BPMN语言大师”

选择题:并行网关的作用是什么? A. 根据条件选择分支 B. 同时执行所有分支 C. 终止流程

实战题:设计一个订单流程,包含“下单→并行检查库存和信用→汇聚→发货”,导出BPMN文件并部署测试。


A. 根据条件选择分支 B. 同时执行所有分支 C. 终止流程

实战题:设计一个订单流程,包含“下单→并行检查库存和信用→汇聚→发货”,导出BPMN文件并部署测试。
标签:

第四章activiti流程“BPMN2.0规范解密室”由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“第四章activiti流程“BPMN2.0规范解密室”