JBPM FAQ

From Foochal

Jump to: navigation, search


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
    1. declarative specification of the state of a workflow and
    2. 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);

Personal tools