工作流系统之自定义脚本的实现方式

工作流软件系统包含流程引擎,流程设计器,流程发布运行等监控环境。流程引擎实现业务流程建模以及流程的流转,流程建模包含流程的基本节点模型,流程的流转就涉及到流程的提交,以及相关节点的轨迹记录。

 

流程引擎是抽象的业务流程的流转,里面不涉及任何业务部分,业务的实现是在表单中完成的,表单再挂机到流程的节点上。这样在流程流转时,相应的节点完成后,节点上的业务也就完成了,并进行到下一步。

 

在节点上挂机的业务表单中需要能获取到流程上下文的信息,供表单和流程关联,表单中涉及的业务数据和流程相关联。

在流程引擎中,也需要能获取到业务表单中的信息,供流程引擎的流转使用,有的如条件节点,需要靠业务数据来指引下一步的流转。如报销金额做是否需要多级审批的条件,这个报销金额就是从用户填写的表单中来的。

 

在流程流转的时候,节点的执行顺序中,还需要提供一些接口,如节点办理之前事件接口,节点办理之后事件接口。当流程流转到节点的时候,自动触发这些前置后置事件。这些接口事件中也可以完成一些业务处理过程,以补充业务表单中的实现。

 

无论是引擎中引入的业务数据,还是业务表单中引入的流程上下文信息,都可以以外挂的事件接口的方式提供,表现为流程引擎的扩展性。实现这些事件接口,就可以写自己的实现了,天马行空,任意的读写表数据都可以。这种对开发人员是很乐意接受的,但是当作为一个工作流软件产品提供给用户使用的时候,终端用户是很犯怵的,就需要提供一个可视化的编辑器让终端用户可以自己去设置现实。

 

为实现可视化的设置功能,界面上需要做好向导式的供用户配置生成脚本,同时流程引擎中需要引入脚本编辑,动态编译脚本的功能。在eworkflow工作流软件产品中,就有做好这方面的功能,界面上可视化的向导式的提供设置界面,然后根据用户设置生成脚本,流程运行的时候,交给后台动态编译执行。for dotnet版的,脚本是c#的,for java版的,脚本就是java的语法了。

 



 
有了界面设置,再加上脚本编译器,动态编译脚本,就能使得工作流软件产品操作更加方便快捷。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
generator-lego 基于 gulp 的前端工作流 快速开始 提供以下2种获取方式: Clone the repo git clone git@github.com:duowan/generator-lego.git 在克隆目录执行 npm link 链接到全局模块的位置 在空目录执行 yo lego 初始化项目 npm npm install -g generator-lego 在空目录执行 yo lego 初始化项目 文件结构 generator-lego 初始化和执行任务涉及的文件结构: yourProj/ │ ├── package.json                // 项目依赖定义 ├── gulp.js                     // 配置任务 │ ├── node_modules                // `npm install` 拉取依赖包 │ ├── src/                        // 开发目录 │    ├── css/                    │    │   └── global.css         // 经过sass编译后的出口css文件 │    ├── sass/                  // sass源文件 │    ├── img/                   // 仅 Copy 不做操作 │    ├── js/                    // 仅 Copy 不做操作 │    └── index.html              │     └── dest/                       // 发布目录,执行 `gulp release` 生成     ├── css/                         │   └── global.css     ├── img/                        ├── js/                          └── index.html 环境准备 Node 环境:默认此步骤已完成  (Mac用户建议使用 Brew 安装 Node.js) Yeoman环境:npm install -g yo Gulp 环境:npm install -g gulp 任务说明 初始化项目 执行yo lego,初始化PC类的项目。 或者,执行yo lego:mobi,初始化移动类型的项目。 开发 gulp 创建一个链接,自动检测src文件夹下的静态文件,自动刷新。支持sass编译。 gulp -p 8080 同上,-p参数指定特定端口。 发布 gulp release 将静态文件压缩到 dest/。 标签:generator
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值