Package org.ow2.bonita.facade

Nova Bonita Workflow APIs for handling workflow definition, deployment, execution and history.

See:
          Description

Interface Summary
APIAccessor Helper class giving access to ManagementAPI and QueryRuntimeAPI interfaces.
CommandAPI  
DefinitionAPI  
ManagementAPI Workflow process deployment operations.
QueryAPIAccessor Helper class giving access to ManagementAPI, QueryRuntimeAPI and getRuntimeReadOnlyAPI interfaces.
QueryDefinitionAPI Getters on the workflow definition data for: packages, processes, activities, participants, dataFields, transitions hooks, mappers, performer assignments.
QueryRuntimeAPI Getters on workflow recorded data.
Record  
RuntimeAPI Main API responsible of workflow state change operations.
 

Class Summary
APIInterceptor  
 

Enum Summary
APIInterceptor.Context  
 

Package org.ow2.bonita.facade Description

Nova Bonita Workflow APIs for handling workflow definition, deployment, execution and history.

Nova Bonita is the name of new version of Bonita v4.

"Nova" technology is based on the "Process Virtual Machine" conceptual model for processes. The Process Virtual Machine defines a generic process engine enabling support for multiple process languages (such BPEL, XPDL).

Nova Bonita is an extensible and embeddable workflow solution that can be easily deployed in both standard (JSE) and Enterprise (JEE) environments.

As a example of this, Nova Bonita provides a default JEE integration with a EJB3 lightweight container such Easybeans . You can easily deploy Nova Bonita in another JEE application server by just deploying the bonita.ear file in your favorite application server.

Nova Bonita APIs are divided into 6 different areas:

There's also a generic API that allow to execute specific commands that should be needed by the workflow based application.

Nova Bonita Use Case 1: Bonita used as a java library inside your application
The java APIs can be accessed thru an API accessor object as described in the above example.

    APIAccessorImpl accessor = new APIAccessorImpl();
    RuntimeAPI runtimeAPI = accessor.getRuntimeAPI();

    ReadOnlyAPIAccessorImpl accessorRO = new QueryAPIAccessorImpl();
    RuntimeReadOnlyAPI RuntimeReadOnlyAPI = accessorRO.getRuntimeAPI();

There are 2 different accessor interfaces available:

QueryAPIAccessorImpl and APIAccessorImpl classes implements those interfaces.
Instantiation of these classes gives access to the expected bonita API.

Nova Bonita Use Case 2: Bonita used as a server application
The session Bean APIs can be accessed by simply executing a lookup on the expected API interface. The jndi name is the name of the java interface.

    RuntimeAPI runtimeAPI = (RuntimeAPI) initialContext.lookup("runtimeAPI");
   
QueryDefinitionAPI queryDefinitionAPI =
    (
QueryDefinitionAPI initialContext.lookup("QueryDefinitionAPI ");

Note: