Code Monkey home page Code Monkey logo

workflow-2's Introduction

workflow

一个golang编写的基于状态机的工作流引擎。

此项目用于学习研究。

代码说明

  • db_script 数据库表结构参考,用于存储流程定义和流程实列信息。
  • engine 基于状态机的流程引擎。
  • entity 实体和接口定义。
  • service 流程服务的实现,目前只提供了空的实现。
  • util 辅助用的方法。
  • extention 扩展能力,目前支持在流程节点进入和退出时,触发外部调用。
  • xml——define 用xml定义流程节点信息的例子。

流程引擎的核心类

  • workflow 流程引擎,可以实例化。

  • flow 流程定义,一个流程会包含许多步骤(节点)。

  • status 流程节点,因为基于状态机所以取名status,一般会称为节点。

  • tansition 迁移,就是流程节点与节点之间的流向线条。

  • condition 条件,控制流程走向的条件,比如:金额 > 1000 就到更高级别领导审批。

  • paticipant 参与人,流程节点处理人的寻找规则。

  • flowcase 流程实例

  • choice 选择项,如:同意,不同意。

  • flowcaseservice 流程实例服务,包含流程实例的处理逻辑,与数据库存储的实现。

  • flowdefineservice 流程定义的管理逻辑,与数据存储实现。

  • orgservice 组织服务,配合参与人规则,负责具体的实现如何找到对应节点时的处理人。

其他特性

  • 没有实现会签,会审。
  • 没有实现流程嵌套(子流程)。

workflow-2's People

Contributors

pobearm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.