Datenmodell und Prozesslogik harmonisieren

Bild: ©Deemerwha studio/stock.adobe.com

Eine IT-Anwendung lässt sich in mindestens drei verschiedene Ebenen unterteilen: GUI, Logik-Ebene und Data Access Tier. Viele Entwickler fangen bei einer neuen Applikation mit dem Aufbau des Datenmodells an. Für kleine Productivity Tools, die nur innerhalb eines Teams genutzt werden, mag das funktionieren – für komplexere Geschäftsprozesse, die teamübergreifend oder unternehmensweit ablaufen, eher nicht. Hier geht es darum, umfangreiche Probleme zu lösen. Und dafür sollten Applikation und Digitalisierung ein Umfeld schaffen, das effizientes Arbeiten unterstützt. Orientierung bieten Best Practices, die – soweit möglich – flächendeckend umzusetzen sind.

Prozessorientiert entwickeln

Vor diesem Hintergrund empfiehlt sich eine prozessorientierte Entwicklung auf Grundlage folgender Fragen: Wer kann Requests erstellen? Was passiert damit, und wer überprüft sie? Welche Informationen werden benötigt? Welche Schritte folgen auf eine Genehmigung beziehungsweise auf eine Ablehnung? Und wie entsteht ein Prüfpfad? Anhand solcher Fragen lässt sich eine Workflow-Logik konzipieren. Sie gibt darüber Aufschluss, welche Art von Daten gesammelt und gepflegt werden müssen. Wenn der Entwickler den Workflow verstanden hat, ergibt sich das Datenmodell ganz natürlich daraus. Dieses Vorgehen hilft dabei, die Zuweisung und Abfolge von Aufgaben korrekt und effizient zu digitalisieren.

Abhängigkeiten in der Prozesslogik vermeiden

Ein häufiger Fehler bei der Entwicklung einer Prozesslogik besteht darin, Reaktionen zu verketten. Dann kann die Applikation im ungünstigen Fall nicht mit unerwarteten Ereignissen umgehen. Fast alles kann eine Zeitüberschreitung verursachen. Unerfüllte Annahmen oder die versehentlich rekursive Auslösung eines Events führen beispielsweise zu Fehlermeldungen. Auch ein Arbeitsablauf, der auf eine Änderung von Daten reagiert, kann eine endlose Rekursion zur Folge haben. Ebenso besteht das Risiko, dass die Abhängigkeit von einem Web-Dienst, der offline ist, ein unvorhersehbares Verhalten verursacht. Möglicherweise müssen die Daten zuerst bereinigt oder zurückgesetzt werden, bevor sich eine Komponente wieder ausführen lässt.

Schutzschirm für die Logik

Eine proaktive Prozesslogik kann solche Probleme vermeiden helfen. Bevor sie fortfährt, überprüft sie die Gültigkeit einer Annahme. Außerdem setzt sie alles auf einen bekannten Zustand zurück und ermöglicht die Überwachung sowie Erstellung von Metriken. Zusätzlich schirmt sich die Prozesslogik gegen unerwartete externe Ereignisse ab. Dies lässt sich meist am einfachsten durch die Verwendung einer FSM (Finite State Machine) erreichen. Alternativ ist auch eine Lösung aus mehreren Workflows möglich. Hierbei sollte einer der Arbeitsabläufe als sogenannter Dirigent die Sub-Workflows ausführen. Er kann auch Annahmen prüfen, Eingaben validieren und sogar andere Sub-Workflows aufrufen, wenn die Annahmen nicht erfüllt sind. Allerdings müssen hier sämtliche Abläufe korrekt arbeiten, Statuskennzeichen setzen und Informationen protokollieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert