前言:通过设计器交互来创建流程图是比较常见的方式,这种方式是比较方便业务人员对流程的操作。然而,在需要流程模板,或者技术开发阶段以及一些自动化流程的处理过程中,使用代码快速创建流程图也是一种非常有必要的快捷途径。本文重点说明这种方法的实现过程和具体使用价值。

1. 交互式构建流程图

图形交互式一般是指通过界面进行节点元素拖动来绘制图形,并且,每个图像节点元素和连线元素的属性配置,都是逐一需要交互操作并且保存来完成的。其特点是清晰直观,在绘制图形的过程中,可以明确流程图形的整个流转过程。

对于流程使用涉及到的业务人员,图形交互是最适合的工具,因为业务人员不会深入到命令代码,他们只需要通过鼠标拖动、键盘输入和完成图形节点的编排就可以。

2. 代码式创建流程图

传统的图形交互方式是比较方便业务人员创建流程定义图的,图形GUI最大的优点是直观,形象,任何人都能理解;但是作为编程方式的计算机处理过程,代码式的命令脚本程序也是大行其道,因为其快速,高效和方便也是特别需要用到的。

就比如作为一个系统管理员来管理一台服务器,通常更多时候需要直接使用命令行的脚本工具,在Windows系统里面是PowerShell工具,在Linux平台下的系统管理命令,以及Bash等工具。如果没有这些命令级别的程序,那些神通广大的黑客几乎也无用武之地。所以正是这些代码式的脚本程序,极大地丰富了程序功能的强大。

2.1 代码示例

代码构建命令程序核心类是ProcessModelBuilder,下面就对其接口使用,做以特别示例。

2.1.1 简单串行流程图的代码构建

2.1.2 分支流程图代码构建

2.2 流程图展现

通过代码式构建,会直接生成流程图记录,流程图形分别展示如下。

2.2.1 简单串行流程图

2.2.2 分支流程图

3. 使用价值

虽然代码式快速构建对于业务人员没有直接使用到,或者对于引擎开发人员也不大会直接关注到。但是在一些技术领域,它的价值是显而易见的。暂时罗列两个方面供大家参考。

3.1 流程模板

如上述示例中,我们其实可以算是创建了两个类型的模板,一个是简单串行的流程图形,一个是带有分支的流程图形。假如我们提供给业务人员新建流程时,让他们选择具体是哪一种类型的模板时,这样会节省绘制流程图形中的每个节点或连线元素的时间。也减轻了业务或流程管理人员的工作量。

3.2 技术人员的利器

技术人员在进行大量流程数据开发或测试过程中,经常需要构建不同类型的流程图,想想一键生成带来的快捷极速体验,从而避免重复的拖拽及节点连线等繁琐操作,如果能够熟练使用和掌握这些命令行式的代码,确实无疑地会带来工作效率方面的显著提升。

4. 结论

通过对代码式构建流程图的工具开发,我们也清楚地认识到,代码式的快速构建流程图可以为不同类型的用户节约大量的时间,从而提升工作效率。而且,这一工具也在不断加强产品的核心竞争力。

