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 DeployerAPI and QueryAPI interfaces.
DefinitionAPI Getters on the workflow definition data for: packages, processes, activities, participants, dataFields, transitions hooks, mappers, performer assignments.
DeployerAPI Workflow process deployment operations.
QueryAPI Getters on workflow recorded data.
ReadOnlyAPIAccessor Helper class giving access to DeployerAPI, QueryAPI and getRuntimeReadOnlyAPI interfaces.
RuntimeAPI Main API responsible of workflow state change operations.
RuntimeReadOnlyAPI Getters for tasks and variables.
 

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 M3 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 5 different areas:
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 ReadOnlyAPIAccessorImpl();
    RuntimeReadOnlyAPI RuntimeReadOnlyAPI = accessorRO.getRuntimeAPI();

There are 2 different accessor interfaces available:
APIAccessorImpl and ReadOnlyAPIAccessorImpl 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");
   
RuntimeReadOnlyAPI runtimeReadOnlyAPI =
    (RuntimeReadOnlyAPI) 
initialContext.lookup("RuntimeReadOnlyAPI");

Note: