Author

Bernd Ruecker

The Microservices Workflow Automation Cheat Sheet

Editor’s Note: This post originally appeared on Bernd Rücker’s blog and was cross-posted here with Bernd’s permission. Thanks Bernd! Your company might want to go for a microservice architecture and apply workflow automation (I do not go into the motivation why in this blog post, but you might want to read about 5 Workflow Automation Use Cases You Might Not Have Considered or BizDevOps — the true value proposition of workflow engines.) This sets you in company with a lot of our customers. Typically, you will have questions around: Scope and boundaries (“what workflow do you want to automate and how is this mapped to multiple microservices or bounded contexts in your landscape”). To limit the scope of this post I spare…

By Bernd Ruecker

Remote workers and idempotency

In Camunda there is a concept called External Tasks. See External Tasks allows new Use Cases with Camunda BPM or External Tasks in the docs. The basic idea is simple: Camunda does not actively call a service (which would be PUSH), but worker fetch work items queued for them (PULL). Whenever a worker finishes his work item, he reports completion back to Camunda.  Workers can use the Java API, but most often leverage the REST API, as this allows to run workers as own process. This again allows to scale the workers independently and use whatever language you like to implement them. Also it allows on-premise workers in your private network access a cloud hosted engine.Whenever you are talking REST…

By Bernd Ruecker

How to migrate from Activiti 5.21 to Camunda BPM 7.5

With the Activiti Core Developers having left Alfresco (the company behind Activiti), the future of the Activiti project is quite questionable. More and more Activiti users want to migrate to Camunda. There are actually very good reasons to do so, see Camunda Engine Evolution since Activiti Fork. Camunda is a fork of Activiti. We actually developed big parts of the engine ourselves before we decided to part ways with Alfresco back in 2013. Hence it is relatively easy to migrate. This post lists the necessary steps to achieve this:

By 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

Try All Features of Camunda