Summer HackDays 2020 project: PoC pushing event via pulsar to optimize (instead of Rest import)
Start from docker-compose.yml. Access:
http://localhost:8088
service bushttp://localhost:8089
dashboard
Camunda application, Spring Boot based, with simulator generating data and push plugin to send out all relevant history events to Pulsar.
Pulsar connection via Java client, for testing activate profiles
"consumer, producer"
to see mocked produce and consume
or just
"consumer"
to see the actual events generated by Push Plugin only.
Currently, it sends
- process definition (once after startup)
- process definition diagram (once after startup)
- process instance running
- process instance completed
- activity instance running
- activity instance completed
- task instance running
- task instance completed
- variable update
- identity link log
- history event entities are not exactly easy to pump into Optimize DTOs (the entity inheritance structure in cambpm is what I call "evolved over time, but not like good wine")
- non-primitive data currently not possible
- de-couble event generation from history level (since NONE is ok for this approach)
- transactions: how to make sure that events are sent to Pulsar if and only if the corresponding transaction in cambpm was successfully committed
- say we start to use that mechanism but already have history data in cambpm, what to do?
- similar case: we already use camunda and optimize and want to change to pushing, how to make the shift robust?
- use stream processors to enrich data (instead of optimize plugin)