Create a reliable eventing mechanism for CIB seven
User Story (Required on creation)
- in order to implement processes that handle B2B interfaces, that are more then one response (aka event) for a single request, it is required to have a reliable eventing mechanism
- the order of the events is important
- it is important, that the sequence of events can be understood, even after all events have been processed
Functional Requirements (Required before implementation)
We need an eventing mechanism, that fulfills the following criteria:
- an incoming event is saved on arrival
- the order of events is kept
- no event gets lost
- the history of events is kept, even after they are processed
- the operating UI is capable of showing the events and they can be manipulated there
- the source of events can be Kafka messages
- Clean-up: Events are deleted, once the process instance is cleaned up
Technical Requirements (Required before implementation)
CIB seven offers already Conditional Events and the method "setVariableAsync", that can be considered as the basis for this FR. Since many events in a short time can slow down the system, storing of the events history should be configurable in order not to slow down or break the system. possibly, a solution outside of the engine is reasonable in order to ease migration to new versions of the runtime An implementation, that covers some aspects of the FR can be provided.
Limitations of Scope
Hints
Links
Breakdown
### Pull Requests