Vermeidung typischer Fehler in Prozessmodellen durch Design Patterns
Lernen Sie, wie Sie komplexe Prozesse mit Design Patterns in übersichtliche Komponenten zerlegen und optimieren.
Mehrby Christian Mächler
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.
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.
Blueprints sind wiederverwendbare BPMN-Prozesse. Dies können entweder
Optimalerweise wird der Blueprint nur über Variablen gesteuert, sodass bei dessen Verwendung keine Anpassung notwendig ist.
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
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.
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.
Lernen Sie, wie Sie komplexe Prozesse mit Design Patterns in übersichtliche Komponenten zerlegen und optimieren.
MehrDie 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.
MehrEs 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