as I understand, the Camunda Cockpit commnuicates with the proces-engine via REST. In the architecture overview shown in the Camunda doc (http://docs.camunda.org/latest/assets/img/architecture-overview.png), the engine and the cockpit reside in the same runtime container. - Why?
My question is: Since, they communiucate via REST - How can I run the Cockpit in a completely different container as the engine and still access the process engine?
How can I configure the Cockpit to point to the REST service of my application running the engine?
Cheers
Chris
I am not quite sure if I understood you well. You say:
"... That's why the Cockpit webapplication has a backend that accesses process engine ...".
How does it access the process engine? How and where must the process engine be configured so the cockpit application has access?
I have the process engine defined as spring bean (ManagedProcessEngineFactoryBean) in the spring context of my own application.
Is there any way I can configure a Cockpit to point to my process engine? The Cockpit could also run in the same container as my application.
Cheers
Option one is what I need. I read the installation guide for a vanilla Tomcat installation. But I am not sure how to put this all together.
I downloaded the pre packaged tomcat installation. I unpacked it and copied the "camunda" folder to my webapps folder of my tomcat where my application with the process engine is running.
I took also the jar files of the lib directory of the pre packaged tomcat and copied it to my own tomcat.
Further, the installation guide tells to put the bpm-platform.xml to the tomcat-conf directory. As far as I can tell - this file would configure its own process-engine. And this is what I do not want at all, because (this is the topic of the thread) I want to use my own already existing (shared) process-engine.
The installation guide also tells to configure the datasource. If I already have a shared process-engine in my container, the cockpit should not need another db-connection.
I use java melody in my webapp and there I can identify an MBean of type
org.camunda.bpm.platform.process-engine
with the name of my configured proces-engine. So I assume, the process-engine is available in the container.
If I do not specify the bpm-platform.xml - I get an error when accessing the "camunda" webapp:
"org.camunda.bpm.webapp.impl.IllegalWebAppConfigurationException: No process engine found. camunda Webapp cannot work without a process engine.
org.camunda.bpm.webapp.impl.engine.ProcessEnginesFilter.getDefaultEngineName(ProcessEnginesFilter.java:168)"
Could you please help me by providing the necessary steps to run the cockpit on a tomcat with an already running process engine?
Chris
PS: Just for testing purpose - I configured the camunda app as told in the installation guide, and it worked. But this was just another process engine with direct access to the database.
Your advice seems to have some effect. When I call the camunda webapp now - I get automatically redirected to the process engine.
Let's say - I call http://localhost:8080/camunda
The adress is changed to http://localhost:8080/camunda/app/cockpit/my-own-process-engine
So, it seems the camunda webapp does know about my process engine. Nevertheless, after the redirect, I get an HTTP 404 error. It looks like I am missing the last tweak now.
Is there any configuration file I have to adapt?
Chris
the request is simply
http://localhost:8080/camunda
The address is then automagically extended to
http://localhost:8080/camunda/app/cockpit/my-own-process-engine
in my browser address field (tested with Chrome and Firefox).
If I change the name of my process engine - the extension also uses the new name. So the must be at least something working right in the background.
When I manually enter the address to the "default" engine:
http://localhost:8080/camunda/app/cockpit/default/
I get at least the logon screen returned by my tomcat.
There is a "warning" of course, that there is no process engine available with the name "default"
"The process engine you are trying to access does not exist"
I can also write some random process engine name like "llalalu" and the same thing occurs. Only when I use the only engine name that really exists - I get the 404 error.
Hyphen in the engine name...
Thanks a lot! Saved my day.
Cheers
Chris