This project is read-only.

NGinn.BPM basic information

What is NGinn.BPM and why was it created

It's a workflow engine for Microsoft.Net. It was built mainly because its author (me) wanted to check how hard is it to build a real workflow engine and besides I had some ideas about how to make it a really nice tool.
The motivation behind NGinn BPM is
  • to provide a workflow engine capable of running BPMN or similar process definition language
  • changes and modifications to processes should be as simple as possible, ideally without stopping the application
  • provide a set of ready to use tasks that can be used in processes and that really do something useful. This should be ready to use, not ready for further development.
  • easily embeddable and extensible, lightweight at the same time
  • fault tolerant as much as possible
  • good performance, able to handle millions of process instances per month
  • must be able to integrate with existing infrastructure and use existing applications (e.g. user database or a 'TODO list' application).

NGinn does not use workflow foundation (as in 2007, when I was thinking about NGinn, the WF wasn't good at all). It's based on Petri nets instead.

What 'processes' or 'workflows' are we talking about

This project is about providing software tools for supporting business processes in organizations. The 'business process' can be described as a formal procedure for providing some service or producing something (we are concentrating on what is the procedure and how efficiently it is performed, not on what the end product is). The procedure consists of individual steps, called 'tasks', that can have various interdependencies (for example: task C can be done only after performing tasks A and B). Tasks can be performed by humans (manual tasks) or automatically by software, and the workflow engine's job is to make sure all these tasks are executed exactly as specified in the process definition.

How does NGinn.BPM work

NGinn.BPM is a process execution engine that runs processes according to process definitions. It provides an execution environment and a number of integration interfaces that allow the interaction between external applications and NGinn.

NGinn.BPM vs MS Workflow Foundation

Is it ready for production use

Partially. Some components can be used in production (and have been used already), but NGinn.BPM is not a complete product. Many components are missing (deliberately or not) and some functionalities need to be provided by external applications.

Last edited Feb 6, 2011 at 11:13 AM by rafal_g, version 6


No comments yet.