Nova Bonita M3 is an extensible and embeddable workflow solution that can be easily deployed in both standard (JSE) and Enterprise (JEE) environments.
Nova Bonita can be easily integrated in your application as a workflow library. In that case your application can directly reach the workflow APIs as POJOs.
Nova Bonita can also be deployed in a JEE application server and so leverage it remotely thanks to the Workflow Session Beans APIs.
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.
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");