Der Ausgangspunkt.
Die Archivierungsarbeit folgte einem Prozess. Trotzdem brauchten die Mitarbeitenden einen praktischen Weg, um die darin bewegten Dinge zu verwalten: Sitzungen, Pakete und den wechselnden Workflow-Status.
Die Funktion musste in einer grösseren Enterprise-Plattform leben. Sie durfte kein separates Produkt mit eigenen Regeln werden, sondern brauchte eine fokussierte Grenze, die zum umgebenden System passte.
Was das Design lösen musste.
Die nützliche Grenze lag zwischen Prozessstatus und Benutzeraktion:
- Eine Sitzung und ihre Pakete mussten während des Prozessfortschritts verständlich bleiben.
- Benutzeraktionen mussten sauber auf gültige Prozessübergänge abgebildet werden.
- Backend-Regeln und Frontend-Status durften nicht auseinanderlaufen.
- Die Funktion musste sich integrieren, ohne ihre Logik über die Host-Plattform zu verteilen.
Die Diagnose.
Camunda konnte den Prozess koordinieren, aber Orchestrierung allein war noch keine brauchbare Arbeitsoberfläche. Es fehlte eine zusammenhängende Anwendungsgrenze um den Workflow.
Ich trennte die Verantwortlichkeiten: Der Spring-Dienst besitzt die anwendungsnahen Regeln und die Prozessintegration. Das React-Microfrontend zeigt den aktuellen Status und die daraus gültigen Aktionen.
Der resultierende Anwendungsausschnitt.
Das Microfrontend bietet eine fokussierte Oberfläche. Der Spring-Dienst übersetzt Anwendungsaktionen in Workflow-Operationen, während Camunda den Prozess für Sitzungen und Pakete koordiniert.
Entscheidungen, die zählten.
Das Design bleibt nützlich, weil jede Verantwortung einen klaren Ort hat.
Den Workflow hinter einen Dienst stellen
Der React-Client spricht mit einer fokussierten Spring-API, statt Prozessmechanik im Browser abzubilden.
Der Dienst ist eine zusätzliche Grenze, verhindert aber, dass Workflow-Details in jede Ansicht durchsickern.
Status vor Aktion sichtbar machen
Die Oberfläche stellt aktuelle Sitzung, Pakete und Prozessstatus ins Zentrum. So ist vor dem nächsten Schritt klar, was gerade geschieht.
Die UI muss auch nicht verfügbare und laufende Zustände ehrlich darstellen, nicht nur den Idealfall.
Den Funktionsumfang eng halten
Ein Microfrontend kapselt die Archivierungsoberfläche und lässt sie zugleich in die grössere Plattform passen.
Diese Eigenständigkeit hängt von einem klaren Integrationsvertrag mit der Host-Anwendung ab.
Delivery und Prüfung.
Die Funktion lässt sich entlang desselben Wegs prüfen, den ein Benutzer nimmt: Sitzung öffnen oder erstellen, Pakete ansehen, eine erlaubte Aktion ausführen und den konsistenten Workflow-Status in der Oberfläche bestätigen.
Die wichtigen Fehlerfälle liegen an den Grenzen. Der Dienst muss ungültige Übergänge ablehnen, die UI unvollständige oder laufende Zustände ehrlich zeigen, und die Prozessintegration muss die Quelle des Workflow-Status bleiben.
Das qualitative Ergebnis.
Der Anwendungsausschnitt deckt Sitzungsverwaltung, Paketverarbeitung und Workflow-Steuerung von der Oberfläche bis zum Camunda-Prozess ab.
Mitarbeitende haben einen Ort, an dem sie die Arbeit verstehen und voranbringen können. Die grössere Plattform erhält eine gekapselte Funktion statt verteilter Archivierungslogik.