Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

BPMN 2.0 server for Node.js , providing modeling, execution, persistence and monitoring for Workflow. along with sample UI. Intended to be developers workbench for BPMN 2.0

NotificationsYou must be signed in to change notification settings

bpmnServer/bpmn-server

Repository files navigation

bpmn-server provides a Workflow component based onBusiness Process Model and Notation that can be easily integrated into your application.

As workflow application can outlive Node.js applications,bpmn-server has out-of-the-box state presistence and variables, with concurrency across Node.js cluster and process instancesto make them ideal platform to do long running business processes, durable services or scheduled backgound tasks.

Modeling

bpmn-server provides a modeling tool based onbpmn.io with customized property panel, no need to edit bpmn files

bpmn models can also be imported from other tools.

Typically your application has multiple bpmn models, a model is represented in a bpmn definition (xml).

Each Model is made of various elements, anelement can be anode in the diagram (events/tasks/gateway) or aflow

Models are saved bybpmn-server and can be queriedsee API.model

bpmn-server support all bpmn 2.0 elementssee Modeling Support

Execution

bpmn-server is primiraly an execution engine for bpmn models.

Everytime a model is executed (started), aninstance is created, and for eachelement that is executed it creates an `item'

Execution is based on the model logic that is enhanced by various extensions that allow scripting and access to your application.

During Execution, Model Listeners and Application Listeners are invoked.

The executionengine is availabe through an APIsee API.engine.

For more details about Invoking Execution Engine

For more details about Execution behaviour

Datastore

At various stages of execution, instance object with its parts is saved into a datastore (defaults to MongoDB)

Instances and Items can be queried through an APIsee API.data

For more details about data management

User Management and Security

bpmn-server is relying on the front-end applicaton to authenticate users and to pass user information through the API.

  1. Model designer/developr can define assignee, candidateUsers, candidateUserGroups as static string or JavaScript expressions

  2. Application fron-end need to pass the implementation of `userService'

  3. bpmnServer will enforce security rules based on the current user passed by the application

bpmn-web Demo Application , provides a complete implementation of users management using Passport and MongoDB.

For more details about security

Demo Web Application

A Demo Web application `bpmn-web` provides full front-end along with security features to demonstrate and test the capabilities of `bpmn-server`.

The web app provides:

  • Presistent Modeling tool, using bpmn.io
  • Model property panel supporting all features ofbpmn-server , no need to edit bpmn file
  • Execution with input form for defined fields

  • List of outstanding/recent tasks and workflow
  • Viewing ofinstance details

  • View of Model specification

Full Demo Web Application

We Provide a full demo @https://bpmn.omniworkflow.com

Installation

This package requires Node.js and an access to MongoDB ()if you don't have MongoDB already installed you cancreate a free cloud account here or can beinstalled locally

1. git clone

> git clone https://github.com/bpmnServer/bpmn-web.git

2. install packages

> npm install

3. setup the app

> npm run setup

Edit .env file to have MongoDB point to your server or free cloud account

# MongoDB SettingsMONGO_DB_URL=mongodb://0.0.0.0:27017/bpmn#
  • Run Setup again to create db objects
> npm run setup

Your installation is now complete.

4. Start server

> npm run start

Console will display:

bpmn-server WebApp.ts version 1.4.0MongoDB URL mongodb://0.0.0.0:27017/bpmndb connection openApp is running at http://localhost:3000 in development mode  Press CTRL-C to stop

Use your browser to view the bpmn-server running

Docker installation

To install MongoDB, bpmn-server and bpmn-web in on a docker container

1. Create a folder , cd to folder

2. Create adocker-compose.yml as follows:

version: "3.7"name: bpmn-serverservices: bpmn-web:    image: ralphhanna/bpmn-web    command: sh -c "        npm run setup &&        npm run start"    ports:      - 3000:3000    volumes:      - 'app:/app'          depends_on:      - mongo       mongo:   image: mongo   ports:     - 27017:27017   volumes:     - mongodb:/data/dbvolumes:  mongodb:    driver: local    driver_opts:      type: 'none'      o: 'bind'      device: './mongodb_volume'      app:    driver: local    driver_opts:      type: 'none'      o: 'bind'      device: './bpmn_server_volume'

3. start the containerdocker compose up -d

Command Line Interface

bpmnServer provide some basic functionalities using CLI
>npm run cliserver started..Commands:        q       to quit        s       start process        lo      list outstanding items        li      list items        l       list instancesfor a process        di      display Instance information        i       Invoke Task        sgl     Signal Task        msg     Message Task        d       delete instnaces        lm      List of Models        lme     List of Models        ck      Check locked instnaces        re      Recover hung processes        lu      List Users        spw     Set User Password?       repeat this listEnter Command, q to quit, or? to list commands>

to update to latest release

> npm update bpmn-server

Application Integration

bpmn-server is intended to be integrated into your applicationsee

Documentation

License

This project is licensed under the terms of the MIT license.

Acknowledgments

Thebpmn-server resides upon the excellent librarybpmn-io/bpmn-moddle developed bybpmn.io

Thebpmn-server is inspired by the librarybpmn-engine

About

BPMN 2.0 server for Node.js , providing modeling, execution, persistence and monitoring for Workflow. along with sample UI. Intended to be developers workbench for BPMN 2.0

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp