JBPM FAQ
From Foochal
Can I run jBPM in a standalone Java app or do I need a J2EE container?
You can use jBPM as a library in a standalone program. If your program is simple, you don't even need a database. Checkout this simple program, written as a unit test, which creates an inline process definition, instantiates it and executes it -- all in a unit test without a database or a J2EE container. http://docs.jboss.com/jbpm/v3/userguide/tutorial.html#helloworldexample
The white paper at JBoss.com
Please read the jBPM white paper at http://www.jboss.com/pdf/jbpm_whitepaper.pdf
Here are some important excerpts from the white paper:
- jBPM is a standard Java application and does not need an application server.
Enterprises that are interested in jBPM can use it without adding more complexity. jBPM can also be deployed in a web application or a standalone Java application.
- An enterprise can deploy JBoss jBPM as a separate component in the enterprise IT infrastructure.
- ... a workflow engine must support a combination of
- declarative specification of the state of a workflow and
- programming logic. The JBoss jBPM 2.0 engine is designed with two main principles in mind. First, it provides a very simple mechanism for incorporating a basic state machine, making it easy for Java developers to bundle JBoss jBPM into their projects. Second, it is designed to scale to the most complex workflow patterns.
- In fact, JBoss jBPM is the first BPM engine to support comprehensively the workflow patterns common across all commercial products, enabling it to be used in the most complex Java applications.
- jBPM is very flexible and can stand alone in a Java VM, inside of any Java application, inside any J2EE application server
Can I create a new process definition dynamically
Yes. You can create new process definitions and deploy them to the jBPM process repository on the fly.
jbpmContext.deployProcessDefinition(processDefinition);

