Runtime Bundles, by default when executing Service Tasks (BPMN), will emit Integration Events to perform System to System integration. These Integration Events will be picked up by Activiti Cloud Connectors to perform system to system integrations.
REST APIs (HAL)
Runtime Bundles expose a REST API with the following user (ACTIVITI_USER role) endpoints:
Commands are defined as Payloads in the new Java Core API layer. These Payloads contains information to execute different actions implemented inside the process engine and they will return a Result if the execution generated data. When these Commands are executed by the Message Endpoints the results will be sent to a different queue.
By design a Runtime Bundle is enabled to consume and produce (async) messages. This is achieved by using Spring Cloud Streams to consume Commands operations or emit Events representing the internal process engine operations.
Notice that a Runtime Bundle, by design, doesn't have WebSockets/Push Notifications built in.
Runtime Bundles then require the following list of infrastructural services:
SSO / IDM service for handling Security and User/Groups resolutions
Message Broker to emit and consume messages
Database to store the state of the process instances and tasks
In addition to authorization at endpoint-level provided through an external authorization system (and in the case of Keycloak configured in a properties file), individual process definitions (and implicitly process instances) within a runtime bundle can have ACLs applied. These are applied via a properties file using a format such as: