TypeScript Client
TypeScript-Client zur Kommunikation mit der ProcessCube® Engine via REST und Socket.IO.
- Paketname:
@5minds/processcube_engine_client - Plattformen: Node.js, Browser
Installation
npm install @5minds/processcube_engine_clientSchnelleinstieg
import { EngineClient } from '@5minds/processcube_engine_client';
const client = new EngineClient('http://localhost:10560');
const processInstances = await client.processInstances.query({
correlationId: 'my-correlation-id',
});Architektur
Der Client ist modular aufgebaut. Der EngineClient buendelt spezialisierte Sub-Clients, die jeweils einen fachlichen Bereich der Engine abdecken. Die Kommunikation erfolgt ueber REST (HTTP) und Socket.IO (WebSocket).
EngineClient
Der EngineClient ist der zentrale Einstiegspunkt. Er erstellt alle Sub-Clients und verwaltet die Socket.IO-Verbindung.
import { EngineClient } from '@5minds/processcube_engine_client';
const client = new EngineClient('http://localhost:10560');
// Sub-Clients als Properties
client.processModels;
client.processInstances;
client.userTasks;
client.externalTasks;
client.manualTasks;
client.correlations;
client.events;
client.notification;
client.processDefinitions;
client.cronjobs;
client.flowNodeInstances;
client.dataObjectInstances;
client.applicationInfo;
client.untypedTasks;
// Aufraeumen
client.dispose();ClientFactory
Alternativ lassen sich einzelne Clients gezielt erstellen:
import { ClientFactory } from '@5minds/processcube_engine_client';
const engineUrl = 'http://localhost:10560';
const processInstanceClient = ClientFactory.createProcessInstanceClient(engineUrl);
const processInstances = await processInstanceClient.query({
correlationId: 'my-correlation-id',
});Factory-Methoden
| Methode | Beschreibung |
|---|---|
createProcessModelClient() | Prozessmodelle deployen, starten, abfragen |
createProcessInstanceClient() | Prozessinstanzen abfragen und verwalten |
createProcessDefinitionClient() | Prozessdefinitionen verwalten |
createUserTaskClient() | UserTasks abfragen und abschliessen |
createExternalTaskClient() | ExternalTasks abonnieren und verarbeiten |
createManualTaskClient() | ManualTasks abfragen und abschliessen |
createUntypedTaskClient() | Untypisierte Tasks verwalten |
createCorrelationClient() | Correlations abfragen |
createEventClient() | BPMN-Events senden und empfangen |
createNotificationClient() | Echtzeit-Benachrichtigungen |
createCronJobClient() | Cronjobs verwalten |
createFlowNodeInstanceClient() | FlowNode-Instanzen abfragen |
createDataObjectInstanceClient() | DataObjects abfragen |
createApplicationInfoClient() | Engine-Metadaten abfragen |
Alle verfuegbaren Clients
| Client | Property | Beschreibung |
|---|---|---|
ProcessModelClient | client.processModels | Prozessmodelle deployen, starten, abfragen |
ProcessInstanceClient | client.processInstances | Laufende und abgeschlossene Prozessinstanzen |
ProcessDefinitionClient | client.processDefinitions | Prozessdefinitionen (BPMN-XML) verwalten |
UserTaskClient | client.userTasks | UserTasks abfragen und abschliessen |
ExternalTaskClient | client.externalTasks | ExternalTasks abonnieren und verarbeiten |
ManualTaskClient | client.manualTasks | ManualTasks abfragen und abschliessen |
UntypedTaskClient | client.untypedTasks | Untypisierte Tasks verwalten |
CorrelationClient | client.correlations | Correlations abfragen |
EventClient | client.events | BPMN-Message/Signal-Events senden |
NotificationClient | client.notification | Echtzeit-Events ueber Socket.IO |
CronjobClient | client.cronjobs | Zeitgesteuerte Prozesse verwalten |
FlowNodeInstanceClient | client.flowNodeInstances | FlowNode-Instanzen abfragen |
DataObjectInstanceClient | client.dataObjectInstances | Prozess-Datenobjekte abfragen |
ApplicationInfoClient | client.applicationInfo | Engine-Version und Metadaten |
Weiterfuehrende Themen
- Getting Started — Installation und erste Schritte
- Prozess-Verwaltung — Prozesse deployen, starten und abfragen
- User Tasks — User Tasks abfragen und abschliessen
- External Tasks — Worker, Konfiguration, Fehlerbehandlung
- Event-Handling — Signals und Messages
- Notifications — Echtzeit-Events via Socket.IO
- Authentifizierung — Tokens, OAuth2, Client Credentials