If you are already familiar with previous Bonita versions and you have already developped your own applications on top of Bonita, we want to minimize your effort when migrating to Bonita v4. Compatibility from Bonita v3 to v4 is one of our main concern.
At the same time, we took the chance to review and to improve Bonita v3 APIs in this new major version so basically the Bonita v3 API spirit is still there but we applied some improvements in Nova Bonita to simplify some operations and to add added value features.
Nova Bonita APIs has been refactored each milestone release until become stable in this first release candidate version.
Nova Bonita APIs are divided into 5 different areas:
DefinitionAPI: to create/modify major process elements into the engine (packages, processes, activities, role mappers, variables by calling java methods instead of importing xpdl files. It will allows also to modify the execution of runtime elements such as tasks and instances.
QueryDefinitionAPI: to get workflow definition data for packages, processes, activities, role mappers, .....
RuntimeAPI: to manage process, instance and task life cycle operations as well as to set/updates variables
QueryRuntimeAPI: to get recorded/runtime informations for packages, processes, instances, activities, tasks (support for dynamic queries will be added in the future). It allows also to get tasks (aka manual activities) list parametrized by the with state for the authenticated user and as well to get/list variables in a particular or a set of workflow instances.
ManagementAPI: to deploy workflow processes into the engine. XPDL files and advanced entities such hooks, mappers and performer assignments can be deployed individually or in one shot
There's also a generic API that allow to execute specific commands that should be needed by the workflow based application.
CommandAPI: to allow developpers to write and execute its own commands packaged within its application.