5.2.2. Nova Bonita APIs, playing with !

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

5.2.2.1. Nova Bonita as a java workflow library in your application

The java APIs can be accessed thru an API accessor object as described in the example below:

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

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

There are 2 different accessor interfaces available:

  • ReadOnlyAPIAccessor: to get access to DefinitionAPI, RuntimeReadOnlyAPI, QueryAPI interfaces

  • APIAccessor: to get access to RuntimeAPI, DeployerAPI interfaces

APIAccessorImpl and ReadOnlyAPIAccessorImpl classes are implementing the two interfaces. Instantiation of these classes gives access to the expected bonita API.

5.2.2.2. Nova Bonita as a remote workflow server

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");
      
For a detailed insight on Nova Bonita APis, please take a look to the Nova Bonita javadoc