Skip to Content
AppTemplateBeispielprozess

Beispielprozess: Greeting

Der BPMN-Prozess SampleWithAppSDK_Process demonstriert den vollständigen Ablauf einer AppSDK-Anwendung: Benutzereingabe, serverseitige Verarbeitung und Ergebnisanzeige.

Prozessablauf

Start → UserTask (Eingabe) → External Task (Verarbeitung) → UserTask (Ergebnis) → Ende

Detaillierter Durchlauf

Schritt für Schritt

1. Prozess starten

Der Benutzer klickt “Prozess starten” — die Server Action startet eine neue Prozessinstanz:

await engine().processModels.startProcessInstance({ processModelId: 'SampleWithAppSDK_Process', startEventId: 'StartEvent_1', initialToken: {}, });

2. UserTask: Begrüßung eingeben

Die Engine erstellt einen UserTask. Das Frontend erkennt ihn per Polling (alle 3 Sekunden) und zeigt eine Task-Karte an. Der Benutzer klickt auf den Task und sieht ein Formular mit dem Feld greeting.

Nach Eingabe und Klick auf “Abschließen”:

await engine().userTasks.finishUserTask(flowNodeInstanceId, { greeting: 'Hallo ProcessCube!' });

3. External Task: Verarbeitung

Die Engine erstellt einen External Task mit Topic appsdk_greeting. Der automatisch registrierte Worker verarbeitet ihn:

app/appsdk_greeting/external_task.ts
export default async function handleExternalTask(payload: any) { const greeting = payload?.greeting || 'Hallo'; return { greeting_back: `Antwort auf "${greeting}": Schoen, von dir zu hoeren!` }; }

4. UserTask: Ergebnis anzeigen

Die Engine erstellt einen zweiten UserTask mit dem Ergebnis. Das Feld greeting_back ist vorausgefüllt. Der Benutzer sieht die Antwort und schließt den Task ab.

5. Prozess beendet

Nach dem zweiten UserTask erreicht der Prozess das End Event.

BPMN-Elemente

ElementIDBeschreibung
Start EventStartEvent_1Prozess-Einstieg
UserTask 1Begrüßung eingeben (Feld: greeting)
Service TaskExternal Task (Topic: appsdk_greeting)
UserTask 2Ergebnis anzeigen (Feld: greeting_back)
End EventProzess-Ende

Nächste Schritte