1
votes

I am a new bee with Camunda and hope you can give me some advise on how to integrate Camunda into my application.

I have an Angular UI which communicates with the spring-boot application using REST. Now I want to integrate Camunda BPMN for the processes. I can think of two possible approaches:

  1. Angular calls the Camunda REST-API to start i.e. a Service Task in Camunda, which calls a Java Delegate of my Spring-Boot Application.
  2. Angular calls the Spring-Boot REST-API, which has Camunda embedded by their JAVA-API to call A Service Task.

Are these or one of them a best practise approach or is there an even better way of integration Camunda?

I read the most related questions, but none seems to really answer my question.

Thanks for your help

1

1 Answers

1
votes

To avoid gradually implementing your own custom camunda REST API on top of the JAVA API, I would opt for 1 (use REST API directly) whenever possible. This way you can also leverage new product features without adding new own code and avoid maintenance / upgrade efforts.

However, you may find cases in which a composite (data) service to combine product API (get process variables including primary key for data object) with own (persistence) logic (e.g. fetch JPA entity by this primary key) can be desirable.

Some people prefer, as a matter of principle, to create their own facade to keep the underlying implementation exchangeable. From my experience this effort and the resulting ongoing effort is not justified. Exchanging the underlying engine will require effort in any case.

The camunda REST services can also be combined with your own services under the same API (url).