Camunda BPM Engine
Camunda Web applications
The Workflow Process Management feature requires a Business Process Management (BPM) engine. As described in Add Workflow Process Management to a Project, a WAR file is provided which hosts the Camunda BPM engine. In addition, the WAR also contains the Camunda web applications for monitoring and managing running processes.
Configure Admin User Directly After First Deployment
Because the Camunda web applications enable you to perform administrator-level actions, it is very important that the applications are protected against malicious use. Therefore we advise you to do the following:
As long as no admin username and password have been configured, anyone accessing the application gets redirected to the admin registration page where one can provide the initial username and password for the admin root user. Therefore, please configure the admin username and password directly after deploying the BPM war!
The web applications are meant for system administrators only. Therefore, we strongly advise you to not expose the BPM web application over a public-facing network.
The BPM web application is deployed on the authoring server, in addition the the CMS application. That web application contains the BPM implementation “Camunda” and a web UI for administering the application.
The database server contains an additional Workflow Process Management Database. A complete schema description can be found in the Camunda Documentation. The tables are automatically created by the web application.
During restore and back up, all tables of the database should be included. The repository database references the Workflow Process Management Database, so ideally both should be backed up and restored simultaneously.
If Tomcat is used as Application the application server has to connect to the database server. The BPM web application requires access to the WPM database of the Database Server.
Typically the configuration for this connection is defined in conf/context.xml:
<Resource name="jdbc/wpmDS" auth="Container" type="javax.sql.DataSource" maxTotal="20" maxIdle="10" initialSize="2" maxWaitMillis="10000" testWhileIdle="true" testOnBorrow="false" validationQuery="SELECT 1" timeBetweenEvictionRunsMillis="10000" minEvictableIdleTimeMillis="60000" username="DBUSER" password="DBPASS" driverClassName="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://DBHOST:DBPORT/DBNAME?characterEncoding=utf8"/>