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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - slickflowteam

Slickflow 规则集与 NRules 集成实践:从设计到产品落地 Slickflow.NET 与 OpenClaw 结合实践:技术原理、集成方式与 Skill 说明 Slickflow.NET 基于 AI 大模型实现智能客服多轮问答系统 .NET 开源工作流:Slickflow 流程自动化运行技术指南 .NET 开源工作流: Slickflow.NET 工作流引擎关于AI大模型的应用实践 .NET 开源工作流: Slickflow流程引擎高级开发(十) -- BpmnJS流程设计器集成 .NET 开源工作流: Slickflow流程引擎高级开发(九) -- 条件事件模式解释及应用 .NET 工作流: Slickflow开源工作流引擎高级开发(八) -- 审批网关(ApprovalOrSplit)模式的应用 .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开源工作流引擎高级开发(三) -- 并行分支容器与会签工作流模式的组合
slickflowtea · 2019-01-30 · via 博客园 - slickflowteam

前言:  流程引擎的核心功能是负责解析流程定义XML和流转,业务环节的不断积累,让人们不断总结和抽象出一些模式,这些模式统称为工作流模式(Workflow Pattern)。本文的重点就是介绍一种常见的由两种模式组合而成的新模式。

1. 工作流模式基本介绍

        关于工作流模式,已经广泛被流程分析和设计人员认可,它非常有助于工作流系统的各类用户对业务过程的理解,也能帮助架构师对引擎功能的开发和扩展。更多工作流模式因为网上已经有比较多的资料,这里就不再详细说明了,比如以下的网络资源供大家学习和了解。

http://www.workflowpatterns.com

2. 工作流模式的组合

        工作流模式是为了简化一些常见的业务规则,一些简单的模式大家容易理解,但是也有一些比较复杂的模式,通常就需要产品经理来通过组合的方式定制出来,而且可以作为一种通用的模式进行推广。

2.1 会签

        常见的任务节点是一人办理就向下流转,会签是同一任务节点的多人多次审批办理,会签的方式有串行会签和并行会签两类。在Slickflow.Engine实现中,会签模式是按照多实例(Multiple Instance)模式进行实现。会签可以有通过率设置,表示会签任务可以向下流转的一个阈值。

2.2 并行分支容器

        并行容器用于动态的多个并行分支的路由模式,相比于固定的分支不同,并行多实例是一种容器类型的模式,容器里面存在多个相同的分支实例运行。这些分支可以是由多个节点组成的一个串行流程片段。

2.3 组合

        在实际业务过程中,并行分支容器里面的节点是否可以是会签节点呢?工作流模式的组合正好可以验证和实现这样的业务需求,引擎的目的就是满足客户不断提出的业务功能需求,所以利用并行分支容器和会签两种简单模式组合成一种更加实用的模式,而且可以推广给更多的客户,才是引擎功能持续不断开发的目的。

        比如下图所示,小组分配项目,检验员录入和小组汇总审核,构成的流程片段是被包含在并行容器内部,表示是一种动态的流程执行策略,每次流程实例化后,小组的数目是动态变化的,所以不能用固定化的分支来设计流程图。而且检验员录入又是一个会签节点,表示多个检验员在这个任务节点上可以多次处理后,然后在由下一步的小组组长汇总审核。

        在用并行分支容器嵌入会签节点的两种模式组合后,就能够顺利解决这样的这样问题。并行分支容器解决了每次小组数目动态变化的问题,而会签节点的处理是不受外部干扰的。所以模式的重新组合,是一种非常值得推广的应用。

3. 应用场景分析

        在实际应用过程中,并行分支容器简化了动态分支的表示,在工作流模式中,是允许这种动态类型模式的普通存在,流程的动态响应能够适应业务的动态变化,并行分支容器也是工作流模式最经典的动态模式之一。

4. 快速测试

        并行分支容器和会签组合的模式,产生的实例比较多,如果每次不断切换用户身份也是比较繁琐的,此处建议可以使用上一篇博客文章中提到的测试方法进行测试。

        Slickflow.NET 开源工作流引擎高级开发(二) -- 流程快速测试和流程图形代码创建介绍

5. 总结

        模式组合的产生是业务分析人员对业务过程的梳理和重构,也只有不断熟悉工作流模式和挖掘业务流程特征后,才可以找到解决新问题的办法。而业务经理和引擎产品负责人的交流探讨则是一种业务和技术的互动沟通,技术的本质是为业务服务,引擎产品的不断扩展的特性才是让工作流模式更加丰富的保证。

       Slickflow.Engine产品正是基于这样的产品架构,不断增强工作流模式的应用。