zoukankan      html  css  js  c++  java
  • 工作流系统之自定义脚本的实现方式

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

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

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

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

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

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

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


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

  • 相关阅读:
    poj 1113 Wall 凸包的应用
    NYOJ 78 圈水池 (入门级凸包)
    Monotone Chain Convex Hull(单调链凸包)
    poj Sudoku(数独) DFS
    poj 3009 Curling 2.0(dfs)
    poj 3083 Children of the Candy Corn
    Python join()方法
    通过FISH和下一代测序检测肺腺癌ALK基因融合比较
    华大病原微生物检测
    NGS检测ALK融合大起底--转载
  • 原文地址:https://www.cnblogs.com/webreport/p/2718055.html
Copyright © 2011-2022 走看看