Sunday, February 26, 2017

First Steps With Degraph

A crucial part of implementing software components is to get your code free from unwanted package dependencies. But most of the time it is hard to get an overview of which code depends on each other. SonarQube is a great tool but unfortunately they dropped the Package Tangle Index analysis support (see 'Also worth noting' here). JDepend is another tool but I could not really get familiar with it (even not with the eclipse IDE integration). Thus I decided to try Degraph - a newer tool that I heard of some time ago.

Sunday, February 12, 2017

Camunda BPM User Task with Timer Boundary Event to react on follow-up / due dates

User tasks (in general) often work with follow-up or due dates. Camunda BPM does support this by providing corresponding properties / members on the User Task BPMN. The Camunda API allows to filter user tasks by these dates so that due or overdue tasks can be found easily.

Beside the query filter also Timer Boundary Events on user tasks can be used to "detect" the maturity of a user task and to trigger an automatic action.

I implemented a working example to show the usage of timer boundary events on user tasks. You can find it at this GitHub location.

Have fun!

Wednesday, December 7, 2016

Customizable Event Log inside Camunda BPM process


Example BPM Diagram


A BPM (Business Process Management) process exists of lots of flow objects (activities, events, gateways) and at some point of execution - for example when a user is prompted to perform a task - an information about "what happend so far" is helpful or even required.

This post discusses a approach to assemble a custom Event Log by using a decision table inside a BPM process that is executed with the Camunda BPM engine.

As the solution was put into code you will not find the post content here, but near the code. So have a look at my camunda-customizable-event-log GitHub project.

Feel free to add comments here.

Monday, June 20, 2016

Running SonarQube behind a proxy


I am a longtime user of the SonarQube quality management platform and was very pleased when SonarQube 5.6 LTS was released. I expected that the upgrade from the 4.5.7 LTS version would be as trouble-free as updates in the past. Unfortunately I noticed that the native https support was dropped. Thus the https support now has to be provided by a proxy as described in the "Securing the Server Behind a Proxy" documentation part.

Tuesday, April 15, 2014

Operation friendly Spring application runtime configuration

Most applications need some kind of runtime configuration like e.g. database connection settings. These seetings are usually provided as program arguments or system properties. The following post will show a proper way to include runtime configuration support in a modern Spring application to make it is easy to handle the application by the operation team.

Monday, March 24, 2014

Moving a Maven artifact to new coordinates



Sometimes it can be necessary to move a Maven artifact to new project coordinates (groupId, artifactId, version). Fortunatly Maven does supports this use case.

Wednesday, February 12, 2014

Logging request/response messages with Apache CXF

Today I would llike to give a short introduction in How-To log request/response messages of your Apache CXF JAX-WS service.