惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
月光博客
月光博客
AI
AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
O
OpenAI News
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
L
LINUX DO - 最新话题
人人都是产品经理
人人都是产品经理
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
The Hacker News
The Hacker News
Y
Y Combinator Blog
Latest news
Latest news
SecWiki News
SecWiki News
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cisco Blogs
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题

博客园 - slickflowteam

Slickflow.MCP-Server-工作流引擎接入AI编排平台实践 Slickflow.AI 基于 Harness 工程规范的多智能体交互过程实现 Slickflow 规则集与 NRules 集成实践:从设计到产品落地 Slickflow.NET 与 OpenClaw 结合实践:技术原理、集成方式与 Skill 说明 Slickflow.NET 智能客服系统--基于 AI 大模型和RAG增强检索实现 .NET 开源工作流:Slickflow 流程自动化运行技术指南 .NET 开源工作流: Slickflow.NET 工作流引擎关于AI大模型的应用实践 .NET 开源工作流: Slickflow流程引擎高级开发(十) -- BpmnJS流程设计器集成 .NET 开源工作流: Slickflow流程引擎高级开发(九) -- 条件事件模式解释及应用 .NET 工作流: Slickflow开源工作流引擎高级开发(七)--消息队列(RabbitMQ)的集成使用 .NET 工作流: Slickflow开源工作流引擎快速入门之四:--SlickGraph 流程模型编码建模工具使用手册 .NET 工作流: Slickflow开源工作流引擎快速入门之三: 简单或分支流程代码编写示例 .NET 工作流: Slickflow开源工作流引擎快速入门之二: 简单并行分支流程代码编写示例 .NET 工作流: Slickflow开源工作流引擎快速入门之一: 简单序列流程代码编写示例 .NET 工作流: Slickflow开源工作流引擎级开发(六) -- WebTest 引擎接口模拟测试工具集 .NET 工作流: Slickflow开源工作流引擎开发(五) -- 引擎和外部事件的交互 .NET 工作流: Slickflow开源工作流引擎高级开发(四) -- 硬核编码:代码式快速构建流程图 .NET 工作流: Slickflow开源工作流引擎高级开发(三) -- 并行分支容器与会签工作流模式的组合 .NET 工作流: Slickflow开源工作流引擎高级开发(二) -- 流程快速测试增值服务工具介绍 .NET 工作流: Slickflow开源工作流引擎高级开发(一) -- 流程外部事件的调用和变量存储实现 .NET 工作流: Slickflow开源工作流引擎基础介绍(十) -- 邮件轮询异步发送模块集成
.NET 工作流: Slickflow开源工作流引擎高级开发(八) -- 审批网关(ApprovalOrSplit)模式的应用
Slickflow · 2020-11-23 · via 博客园 - slickflowteam

前言:业务流程流转过程中,审批类型的节点是比较常见的,在审批操作中,常见的操作就是就是主管人员对待办事项进行同意或者拒绝。所以网关处理节点,就是需要对这两种审批结果进行预备处理,审批网关是在或分支(OrSplit)的基础上,特意针对审批类型进行处理(同意或拒绝),跟或分支的区别方式是:条件参数不用每次配置,而是对连线(Transition)的属性进行快速配置就可以。审批网关建立的好处就是省去条件参数的传递,也简化编程过程中的条件(Condition)变量的维护。值得在流程中推广使用。

1. 或分支(OrSplit)介绍

 或分支是一种决策结果的处理,通常可以在连线(Transition)属性上进行条件参数的配置,当条件表达式被满足时,可以走该分支,当条件参数不满足时,则会继续遍历下一个分支,依次完成该网关节点的执行。图形示例和条件表达式示例如下:

 图1-或分支

2. 审批网关(ApprovalOrSplit)介绍

审批网关是在或分支的基础上进行的扩展,因为在一些审批过程中,对事项的处理要么是同意,要么是拒绝,结果导向非常明确,没有其它条件参数的干扰。所以针对这种类型,可以构建出一种专门的审批网关模式。跟或分支网关模式的区别是:不用配置条件参数,而是增加了审批结果:同意或拒绝的枚举类型设置。转移属性的配置页面如下图所示:

 

 图2-同意分支配置

3. 普通流程的审批网关模式应用

 在一个任务节点处理中,其后面可以直接绘制一个审批网关节点,这样当用户对该任务节点进行同意(Agreed)或者拒绝(Refused)的操作(可以调用WorkflowService接口),其对应的分支也会被选择。其示例图形如下:

 

 图3-普通流程审批网关模式

4. 高级会签流程的审批网关模式应用

会签节点的处理,是多人对同一办理事项的集中投票处理,所以会签节点上面,会涉及到会签类型,会签通过率的设置等操作。会签模式可以跟审批网关模式结合使用,因为会签最终的结果就是要么同意,要么拒绝,所以非常适合审批网关模式的应用。会签流程图形示例如下:


 

图4-会签审批网关模式

在编程模型中,会签节点能否通过,需要计算会签节点的通过率,这个是根据每个会签实例节点上的审批状态(ApprovalStatus)的数值来进行计算。当实例中的会签同意数量达到通过率要求,才可以使整个会签节点通过,并且根据审批网关上的分支选择匹配的分支,这样不用额外的条件参数配置,简化了会签流程的处理。会签审批数据如下:

 

 图5-会签节点审批状态数据

5. 总结

1) 审批网关(ApprovalOrSplit)可以被广泛应用在审批类型的节点操作中,因为其预备处理了同意或拒绝的两种结果处理,所以是比较方便的。

2) 在BPMN图形绘制过程中,建议保留网关(Gateway)节点的绘制,这样比较方便业务人员对流程的理解,在有些厂商的流程模型中,是在任务节点的属性上面配置了审批结果的分支选择。图形中的网关节点的出现,比较有助于用户对业务流程的理解,值得用户采纳使用。