Author

Bernd Ruecker

Jan 28, 2016

Testing DMN Decision Tables

We did a very successful roadshow the last weeks showing DMN amongst other topics. One thing which was always discussed is how to validate/test DMN decision tables. I want to start with a quote of myself (to give you a good impression on my ego ;-)): When authoring rules in a more agile, business-friendly way, do not forget about testing them in a more agile, business-friendly way. This post shows various approaches discussed on the roadshow.

By Bernd Ruecker

External Tasks allows new Use Cases with Camunda BPM 7.4

In a recent Blog Post I wrote about a concept we call “External Tasks” where services were not actively called from the Workflow Engine (PUSH) but where “Workers” retrieve their tasks from the Workflow Engine (PULL). We discussed this a lot and got so much feedback that we decided to support this pattern out-of-the-box in Camunda BPM 7.4. Let’s have a look at an example (yes – we do have customers implementing video processing :-)): In this case transcoding and uploading a video file can take ages. It is done by special software which often does not have a SOAP or REST API to call. So in this case it is much easier to make an External Task out of…

By Bernd Ruecker

Context Help in Camunda using SOLR Search Server

Last week we had our annual hack days – that means 48 hours of producing something awesome. Together with Falko, Ingo and Thorben we build a context help within the Camunda BPM Workbench prototype. This uses Apache SOLR to index various sources (we did the user forum, the docs on GitHub, a Community Extension and internal best practices). We discussed details on this index and did a comparison to ElasticSearch. It was a great study for options and use cases of such a help in our tool chain – but watch the result yourself: Context Help / Search via SOLR – hooken into Camunda BPM Workbench from Camunda on Vimeo. Note that this is a prototype – sources are on…

By Bernd Ruecker

Process Test Coverage Report

As part of the Hack Days this year my colleague Falko migrated an existing tool we (Camunda Consulting) used with success in a lot of projects to bpmn.io: The Process Test Coverage Report Generator. It just hooks into an automated test (typically JUnit) and creates an HTML report showing the coverage: For every Test Case For the whole Test Suite See this example for one test case – obviously the Happy Path of the process model: The report can easily be watched locally within your IDE or hooked into your Jenkins Build. See GitHub Readme for details. By the way – our Best Practice is to go for “Flow Node Coverage” – so your Test Suite should “visit” each BPMN Flow…

By Bernd Ruecker

Migrate Process Versions

My colleague Ingo just finished a new cockpit plugin allowing to easily migrate a running process instance to a new version of the process definition: You can find the sources of the plugin on GitHub: https://github.com/camunda/camunda-cockpit-plugins/tree/master/cockpit-plugin-version-migration  If you want to build some migration scrips (as customers often do) you can easily cherry-pick some code from the plugin to apply it yourself, see ProcessInstanceMigrationResource.java for the core functionality). By doing so you can e.g. migrate a bunch of instances in one go – and adjust some variables on the way (as new versions might require new data).  Please note that version migration has limitations and risks – we collected them in the README. We used an unsupported internal Command. The whole…

By Bernd Ruecker

Aug 6, 2015

Rendering BPMN and highlight current task using bpmn.io

With bpmn.io and the Camunda REST API it is really simple to develop a small HTML page that displays a process instance graphically and highlights some activities. In our “JSF Simple Tasklist” snippet we used this to highlight the current Task (like it is done in the Camunda BPM Tasklist):   The cool thing – you do not need a lot of code to do this! This is what we do: Handed over the taskId via URL parameter (see Screenshot). Load the Task details and BPMN XML via REST API. Instantiate the BPMN viewer and hand over the XML for rendering Add a CSS class for the activity to be highlighted Load JavaScript/CSS dependencies, we used WebJars, so they are…

By Bernd Ruecker

Long running processes and service authentication – SAML tokens to the rescue?

When executing long running business processes which include service invocations you often have to solve a problem: What credentials should you use when calling the service? Let’s have a look at a simple example: A user might start the process manually. Then service 1 might be executed with the credentials of this user. But how about service 2? Should it be executed with credentials from the first user or the user who finished the user task? How about service 3? From our experience, there is no rule of thumb but it needs to be decided based on the project requirements. All of the three options are valid: The starting user credentials will be used for all service calls in…

By Bernd Ruecker

May 6, 2015

Camunda + Liferay Community Meeting

Yesterday evening we met at our Partner Ancud IT in Nuremberg (Germany). Ancud presented their experiences using Portals (namely the Open Source Portal Liferay) in combination with Process Engines (namely Camunda :-)). That was already a topic in a recent webinar, you can check out the recording online: English or German. Afterwards we had interesting discussions about DMN use cases and a “social collaboration hub” research project. But let’s start from the beginning. Camunda + Liferay A process application needs a user interface. According to Ancud experiences this is most often a portal – or at least some home grown portal like thing. Personally I am not yet convinced as we still do a lot of non-portal projects – but…

By Bernd Ruecker

Try All Features of Camunda