Camunda BPM and Existing External Application

Hello Community,

I am a beginner in Camunda BPM. Currently I am evaluating Camunda for a potential product to use at work. I have watched multiple YouTube videos; specially the ones done by Niall, they are excellent. I have been in the forum reading through the discussions and I read few Cumanda documentations.

I am wondering if I can user Camunda BPM as per the following:
I have an existing application with UI frontend and a huge SQL database at the backend. I want to remove the business logic from the application and create it in Camunda BPM using Modeler and DMN. To do that I will need to read from the SQL database, feed the data to the DMN decision table and then based on the output of the DMN I will need to update or insert records into the SQL database.

So can I achieve this with Camunda BPM and communicate this way with the external application?
Any other suggestions or ideas?

Appreciate the feedback and help.

Hi @Maysa ,

Database(RDBMS) is prerequisite for camunda application. You can check supported databases and the version compatibility table here:

Extract the code which is only required for process execution flow, incase your process application is shared/container managed or standalone process application.

Another option is, without extracting the code from the business application you can embed the process engine with in the existing application itself.

DMN usage is depends on your business usecase, also DMN is optional. In your applictaion if you have the requirements for business decisions, then opt for DMN.

Overall, its possible to setup camunda for your business usecase.

Installation: https://docs.camunda.org/manual/7.11/installation/

Architecture Overview: https://docs.camunda.org/manual/7.11/introduction/architecture/

Process engine services accessbility:
Rest API Docs : (https://docs.camunda.org/manual/7.11/reference/rest/)
Java API Docs : (https://docs.camunda.org/javadoc/camunda-bpm-platform/7.11/)

External Task:
Docs: https://docs.camunda.org/manual/7.11/user-guide/process-engine/external-tasks/
RestAPI: https://docs.camunda.org/manual/7.11/reference/rest/external-task/

Camunda BPM examples: https://github.com/camunda/camunda-bpm-examples

Thank you @aravindhrs for your reply.

I will look at the links you posted. I might need to ask specific questions.

FYI, my external application is not Java application.

Regards
Maysa

Then you can install the camunda as standalone server . And process engine services can be accessed via REST API, so the client application can be of any technology.

1 Like

Hi @Maysa,

after deploying your decistion table to the process engine, this REST endpoint will be your friend: https://docs.camunda.org/manual/7.11/reference/rest/decision-definition/post-evaluate/

Hope this helps, Ingo

Hi @aravindhrs,

I really appreciate the help. The article you sent me is an excellent read, it guided me to the right direction and my POC has progressed. My external application is written in C# which calls some external micro-services (as well written in C#) via REST calls. I will need to communicate with Camunda via REST calls as well.

Thank you
Maysa

Hi @Ingo_Richtsmeier

Thank you, I have been reading the comprehensive list of REST endpoints. Thank you for the tip, I am using decision table and I have actually booked mark the link you sent me.

I am sure I will have more questions as I progress :slight_smile:

Regards
Maysa

That’s the right way to do it