Skip to Content
DocsClientsTypeScriptGetting Started

Getting Started

Der TypeScript Client ermöglicht die Verbindung zu einer ProcessCube® Engine aus Node.js oder Browser-Anwendungen. Diese Seite zeigt, wie Sie einen Client erstellen und konfigurieren.

Client erstellen

Der einfachste Weg, einen Client zu erstellen, ist die Angabe der Engine-URL:

import { Client } from '@processcube/client'; // Die URL der Engine, zu der verbunden werden soll const engineUrl = 'http://localhost:8000'; console.log(`Erstelle einen neuen Client und verbinde zur Engine unter ${engineUrl}`); const client = new Client(engineUrl); console.log('Fertig!');

Für lokale Entwicklung ohne Authentifizierung reicht die Engine-URL aus. Für produktive Umgebungen sollten Sie immer Authentifizierung verwenden.

Client mit Authentifizierung erstellen

Für produktive Umgebungen oder wenn die Engine mit ProcessCube® Authority geschützt ist, verwenden Sie den Client-Credentials-Flow:

import { Client } from '@processcube/client'; // Die URL der Engine, zu der verbunden werden soll const engineUrl = 'http://localhost:8000'; // Der Client verwendet den Client-Credentials-Flow zur Authentifizierung // Dazu muss eine Client-Konfiguration in der Authority hinzugefügt werden const clientCredentialsConfig = { clientId: 'engine_client', clientSecret: 'mySecret', authorityUrl: 'http://localhost:11235', }; console.log( `Erstelle einen neuen Client und verbinde zur Engine unter ${engineUrl} mit Credentials` ); const client = new Client(engineUrl, clientCredentialsConfig); console.log('Fertig!');

Speichern Sie Client-Secrets niemals im Code! Verwenden Sie Umgebungsvariablen oder ein Secret-Management-System.

Konfigurationsoptionen

Client Credentials

Bei Verwendung der Client-Credentials-Authentifizierung können folgende Optionen konfiguriert werden:

OptionTypBeschreibung
clientIdstringDie Client-ID, registriert in der Authority
clientSecretstringDas Client-Secret für die Authentifizierung
authorityUrlstringDie URL der ProcessCube® Authority
scopestring(Optional) Die Scopes für den Access-Token

Standard-Scopes

Wenn Sie keinen scope angeben, werden folgende Standard-Scopes verwendet:

  • engine_read - Lesezugriff auf Engine-Ressourcen
  • engine_write - Schreibzugriff auf Engine-Ressourcen
  • engine_etw - Zugriff auf External Task Worker
  • engine_models_write - Berechtigung zum Deployen von Prozessmodellen
const clientCredentialsConfig = { clientId: 'my-client', clientSecret: 'mySecret', authorityUrl: 'http://localhost:11235', scope: 'engine_read engine_write engine_etw engine_models_write', }; const client = new Client(engineUrl, clientCredentialsConfig);

Best Practices

Umgebungsvariablen verwenden

Speichern Sie Credentials in Umgebungsvariablen:

import { Client } from '@processcube/client'; const client = new Client( process.env.ENGINE_URL || 'http://localhost:8000', { clientId: process.env.CLIENT_ID || '', clientSecret: process.env.CLIENT_SECRET || '', authorityUrl: process.env.AUTHORITY_URL || 'http://localhost:11235', } );

Client wiederverwenden

Erstellen Sie den Client einmal und verwenden Sie ihn in Ihrer gesamten Anwendung:

// client.ts import { Client } from '@processcube/client'; export const engineClient = new Client( process.env.ENGINE_URL || 'http://localhost:8000', { clientId: process.env.CLIENT_ID || '', clientSecret: process.env.CLIENT_SECRET || '', authorityUrl: process.env.AUTHORITY_URL || 'http://localhost:11235', } ); // In anderen Dateien importieren import { engineClient } from './client'; const processes = await engineClient.getProcesses();

Error Handling

Behandeln Sie Connection-Errors beim Client-Setup:

import { Client } from '@processcube/client'; try { const client = new Client(engineUrl, clientCredentialsConfig); // Teste die Verbindung const info = await client.getApplicationInfo(); console.log(`Verbunden zur Engine Version ${info.version}`); } catch (error) { console.error('Fehler beim Verbinden zur Engine:', error); process.exit(1); }

Nächste Schritte

Nachdem Sie einen Client erstellt haben, können Sie:

Weitere Ressourcen