What are the biggest advantages of Camunda BPM over custom java workflow application?

First, need to ask where I can find one of those cool Swiss Army knives?

Onto the questions:

Looking at this from a pure, technical/development perspective…

BPM/Case engines and long-running business-transactions
Assuming you’re looking at a BPM or Case engine/framework to help handle business-transactions. These are the potentially very long running transactions that would normally bring your traditional transaction managers to its knees. This means you wouldn’t ask your application server and/or database to keep track of and maintaining transactions (aka ACID) for some business-transaction lasting several hours or days.

So, very good messaging systems can handle this - true. But, you’ll seriously sacrifice BPMN modelling concepts - which are now mainstream. And, this is a very serious deal…, without a representative model reflecting these long-running transaction/object instances, all their hooks, dependencies, context, and relationships, becomes a mystery. Just thinking in terms of stacking up a set of inter-dependent MQ banking/transfer contexts - how would you do this in a reasonably informative visualization w/o the aid of a BPM-engine and associated instance reporting?

see: Bernstein, Philip A., and Eric Newcomer. Principles of transaction processing. Morgan Kaufmann, 2009.

BPMN models vs UML or Visio (informal) activity diagrams?
BPMN gives you more notation features. You could use Visio (etc). But a visio-model diagram doesn’t provide the ability to magically visualize process instances (i.e. in-flight process).

Operations: Configuration Management and Life-cycle -
This is the “oh-darn” situation when you realize your production systems require an upgrade or patch. Camunda provides both methods and approach for managing this situation.

Built-in Documentation Management
Thinking of your process/case models - fully illustrated and annotated. These diagrams provide user-self-training opportunities. For example, answering the question “how do I do this business task?” Well, refer to the process-portal and browse through available model types (aka business functions).

Reporting
Who loves to write reports from scratch? I prefer to get these off-the-shelf and with pre-existing hooks into business-task and process state.

Above is to name a few… I can go on if this sparks an interest.

1 Like