Can Process Engine work on Java EE Projects as internal backbone? New developer here

Hi,

I’ve tried the JAVA EE pizza order example on the Get Started. But the example here is used inside the camunda web app and is just an external form.

Can I try to use the process engine along with the bpmn file to be the internal process of my Java EE application without using the camunda web app? For example starting/triggering the process, claiming, etc. on my own application.

Ok I’ve watched the webinar on the Camunda BPM Overview and it explained that the architecture that I wanted is the embedded.

So with that in line is there a documentation or example how to do it from start like, adding the bpmn, starting the process, listing the task etc. using Java EE and JSF maybe.

Hi,

Perhaps this [1] Spring tutorial may be a starting point. There are also a number of code examples and snippets. Here’s one [2] which may be of interst…

rgards

Rob

[1] https://docs.camunda.org/get-started/spring/
[2] https://github.com/camunda-consulting/code/tree/master/snippets/embedded-engine-without-spring

2 Likes

Hi Webcyberrob,

Since I’m not going to use spring, I’ll be checking the 2nd link. Will this be production ready? I’ll try it with the 7.8.0 if it works if not il go back to 7.7.0 as stated on the Environment Restriction. I’m just wondering why there was no official documentation for non spring apps.

Hi,

Heres an official tutorial [1] . Granted its more oriented to J2EE, but it doesnt use Spring…

regards

Rob

[1] https://docs.camunda.org/get-started/javaee7/

Hi Rob,

That’s the first tutorial i tried. It works properly, the tutorials focus was using external forms from within the camunda app itself, but will it work like the embedded? I will be using my own front-end.

Sure - if you have your own UI, you can use the REST APIs to interact with the engine… This blog post may be of interest…

regards

Rob

Hi

I’ve re-tried following the javaee7 get started. I tried setting up a project and deployed it on a fresh wildfly 10. not the one in the tutorial.

Then I tried to tweak the processes.xml. Set the process engine from ‘default’ to ‘embedded’ but its failing to start.

<process-archive name="pizza-order">
<process-engine>embedded</process-engine>
<properties>
  <property name="isDeleteUponUndeploy">true</property>
  <property name="isScanForProcessDefinitions">true</property>
</properties>
</process-archive>

So do I really need to follow the link you gave me for the non-spring java ee embedded approach? And I’ve read about a certain limitation on Job Executor, is this a big limitation that could hold me back? Will it be much better to go to the spring embedded approach?

Hi,

The process-engine tag in the config file is more a name rather than an architectural style…

The different architectural styles can be found here [1]

Hence your architecture requirements may prescribe if you need an embedded or shared engine…
regards

Rob

[1] https://docs.camunda.org/manual/7.8/introduction/architecture/#camunda-bpm-platform-architecture

Hi,

Thank you Rob for the resources and some advices. I’ve now chosen embedded solution on my Java EE project. Already added a bpmn file was able to start a sample process using EJB.