Design Patterns vs. Blueprints im BPMN-Kontext

by Christian Mächler

25. Juni 2024 3 Minuten
Design Patterns vs Blueprints

Fast zeitgleich mit der Veröffentlichung unseres Beitrags zur Vermeidung typischer Fehler in Prozessmodellen durch Design Patterns lancierte Camunda Process Blueprints auf ihrem Marketplace. Wir wurden auch prompt angefragt, ob wir diese Design Patterns auf dem Marktplatz zur Verfügung stellen könnten. Während den Vorbereitungen dazu stellten wir fest, dass wir mit den Design Patterns nicht ganz das gleiche Ziel verfolgen, wie Camunda mit den Blueprints. Die interessante Diskussion mit Camunda über die Unterschiede zwischen Design Patterns und Blueprints verleiteten mich schliesslich zu diesem Artikel. Unsere Design Patterns wurden dann mit der Unterstützung von Camunda in Blueprints umgewandelt und publiziert.

Allgemeine Definitionen

Was bedeuten die beiden Begriffe im Software-Engineering-Kontext? Die Recherchen zu «Blueprint» ergaben keine etablierte Definition. Es ist jeweils lediglich von einem Plan oder Entwurf die Rede, egal ob auf Deutsch oder Englisch. Die Definition von «Design Pattern» ist etwas spezifischer (übersetzt aus dem empfehlenswerten englischen Wikipedia-Artikel):

Ein Design Pattern (Entwurfsmuster) beschreibt einen relativ kleinen, genau definierten Aspekt (eine Funktionalität) eines Computerprogramms in Bezug auf die Art und Weise, wie der Code zu schreiben ist.

Im Folgenden die aus der Recherche und dem Austausch mit Camunda abgeleiteten Definitionen im BPMN-Kontext.

Blueprint

Blueprints sind wiederverwendbare BPMN-Prozesse. Dies können entweder

  1. vorgefertigte Lösungen sein (z. B. ein Reservationsprozess) oder
  2. Sub-Prozesse, welche von anderen Prozessen aufgerufen werden (z. B. ein Genehmigungsprozess).

Optimalerweise wird der Blueprint nur über Variablen gesteuert, sodass bei dessen Verwendung keine Anpassung notwendig ist.

Design Pattern

Ein Design Pattern zeigt auf, wie ein bestimmtes Modellierungsproblem zuverlässig gelöst werden kann. Es ist ein (möglichst) unabhängiges Lösungskonzept. Diese Unabhängigkeit erlaubt es, verschiedene Design Patterns beliebig miteinander zu kombinieren. Beispiele dafür wären

  1. Lösungen zu spezifischen Problemen, wie das Updatable Timer Pattern, welches beschreibt, wie Timer in Prozessen modifizierbar gemacht werden können oder
  2. Lösungen zu konzeptionellen Herausforderungen, z. B. Methoden zur Zerlegung eines Prozesses in übersichtliche Einheiten.

Unterschiede zwischen Design Patterns und Blueprints

Der Hauptunterschied besteht im konkreten BPMN-Prozess und allem, was damit verbunden ist. Blueprints beinhalten immer einen BPMN-Prozess und können theoretisch als Blackboxes verwendet werden (man muss nur die Inputs und Outputs verstehen, aber nicht den Prozess an sich). Design Patterns hingegen bewegen sich auf konzeptioneller Ebene, haben keinen BPMN-Prozess (wird höchstens zur Erklärung verwendet) und ohne klares Verständnis sind sie nutzlos. Die Art der Verwendung eines Design Patterns ist gleich bei allen Prozessen, jedoch die Umsetzung bzw. der resultierende Prozess kann jedes Mal anders aussehen.

Blueprints können Design Patterns beinhalten, aber Design Patterns können keine Blueprints beinhalten.

Schlusswort

Egal, ob Blueprint oder Design Pattern, das wichtigste ist zu verstehen, in welchem Kontext sie verwendet werden.

Ansonsten kann ein Design Pattern schnell zum «Anti Pattern» (Gegenteil) degradieren.

Verwandte Beiträge


Design Patterns

Vermeidung typischer Fehler in Prozessmodellen durch Design Patterns

15. April 2024

Lernen Sie, wie Sie komplexe Prozesse mit Design Patterns in übersichtliche Komponenten zerlegen und optimieren.

Mehr
7 Schritte zur Prozessautomatisierung

7 Schritte zu einer erfolgreichen Prozess­automatisierung

BPM
02. Juni 2023

Die Prozessautomation zielt darauf ab, Geschäftsprozesse automatisch auszuführen, um eine Steigerung der Effizienz, Produktivität und Qualität zu erzielen. Wir haben für Sie einen Leitfaden zusammengestellt, der sieben wesentliche Schritte für eine erfolgreiche Prozessautomation umfasst.

Mehr
Workflow

Wie Prozess­automatisierung einen signifikanten Unterschied in Ihrem Unternehmen machen kann

BPM
21. April 2023

Es gibt zahlreiche Vorteile, die Prozessautomatisierung Ihrem Unternehmen bringen kann. Durch sie wird der Arbeitsprozess vereinfacht, die Kosten werden optimiert und die Ergebnisse werden zuverlässiger und zufriedenstellender. In diesem Beitrag werden Ihnen die positiven Auswirkungen der Prozessautomatisierung auf Ihr Unternehmen aufgezeigt.

Mehr