camunda BPM platform is a flexible framework for workflow and process automation. It's core is a native BPMN 2.0 process engine that runs inside the Java Virtual Machine.
It integrates with Java EE 6 and is a perfect match for the Spring Framework. On top of the process engine, you can choose from a stack of tools for human workflow management, operations & monitoring.
camunda cockpit aggregates the state of all instances of a process definition and visualizes it on the process diagram. This way you can see how many instances are currently waiting in each task / activity. You can filter by clicking on an activity or by using the filter panel. The filter panel supports searching for process instances by variable, business key and process version.
The Process Instance View allows you to inspect the state of a running process instance. Browse through active activities by selecting them in the filter tree on the left hand side. Inspect Variables, Incidents (Failures) and User Tasks in the Properties Panel. Drill down into Sub Process Instances.
Repair a running process instance by changing Variables, re-assigning user tasks or retry failed asynchronous executions. Cancel process instances which cannot complete successfully.
camunda process engine provides a native Java API which allows developers to interact with process instances and the process repository. This makes it easy to deploy, start and control process instances from a regular java application. And it works in the other direction as well: the process engine supports invoking plain java classes from BPMN 2.0 service tasks and similar constructs.
Seamless Spring Framework and Java EE 6 programing model integration provides you with the right toolkit for developing complex business applications.
@Inject the process engine into any Spring / CDI / EJB Bean and invoke Beans and from BPMN 2.0 Service Tasks. Infrastructure integration makes sure that the process engine participates in application transactions. In an enterprise application server, threading and asynchronous background processing can be delegated to a JCA resource adapter.
Use the camunda REST api for interacting with the process engine from a remote server or a web application. Use any programming languages such as Java Script, PHP or Ruby for developing process applications.
Since the process engine is implemented in Java itself, it can be added as a library to any Java application. We call this the Embedded Process Engine. Alternatively the process engine can also be installed as a container service inside an Application Server or a lightweight container such as Apache Tomcat. This way the process engine can be used by multiple applications which can be redeployed without shutting down the process engine.
Use the process engine as a standalone service and interact with it from remote applications. Use the Rest API for remote communication or implement your own access infrastructure using JMS or SOAP Webservices.
Run the process engine on different cluster nodes on top of a shared database. Use this setup for scale up or high availability.The process engine supports heterogeneous clusters where different processes are executed on different nodes.