Update (March 31, 2014)
With Camunda BPM 7.1, WebLogic 12c is now officially supported. See our supported environments for more details. Some links below do no longer work.
- Add a datasource
- Add shared libraries
- Add a resource adapter (for the Job Executor using a proper WorkManager from WLS)
- Add an EAR starting up one process engine
- Add a WAR file containing the REST API
- Add other WAR files (e.g. cockpit) and your own process applications
Add a datasource
Which Camunda distribution do I use?
Add shared libraries
Add resource adapter
The resource adapter is deployed as RAR archive. I used the archive provided for Glassfish – as there are no changes necessary. You can deploy it via the Administration Console without problems:
Important: You now have to adjust the configuration. Change the deployment order (the resource adapter should be deployed before other stuff), set a JNDI name and allow global access to classes (actually I still wonder how providing the RAR classes to EAR classloaders really works in WLS as defined in the JCA specs – I didn’t get it to work in the prototype so I added the stuff as shared libraries – any hints from WLS experts are welcome!):
And last but not least we need a Weblogic WorkManager for our thread pool:
Add EAR starting a process engine
Deploy REST API as WAR
Deploy cockpit and Tasklist
- https://localhost:7001/tasklist/ (I locally had a strange problem during login – it basically only worked with Chrome at the moment. Unfortunately no time to dig deeper – but at latest when we productize it we will figure that out! Or you do :-)).
Deploy Process Applications
<process-application xmlns="https://www.camunda.org/schema/1.0/ProcessApplication" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"> <process-archive name="pa"> <process-engine>default</process-engine> <b><process>invoice.bpmn</process></b> <properties> <property name="isDeleteUponUndeploy">false</property> <b><property name="isScanForProcessDefinitions">false</property></b> </properties> </process-archive> </process-application>
And starting a process instance via REST: