A document listing

CabloyJS workflow engine documentation has been sorted out, welcome everyone to watch, take bricks

  • introduce
    • introduce
    • Demo: CMS approval workflow
    • Unit test case set
  • The process definition
    • The basic concept
    • JSON specification
    • The listener specification
    • Listener specification – User task
  • The process instance
    • Appearance Bean components
    • Security sandbox
    • The process to retrieve
    • Environment object
  • The transfer line
    • Environment object
    • The order flow
  • Active node
    • The basic concept
      • Environment object
    • Start event
      • Null start event
      • Timed start event
      • Atom draft start event
    • The end of the event
      • Null end event
    • activity
      • Empty activities
      • Service activities
      • User task activities
  • User tasks
    • JSON specification
    • Appearance Bean components
    • Task to retrieve
    • Environment object
  • Advanced (to be continued…)

What is CabloyJS built-in workflow engine

NodeJS as a back-end development language and runtime environment is known to have everything but a NodeJS workflow engine. CabloyJS 4.0 focuses on the development of NodeJS workflow engine, and as the built-in basic core module, further expands the application scenarios of NodeJS in the back end, and provides the basic support for in-depth research and development of various commercial business logic

NodeJS workflow engine features

  1. Easier configuration: adoptJSONConfigure process definitions without the clutter of XML configuration files
  2. Process definition: Historical version support, enable/disable support
  3. Clearer architecture: using three core modules to realize the architecture of workflow engine with layered mechanism, so that workflow is no longer mysterious, source code is no longer stacked
The name of the module instructions
a-flow Process definition, process instance
a-flownode Process node (Active node)
a-flowtask Process tasks
  1. supportThe business processandApproval process
  2. withAtomic data life cycleCombined with a built-in set based on atomic dataApproval workflow. See also:Atomic phase (data life cycle)
  3. withForm validationCombined to support the configuration of different process nodesRead field permissionsandModifying field Permissions. See also:Form validation
  4. throughAOPMechanism custom workflow logic. See also:AOP
  5. throughListenerMechanism custom workflow logic. See also:The listener specification
  6. Open architecture with more supportProcess nodeCustom development of
  7. Contains a large number ofTest driveCode, can quickly get started using workflow

withActivitiThe contrast of

Process definition is the soul of workflow engine. A reasonable process definition specification should not only consider the convenience of use, but also consider the expansibility of functions and features

Activiti is clearly the benchmark workflow engine in the Java language, defining workflow in XML format according to the BPMN2.0 specification

1. JAVA + BPMN + XML

BPMN + XML has the advantage of a unified standard that matches the development tonality of the JAVA language. The downside, of course, is that it can be cumbersome to use handwritten XML definitions without graphical editing tools

2. JS + BPMN + JSON

After repeated evaluations and trade-offs, CabloyJS decided to still refer to the feature set of the BPMN specification, but to define it in JSON format. Although belongs to the custom format, but conforms to the TONality of JS language, the advantage is simple, easy to write, easy to read, also has excellent portability

A link to the

  • Website: https://cabloy.com/
  • GitHub: https://github.com/zhennann/cabloy