Templates - Warum das Rad ständig neu erfinden?

Dieser Artikel gibt Aufschluss über die Vorteile von Templates (wiederverwendbare Software) und demonstriert diese anhand eines Anwendungsfalles aus der Praxis.

Welcher Entwickler kennt sie nicht? Beim „Zusammenzimmern“ von Vorlagen für automatisch generierte E-Mails, klassische Dokumente oder ganze Webseiten handelt es sich um einen „best practice“-Ansatz oder etwa nicht?  Obwohl nahezu klassisch anmutend, werden letztere (und andere!) Vorlagen nicht selten trotz erhöhtem Aufwand und Kosten „neu“ entwickelt. In anderen aus dem Volksmund stammenden Worten: Wir erfinden das Rad von Neuem.

Somit wird nicht nur vermehrt in Entwicklerkreisen der Wunsch nach Abhilfe laut. Die gibt es! Templates.
Templates sind Schablonen, welche Struktur und gegebenenfalls Teile des Inhaltes von Dokumenten vorgeben. Mir ist bewusst, das „Templates“ in Entwicklerkreisen bekannt sind! Trotzdem – und auch das ist nichts Neues -  wird in der Praxis aufgrund einer Vielzahl von Gründen selten Gebrauch von ihnen gemacht. Ein Unternehmen, das z. B. von verschiedenen Stellen in ihrer Software aus ähnlich aufgebaute E-Mails versenden muss, kann u. a.

  1. ein Template für diesen Zweck bauen oder ...
  2. dasselbe Problem immer und immer wieder lösen.

Aus der Verwendung von Templates resultieren somit u. a. folgende Vorteile:

  1. EINMALIGE Erstellung (+ Wartung, Erweiterungen)
  2. VIELFACHE Verwendung möglich
  3. Implementierungsdetails sind versteckt → Verwendung auch durch Nicht-Techniker

Wie kann nun z. B. ein Mail-Template aussehen? Ich will diese Frage am Beispiel eines Mail-Templates für die BPMN-Process Engine Camunda beantworten, weil der Versand von E-Mails in Geschäftsprozessen einen realen Anwendungsfall darstellt. Camunda ist eine mögliche Lösung für die Erstellung BPMN 2.0 konformer Geschäftsprozesse. Diese, hier Element-Templates genannten Templates, werden in Form von JSON-Dateien deklariert und definieren die Ein- und Ausgabeparameter der Vorlage. Eine E-Mail beispielsweise benötigt u. a. einen Empfänger und einen Inhalt. Interessant wäre möglicherweise auch ein Status (Mail gesendet Ja/Nein). Das könnte z. B. folgendermaßen aussehen:

Voilà. Das Mail-Template ist fertig! Dieses kann nun im Camunda-Modeler,  einem Programm zur visuellen Erstellung von BPMN 2.0 konformen Geschäftsprozessen des Unternehmens Camunda (siehe https://camunda.com/), verwendet werden. Dazu muss es in das Verzeichnis %APPDATA%/camunda-modeler/resources/element templates kopiert werden. Im Camunda-Modeler kann nun einem Prozessschritt vom Typ „SendTask“ unter „Element Templates“ unser Mail-Template „Mail Service“ zugewiesen werden. Die folgende Abbildung zeigt einen - zugegeben  minimalistischen - Geschäftsprozess und den Einsatz unseres Element-Templates:

 

Die Parameter können statisch (siehe obige Abbildung) oder dynamisch (JAVA-Implementierung) mit Werten initialisiert werden. Es wird hier bewusst, auf eine eigene Implementierung verzichtet, weil der Fokus dieses Artikels auf Templates liegt. Implementierungssdetails sind hier enthalten.

Aus dem Beispiel gehen die anfänglich beschriebenen Vorteile von Templates hervor. Sie müssen einmal erstellt und können in Folge zweckdienlich  wiederverwendet werden. Dies spart Zeit und Kosten in Entwicklung und Planung. Außerdem vereinheitlichen Templates den Aufbau von Dokumenten. Eine E-Mail benötigt u. a. immer einen Empfänger. Somit wird sichergestellt, dass die für ein Dokument relevanten Daten nicht vergessen werden können.

 

Literatur:

  1. https://www.aphorismen.de/suche?text=das+rad+neu+erfinden&autor_quelle=&thema=
  2. https://github.com/camunda/camunda-modeler/tree/master/docs/element-templates
  3. http://www.omg.org/spec/BPMN/2.0/PDF/
  4. https://camunda.com/de/bpm/features/
  5. https://camunda.com/
BSc. Christopher Kerth
Erstellt: 2016-11-30
von: BSc.  Christopher Kerth
Stichworte: 

Camunda, Workflow Management, wiederverwendbare Software