Remote Centralized Camunda flow

We are attempting to build a workflow which would be deployed into a remote centralized camunda (not embedded,so no service tasks). As part of the we plan to use Camunda REST connector to talk to remote REST endpoints. But we would also like for Camunda to be able to send and receive messages to/from a remote broker like JMS /Azure messaging bus.
The idea is that we want to use Camunda more for service orchestration use cases and since we already have an existing messaging bus layer , we would use that instead of External workers

@meenarc You can setup camunda as centralized remote server and you can access the process engine services through rest api. Different applications running on the network can interact with the process engine through a remote communication channel. The easiest way to make the process engine accessible remotely is to use the built-in REST API. Different communication channels such as SOAP Webservices or JMS are possible but need to be implemented by users.

Refer this docs section for more understanding on camunda deployment models:

Rest api docs to access process engine services:

To run camunda remote server as a microservice:

To enable the REST API you can use the following starter in your pom.xml :


To enable the Web Applications you can use the following starter in your pom.xml :


Thanks for the response
I have looked through the Camunda deployment models etc. Let me rephrase my question

What am trying to do is understand what are the options I have where I have a remote camunda engine , an event bus and a remote service. All these 3 components are separate processes which need to talk to each other . In such cases we would have a flow where the remote service may send/receive messages to the event bus and remote Camunda would need to process these messages and remote service is either sending messages or receiving from event bus for different workflows. .
Also the same or diff workflow can talk to different event bus topics/queues and send /receive diff events
What are the options in such cases when designing the workflow?

i)Send task to send messages?
iiReceive task-but can we receive messages from diff topics within the same workflow?How do we handle say something like a kafka topic offset reset in case of retries etc in such cases?
iii) Have a customized service task to handle event bus communication , deployed in the remote engine ? This lets us throw in some JSON customization,error handling etc . This approach is sort of what we are leaning towards now.

iv)Create a custom event bus connector?