Skip to Content
DocsClientsClient Libraries

Client Libraries

Die ProcessCube® Platform bietet offizielle Client Libraries für die wichtigsten Programmiersprachen. Diese Libraries vereinfachen die Integration mit der ProcessCube® Engine und bieten typsichere APIs für alle Engine-Funktionen.

Übersicht

Client Libraries ermöglichen es Ihnen:

  • Prozesse zu starten und zu verwalten - Starten, Stoppen und Überwachen von BPMN-Prozessen
  • User Tasks zu bearbeiten - Interaktion mit Benutzer-Aufgaben in Ihren Anwendungen
  • External Tasks zu implementieren - Anbindung externer Systeme über das External Task Pattern
  • Events zu senden und zu empfangen - Kommunikation mit laufenden Prozessen
  • Prozess-Instanzen abzufragen - Zugriff auf Prozess-Status und -Daten

Alle Client Libraries unterstützen die vollständige ProcessCube® Engine API und werden kontinuierlich weiterentwickelt.

Verfügbare Clients

TypeScript Client

Für Node.js und Browser-Anwendungen. Vollständig typisiert mit TypeScript.

Python Client

Für Python-Anwendungen. Mit Unterstützung für async/await und Type Hints.

.NET Client

Für .NET und C#-Anwendungen. Mit vollständiger .NET-Integration.

Java Client

Für Java-Anwendungen. Mit Maven/Gradle-Support.

Gemeinsame Features

Alle Client Libraries bieten folgende Kernfunktionen:

Prozess-Management

  • Prozesse deployen
  • Prozesse starten (mit und ohne Warten auf Ergebnis)
  • Prozess-Instanzen abfragen
  • Prozess-Instanzen beenden
  • Prozess-Instanzen neu starten

User Task Handling

  • User Tasks abfragen
  • User Tasks abschließen
  • User Task-Formulare verarbeiten
  • Benutzer-bezogene Tasks filtern

External Task Pattern

  • External Tasks abonnieren
  • External Task Worker implementieren
  • Fehlerbehandlung für External Tasks
  • Automatisches Polling und Heartbeat

Event Handling

  • Signale senden
  • Messages senden
  • Auf Prozess-Events reagieren
  • Notifications abonnieren

Authentifizierung

  • OAuth 2.0 / OpenID Connect
  • Integration mit ProcessCube® Authority
  • Token-Management
  • Identity Claims

Auswahl des richtigen Clients

TypeScript / JavaScript

Wählen Sie den TypeScript Client, wenn Sie:

  • Node.js Backend-Anwendungen entwickeln
  • Browser-basierte Anwendungen erstellen
  • React, Vue oder Angular verwenden
  • Vollständige TypeScript-Typisierung benötigen

Python

Wählen Sie den Python Client, wenn Sie:

  • Python-Backend-Anwendungen entwickeln
  • Data Science / Machine Learning integrieren
  • Scripting und Automatisierung benötigen
  • FastAPI oder Flask verwenden

.NET / C#

Wählen Sie den .NET Client, wenn Sie:

  • .NET Core oder .NET Framework verwenden
  • C#-Anwendungen entwickeln
  • Windows-Services erstellen
  • ASP.NET Core APIs entwickeln

Java

Wählen Sie den Java Client, wenn Sie:

  • Java-Anwendungen entwickeln
  • Spring Boot verwenden
  • Enterprise-Java-Umgebungen nutzen
  • Maven oder Gradle verwenden

Installation

Jeder Client kann über den jeweiligen Paket-Manager installiert werden:

  • TypeScript/JavaScript: npm install @processcube/client
  • Python: pip install processcube-client
  • .NET: dotnet add package ProcessCube.Client
  • Java: Maven/Gradle Dependency

Detaillierte Installationsanleitungen finden Sie auf den jeweiligen Client-Seiten.

Quick Start

Ein einfaches Beispiel zum Starten eines Prozesses:

TypeScript:

import { Client } from '@processcube/client'; const client = new Client('http://localhost:8000'); const result = await client.startProcess('MyProcess');

Python:

from processcube_client import Client client = Client('http://localhost:8000') result = client.start_process('MyProcess')

.NET:

var client = new ProcessCubeClient("http://localhost:8000"); var result = await client.StartProcessAsync("MyProcess");

Java:

ProcessCubeClient client = new ProcessCubeClient("http://localhost:8000"); ProcessInstance result = client.startProcess("MyProcess");

Weitere Beispiele und detaillierte Dokumentation finden Sie auf den jeweiligen Client-Seiten.

Support & Community

  • GitHub: Alle Clients sind Open Source auf GitHub 
  • Issues: Probleme und Feature-Requests können auf GitHub gemeldet werden
  • Updates: Regelmäßige Updates und neue Features

Weitere Ressourcen