Differ in deployment between "Shared, container-managed" and "Standalone (Remote) Server" Process Engine

709 views
Skip to first unread message

Melissa Palmer

unread,
Sep 15, 2014, 9:07:40 AM9/15/14
to camunda-...@googlegroups.com
Hi

Looking at the documentation at: http://docs.camunda.org/latest/guides/user-guide/ for "Shared, container-managed Process Engine" and "Standalone (Remote) Process Engine Server"

I am failing to understand how to deploy these differently? Most specifically how do I deploy a "Standalone (Remote) Process Engine Server"? 

I have followed the steps described under "camunda BPM Installation Guide (Tomcat)" at http://docs.camunda.org/latest/guides/installation-guide/tomcat/#bpm-platform 
The way I understand things is that this setups a "Shared, container-managed Process Engine" for me. 
- which I can deploy separate process wars to 
- and the "camunda-engine-rest-$PLATFORM_VERSION-tomcat.war"

Questions
- Am I correct in understanding that the above setups a "Shared, container managed process Engine"?
- How do I setup a "Standalone (Remote) Process Engine"?
- What is the difference between the two...: given that I can deploy the "camunda-engine-rest-$PLATFORM_VERSION-tomcat.war" to a shared container and access the process engine via rest?
- In the Standalone version how would I deploy my own processes to the engine? 


Thanks in Advance
Melissa

Melissa Palmer

unread,
Sep 17, 2014, 4:21:55 AM9/17/14
to camunda-...@googlegroups.com
Is anyone able to explain the difference for physical deployment of the three options please? 

Daniel Meyer

unread,
Sep 17, 2014, 8:58:00 AM9/17/14
to camunda-...@googlegroups.com
Hi Melissa,

I have followed the steps described under "camunda BPM Installation Guide (Tomcat)" at http://docs.camunda.org/latest/guides/installation-guide/tomcat/#bpm-platform 
The way I understand things is that this setups a "Shared, container-managed Process Engine" for me. 
- which I can deploy separate process wars to 
- and the "camunda-engine-rest-$PLATFORM_VERSION-tomcat.war"


- Am I correct in understanding that the above setups a "Shared, container managed process Engine"?

Yes  this is correct. We differentiate two deployment models for the process engine
a) embedded
b) shared.

The distinction is mostly about the lifecycle of the process engine and the lifecycle of deployed java classes and processes.

If you use an embedded process engine, you deploy a single application (WAR or EAR) containing the process engine itself along with java clasees (Java Delegate implementations, Listeners, ...)

If you use a shared process engine, the process engine is usually started when the runtime cotainer (tomcat, jboss...) is started. Then you deploy multiple applications containing Java Classes (Java Delegate implementations, Listeners, ...) and also BPMN processes.

If you want to build a remote process engine server scenario you would typically not deploy any java classes and other Implementation code to the process engine server. Instead you would only deploy the BPMN-XML files (possibly via the REST Api). In your processes you would only invoke Web Services and REST Services using generic Java Delegate implementations.

The remote case is a bit orthogonal to the embedded vs. shared process engine discussion. Both an embedded and a shared process engine can be used as a remove process engine. This is probably what you were getting at here, right?

What is the difference between the two...: given that I can deploy the "camunda-engine-rest-$PLATFORM_VERSION-tomcat.war" to a shared container and access the process engine via rest?

 

 In the Standalone version how would I deploy my own processes to the engine? 

You could use the REST Api or build a small webapplication which allows uploading BPMN files.

Let me know if you have more questions here, I have to admit that it is a complex topic and I may not have given the best answer.

Cheers,
Daniel

Melissa Palmer

unread,
Sep 17, 2014, 9:17:11 AM9/17/14
to camunda-...@googlegroups.com
Thanks Daniel for the detailed response, I'm still not sure I understand things tho. Your answer gives me lots of explinations between the differences of the embedded and shared container deployments. 

I want to understand more about the differences of these two (embedded and shared container) against the standalone deployment option. 
I can't see/understand about setting up of a standalone deployment. 

Unanswered for me is: 
- how do I setup a "Standalone (Remote) Process Engine" deployment. 

Thanks for all the help
Melissa
Reply all
Reply to author
Forward
0 new messages