Slickflow.NET 开源工作流引擎高级开发(四) -- 硬核编码:代码式快速构建流程图的更多相关文章

  1. Slickflow.NET 开源工作流引擎高级开发(三) -- 并行分支容器与会签工作流模式的组合

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

  2. Slickflow.NET 开源工作流引擎高级开发(二) -- 流程快速测试增值服务工具介绍

    前言:流程是由若干个任务节点组成,流转过程就是从一个节点转移到下一个节点,通常需要不断切换用户身份来完成流程的测试,这样使得测试效率比较低下,本文从实战出发,介绍常见的两种快速测试方法,用于提升流程测 ...

  3. Slickflow.NET 开源工作流引擎高级开发(一) -- 流程外部事件的调用和变量存储实现

    前言:流程实现基本流转功能外,通常也需要调用外部事件,用于和业务系统的交互,同时存储一些流程变量,用于追踪和记录业务数据变化对流程流转的影响. 1. 流程事件 流程执行过程中,伴随各种事件的发生,而且 ...

  4. Slickflow.NET 开源工作流引擎高级开发(六) -- WebTest 引擎接口模拟测试工具集

    前言:引擎组件的接口测试不光是程序测试人员使用,而且也是产品负责人员需要用到的功能,因为在每一步流转过程中,就会完整模拟实际用户发生的场景,也就容易排查具体是程序问题还是业务问题,从而快速定位问题,及 ...

  5. Slickflow.NET 开源工作流引擎高级开发(五) -- 引擎和外部事件的交互

    前言:引擎组件的基本职责是负责流程流转,但是在流转过程中,除了对内部控制逻辑进行实现外,也不可避免的要去调用或者响应外部事件.本文主要描述外部事件的类型,以及调用方法过程. 1. 外部事件的类型 外部 ...

  6. Slickflow.NET 开源工作流引擎基础介绍(四) -- 多数据库支持实现

    前言:引擎作为中间件集成到用户的项目里面去,针对用户的数据库类型,需要作出SQL部分的分别实现.引擎默认数据库为MS SQLSERVER,同时也支持ORACLE, MYSQL, KINGBASE等不同 ...

  7. Slickflow.NET 开源工作流引擎基础介绍(七) -- 并行分支多实例模式实现

    前言:并行审批是比较常见的流程模式,在工作流模式介绍中,通常是多个分支通过网关(Gateway)来控制实现.默认的分支类型是静态定义好的.本文扩展了并行网关的控制方式,实现了动态多实例的并行分支网关, ...

  8. Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务模块的交互

    集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造 ...

  9. Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务系统的集成

    集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造 ...

随机推荐

  1. 流媒体技术学习笔记之(十二)Linux(Ubuntu)环境运行EasyDarwin

    Debug问题??? ./easydarwin -c ./easydarwin.xml & //这样的话是80端口 ./easydarwin -c ./easydarwin.xml -d // ...

  2. 转 -----那些年总也记不牢的IO

    关于资源关闭: 一般情况下是:先打开的后关闭,后打开的先关闭 另一种情况:看依赖关系,如果流a依赖流b,应该先关闭流a,再关闭流b 例如处理流a依赖节点流b,应该先关闭处理流a,再关闭节点流b 当然完 ...

  3. 从ACM会议分析我国计算机科学近十年发展情况

    从ACM会议分析我国计算机科学近十年发展情况 来源:<中国计算机学会通讯>2015年第10期<专栏> 作者:陈 钢 2006年,承蒙李国杰院士推荐,<中国计算机学会通讯& ...

  4. ML—机器学习常用包(持续更新….)

    机器学习是计算机科学和统计学的边缘交叉领域,R关于机器学习的包主要包括以下几个方面: 1)神经网络(Neural Networks): nnet.AMORE以及neuralnet,nnet提供了最常见 ...

  5. 20155210潘滢昊 2016-2017-2 《Java程序设计》第6周学习总结

    20155210 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的 InputStr ...

  6. codeforces 235 div2 A. Vanya and Cards

    Vanya loves playing. He even has a special set of cards to play with. Each card has a single integer ...

  7. 第7月第26天 iOS httpserver

    1. cocoahttpserver 1)httpserver [httpServer start:&error] 2)HTTPConnection [newConnection start] ...

  8. Unity3d 常用代码

    //创建一个名为"Player"的游戏物体 //并给他添加刚体和立方体碰撞器. player=new GameObject("Player"); player. ...

  9. 重启虚拟目录或站点,不重启iis

    更改站点或虚拟目录的.net Framework 版本会导致重启整个iis服务,所以需要单独重启某个站点或虚拟目录 首先右键点击网站-所有任务-将配置保存到一个文件,从文件中查找到 Location ...

  10. lucene简介——(一)

    0.概念性东西 1.数据分类