前言:流程实现基本流转功能外,通常也需要调用外部事件,用于和业务系统的交互,同时存储一些流程变量,用于追踪和记录业务数据变化对流程流转的影响. 1. 流程事件 流程执行过程中,伴随各种事件的发生,而且是存在于整个流程的生命周期,即从流程启动一直到流程结束的整个过程都有事件发生.这些事件的发生,业务系统通常也需要知道一些流程过程的关键节点,或里程碑状态.我们统称为流程事件. 1.1  流程事件触发类型 流程事件类型的定义是按照事件发生的位置来确定划分,跟流程直接有关的比如有:启动.运行.撤销.退回…
前言:流程是由若干个任务节点组成,流转过程就是从一个节点转移到下一个节点,通常需要不断切换用户身份来完成流程的测试,这样使得测试效率比较低下,本文从实战出发,介绍常见的两种快速测试方法,用于提升流程测试和实施的效率. 1. 流程快速测试介绍 流程引擎的核心功能是保证流程正常流转,流程是由若干个节点组成,真实的业务系统是每个用户完成各自的任务后,分发给下一步任务节点,再由下一步的任务接收人员办理任务,以此循环前进,直至流程流转结束. 如果按照这样的测试策略,每一步都需要变换用户身份来完成功能测试,…
前言:  流程引擎的核心功能是负责解析流程定义XML和流转,业务环节的不断积累,让人们不断总结和抽象出一些模式,这些模式统称为工作流模式(Workflow Pattern).本文的重点就是介绍一种常见的由两种模式组合而成的新模式. 1. 工作流模式基本介绍 关于工作流模式,已经广泛被流程分析和设计人员认可,它非常有助于工作流系统的各类用户对业务过程的理解,也能帮助架构师对引擎功能的开发和扩展.更多工作流模式因为网上已经有比较多的资料,这里就不再详细说明了,比如以下的网络资源供大家学习和了解. h…
前言:引擎组件的基本职责是负责流程流转,但是在流转过程中,除了对内部控制逻辑进行实现外,也不可避免的要去调用或者响应外部事件.本文主要描述外部事件的类型,以及调用方法过程. 1. 外部事件的类型 外部事件的类型是随着引擎功能的需要而不断增加,开发人员也可以在此基础上进行扩展,目前主要常用的事件类型如下: public enum ActionMethodType { LocalMethod, //本地程序 WebAPI, //调用WebAPI程序 SQL, //执行SQL脚本 StoreProce…
前言:引擎组件的接口测试不光是程序测试人员使用,而且也是产品负责人员需要用到的功能,因为在每一步流转过程中,就会完整模拟实际用户发生的场景,也就容易排查具体是程序问题还是业务问题,从而快速定位问题,及时解决问题.WebTest测试工具集就是一个统一的交流测试平台,其带来的好处是压缩了不同类型的引擎用户交流问题的成本,同时也节约了程序开发和测试人员的工作成本. 1. 测试介绍 用户交互测试也是一种必不可少的测试过程,而且在交互过程中,可以跟踪和调试程序,真实系统的流转是需要用户身份的不断切换,但是…
前言:通过设计器交互来创建流程图是比较常见的方式,这种方式是比较方便业务人员对流程的操作.然而,在需要流程模板,或者技术开发阶段以及一些自动化流程的处理过程中,使用代码快速创建流程图也是一种非常有必要的快捷途径.本文重点说明这种方法的实现过程和具体使用价值. 1. 交互式构建流程图 图形交互式一般是指通过界面进行节点元素拖动来绘制图形,并且,每个图像节点元素和连线元素的属性配置,都是逐一需要交互操作并且保存来完成的.其特点是清晰直观,在绘制图形的过程中,可以明确流程图形的整个流转过程. 对于流程…
前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从请假流程,或分支模式来快速了解引擎代码的编写. 1. 创建或分支流程图形 或分支流程是常见的决策类的流程,用于处理不同决策场景出现的业务处理,其中每个分支又可以看成是一个串行流程的片段.下面是请假流程的创建代码: var pmb = ProcessModelBuilder.CreateProcess("LeaveRequest", "LeaveRequestCode&q…
1. 工作流术语图示                                              图1 流程图形的BPMN图形元素表示 1) 流程模型定义说明流程(Process):是企业组织对业务过程的工作流语言描述.一个完整的流程包括开始节点,中间节点和结束节点. 活动(Activity):对每一个工作项节点上的内容定义,也包括网关,事件等节点. 转移(Transition):表示起始节点和到达节点之间的状态转移. 执行者(Performer):每一个节点定义的角色和用户,作为…
集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造业务代码,适应业务过程的变化,这将会面临不断改写代码的需求:还有一种方式是使用流程引擎控制业务过程的变化,将改写业务代码的操作交由流程引擎,通过流程引擎解析业务规则,驱动业务过程流转,从而将改写业务代码的可能性降到最低. 显而易见,流程引擎带来的好处是为了更好解决业务过程变化后带来的重构风险,信息系…
集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造业务代码,适应业务过程的变化,这将会面临不断改写代码的需求:还有一种方式是使用流程引擎控制业务过程的变化,将改写业务代码的操作交由流程引擎,通过流程引擎解析业务规则,驱动业务过程流转,从而将改写业务代码的可能性降到最低. 显而易见,流程引擎带来的好处是为了更好解决业务过程变化后带来的重构风险,信息系…