The main features of the platform are:
- support for business processes formulated using BPMN 2.0 notation
- speed and stability
- BPMN 2.0 notation extentions influencing simplification of cooperation between the business and technical side of the project, i.e.:
- possibility to implement additional events related to process activity – it allows programmers to upgrade a process with additional actions, essential from the technical point of view (e.g. specific logging of actions performed within the process), which are not visualized on the business process whiteboard, so that the process whiteboard remains clear to the business party and at the same time contains information critical from the technical point of view
- possibility to define new activity types, usually not included in BPMN notation – in the event that a modelled process activity does not correspond to any activity pattern suggested by BPMN notation, the business party may suggest a new activity type on the process whiteboard and a programmer may meet the business need by implementing this specific activity; in such a case the whiteboard suggested by the business party remains the same, which precludes the necessity to make further arrangements between the business party and the IT party, which may possibly result in process diagram modifications
- possibility to use shortcuts for BPMN notation items – because some BPMN notation items offer extensive configuration options, as opposed to those most commonly used, there is a possibility to use their more specialized counterparts (e.g. Activiti attribute element which is a specialization of XML Section element in BPMN); using shortcuts increases clarity of the modelled process whiteboard
- extensive API allowing direct access to the BPM engine from the application code level; it enables full cooperation with the engine in terms of: executing processes, importing process definitions to the engine, auditing process instance execution, managing users and groups of users, etc.
- simple integration with popular Java technologies supporting transactional operations, such as Spring or JTA
- the BPM engine may be embedded in the application integrated with a process – the BPM engine does not work as part of an application isolated from the rest of the system, but it rather is a part of it; thus the BPM engine is a component of the application being built and not a separate system
- automatic audit data gathering (process execution history) from the outset of the process in the BPM environment – necessary for efficiently generating a variety of operating business process reports
Additionally, the package provides a number of BPM platform modelling/implementation/administration tools:
- Activiti Explorer browser application which grants access to the BPM engine to all system users; it has the following functionalities: task management (accepting, allocating, executing), process instance status tracing (process execution history), browsing and drafting reports based on defined reporting processes, executing administrative tasks (managing system users, managing process definitions and their versions, browsing the BPM engine database, browsing logs)
- Activiti Designer provided as an Eclipse plug-in, it is a graphic environment for business process modelling based on BPMN 2.0 notation, it also offers support for all Activiti-specific BPMN extensions
- Activiti Modeler a tool built into Activiti Explorer for browsing processes imported to the BPM engine, apart from browsing functionalities it also allows graphic editing of process definitions, yet in this regard the functionalities of this tool are significantly more limited than in above-mentioned Designer.