Skip to content

Summer HackDays 2020 project: PoC pushing event via pulsar to optimize (instead of Rest import)

Notifications You must be signed in to change notification settings

nevries/camunda-push-to-optimize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

camunda-push-to-optimize

Summer HackDays 2020 project: PoC pushing event via pulsar to optimize (instead of Rest import)

Pulsar

Start from docker-compose.yml. Access:

App

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

Future road blocks

  • 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?

Ideas

  • use stream processors to enrich data (instead of optimize plugin)

About

Summer HackDays 2020 project: PoC pushing event via pulsar to optimize (instead of Rest import)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages