Author

Daniel Meyer

Get started with camunda BPM and Java EE

Roman and Sebastian have written a brand new getting started guide for camunda and Java EE.      The guide is a detailed step-by-step tutorial about how to setup your Java EE 6 application for camunda BPM and BPMN. It has examples about how to use JSF for implementing Task Forms, CDI and EJB as a programming model for the business logic and JPA for custom persistence. The source code of the tutorial can be found on GitHub. Since the guide is a step-by-step tutorial, you can checkout the source code for each step as a tag in git. I hope you like the tutorial, please give us feedback in the forums and via @camundaBPM. Read the guide on how to…

By Daniel Meyer

Finally! Camunda BPM 7.1.0-Final is released

Today we release 7.1.0-Final, the new minor version of camunda BPM. Compared to the 7.0.0.Final release, the new version includes many new features and improvements: Improved process engine with Job Definitions, better BPMN coverage and improved performance, All-new BPMN Model API for convenient BPMN model access, New features in the cockpit monitoring web application, Improved Tasklist and Task Forms, including support for HTML5 and Generated Task Forms. Support for Oracle WebLogic Server 12c and JBoss Application Server 7.2 and JBoss EAP 6.1 / 6.2 This blog post contains a more detailed feature overview below. The release is now available on camunda.org for download: You can download the release on camunda.org for free. All in all, 320 issues were closed. See the complete…

By Daniel Meyer

Fluent API for Message Correlation

Camunda BPM 7.1.0-alpha4 features a new fluent API for message correlation. BPMN 2.0 defines events and tasks catching messages. The following is a fragment of a process waiting for an order to be cancelled: In BPMN 2.0 XML you have to provide a name for the message you want to catch: <bpmn2:definitions …>   …   <bpmn2:message id="<b>Message_1</b>" name="<b>orderCancelled</b>"/>   …   <bpmn2:process id="Process_1" isExecutable="false">     …     <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_2" name="Order Cancelled">             <bpmn2:messageEventDefinition messageRef="<b>Message_1</b>"/>     </bpmn2:intermediateCatchEvent>        </bpmn2:process> New Fluent API Camunda Engine now features a fluent DSL for correlating this message to the process engine:   runtimeService.createMessageCorrelation("<b>orderCancelled</b>")       .processInstanceBusinessKey("someOrderId")       .setVariable("CANCEL_REASON", "someReason")    …

By Daniel Meyer

Camunda Grails Plugin by Martin Schimak

Martin Schimak (who is a community member and contributor) has written a Grails plugin which allows users to get started quickly with Camunda on grails. Camunda Grails Plugin 0.1.0 released: https://t.co/cy539EHEUV — Grails Plugins (@grailsplugins) March 13, 2014 The code is pushed to GitHub: https://github.com/plexiti/camunda-grails-plugin Amazing Stuff!!

By Daniel Meyer

Custom Location for bpm-platform.xml Configuration File

Starting with camunda BPM 7.1.0-alpha4 it is now possible to put the bpm-platform.xml file in a different location. This solves the problem that you have to open the camunda bpm platform EAR module and change the configuration file inside the EAR file if you want to customize your settings. Note: This post does not apply to the JBoss Application Server distribution since there the process engine configuration is put directly into the JBoss Application Server configuration file (standalone.xml / domain.xml). You can now put the bpm-platform.xml file in any location and provide the location as an URL. Examples: /home/camunda/.camunda/bpm-platform.xml C:pathtobpm-platform.xml https://mydomain.com/path/to/bpm-platform.xml The location can be set using A JNDI entry namedjava:/comp/env/bpm-platform-xml. This is particularly useful on websphere application server. A…

By Daniel Meyer

camunda BPM 7.1.0-alpha4 released – BPMN coverage, Performance & Cockpit

Today we released camunda BPM 7.1.0-alpha4. This release provides many improvements and bug fixes: Process Engine: BPMN coverage: Support for Non-Interrupting Event Subprocess – (CAM-112) – HOT Performance Improvements: Execution Tree pre-fetching (CAM-1967) Reduce number of database queries. (CAM-1905, CAM-1906, CAM-1966) Message Correlation Improvements: Added Fluent Builder & Correlation using Process Instance Id (CAM-1775) camunda Cockpit (Webapplication for Monitoring & Operations): Community Features: Resolve Caching problems – Try 1 (CAM-1899) Improved Plugin API (CAM-1737, CAM-1958, CAM-1959, CAM-1960, CAM-1961) Search & Filter Activity Instance Tree (CAM-1874) Enterprise only: History of Variables (CAM-73) History of User Tasks (CAM-1875) Bpmn Model API: Support for all camunda Extension elements & Attributes (CAM-1854) All in all, 45 Issues were closed. Find the complete release notes in Jira. Download camunda BPM 7.1.0-alpha4 now! Give us…

By Daniel Meyer

Camunda BPM 7.1.0-alpha3 released – Cockpit, BPMN Model Api and Task Operation Log

Today we release the next alpha version of Camunda BPM. The highlights of this release are:      Bpmn Model API Task Operation Log Edit group Identity Links in cockpit monitoring web application Cockpit usability improvements (Browser History, Icons) Consolidated Examples Repository On top of this we introduced new features into the cockpit monitoring web application which are reserved for enterprise subscription customers only: Diagram View for Historic Process Instances Audit Log for Historic Process Instances Advanced Querying Features for Historic Process Instances View the complete Release Notes in Jira.   Download Camunda BPM alpha 3 now and Give us Feedback via @camundaBPM and in the Forums.      Bpmn Model Api integration with Process Engine The BPMN Model API allows you…

By Daniel Meyer

Benchmarking Performance of camunda Process Engine – Broken SSDs and some Numbers

Yesterday morning I posted some details about our current performance testing efforts. At that point I was still developing the performance testing framework and using the H2 in-memory database when running tests, just to check whether everything runs clean. Yesterday evening, finally, I wanted to run some tests on a “real” database.  I hadn’t done any serious performance testing since a couple of month back when we released camunda BPM 7.0 Final and in the meantime I have switched my operating system from Windows 7 to Ubuntu Linux. Turns out that Linux is much more serious when it comes to I/O errors and broken SSDs. But more on that later. Let’s start with some numbers.   Some Numbers We ran…

By Daniel Meyer

Gaining insight into the Performance of camunda Process Engine

The camunda process engine has a very active codebase and is constantly evolving. Only last week we did a major refactoring, re-implementing the way the BPMN Boundary Event, Event Subprocess, Terminate End Event and similar constructs work. In summer we introduced an activity instance model and rewrote the history implementation, turning it into a fire-and-forget event stream.We also constantly add new features such as incidentsand many others. When doing such refactorings, the extensive process engine testsuite gives us the confidence that we do not break existing functionality from a functional perspective (process engine currently has 1669Testases, over 500 were added last year). On top of that, we put quite some effort into database migration testing, making sure that you can…

By Daniel Meyer

Try All Features of Camunda