Dev Portal

REST-API & Erweiterung

Automatisch generierte Endpunkte und eine Java-Regelengine für individuelle Geschäftslogik.

Nuclos stellt für jedes modellierte Businessobjekt eine einheitliche REST-Schnittstelle bereit. Individuelle Logik, die über Konfiguration hinausgeht, implementieren Sie als serverseitige Java-Regeln.

Die technische Referenz liegt im Nuclos-Wiki unter Entwicklung und Konfiguration.

REST-API

Basispfad /rest. CRUD über Businessobjekte, generiert aus dem Datenmodell.

  • Endpunkte entstehen automatisch aus dem Datenmodell, ohne manuelle Pflege.
  • Einheitliches Schema: GET, POST, PUT, DELETE für jedes modellierte Objekt.
  • Listen und Details über /rest/bos/{boMetaId} und /rest/bos/{boMetaId}/{boId}.
  • Unterformulare über /rest/bos/{boMetaId}/{boId}/subBos/{refAttrId}.
  • Authentifizierung über Session oder Token. Details und Parameter im Wiki.
GET /rest/bos/{boMetaId}/{boId}
Cookie: JSESSIONID=<session>

→ 200 OK
{
  "boId": "4711",
  "boMetaId": "example_rest_Order",
  "attributes": {
    "example_rest_Order_orderNumber": "A-10042",
    "example_rest_Order_customer": { "id": "200", "name": "Muster GmbH" }
  }
}

Externe REST-Services aus Regeln

OpenAPI-Spezifikation registrieren, Java-Client generieren, in Regeln aufrufen.

Unter Administration → REST-APIs registrieren Sie eine OpenAPI-Spezifikation. Nuclos erzeugt daraus Java-Client-Klassen im Verzeichnis /data/codegenerator/src-conf-rest/.

Über eine Adapter-Klasse (zum Beispiel NuclosRESTAdapter) initialisieren Sie den Endpunkt und rufen die generierten API-Methoden aus Regelcode auf.

Serverseitige Regelengine

Java-Regeln an Ereignisse binden: Anlegen, Ändern, Löschen, Statuswechsel, Benutzeraktion.

Wenn Geschäftslogik mit Low-Code-Mechanismen nicht abbildbar ist, implementieren Sie serverseitige Regeln als Java-Klassen. Jede Regel implementiert ein typisiertes Interface und wird im Server-Regelmanager per Drag-and-Drop einem Ereignis zugewiesen.

  1. Anlegen (InsertRule / InsertFinalRule)

    Beim Neuanlegen eines Datensatzes. Vor und nach dem Speichern steuerbar.

  2. Ändern (UpdateRule / UpdateFinalRule)

    Bei Änderungen an bestehenden Datensätzen, inklusive Validierung und Nachverarbeitung.

  3. Löschen (DeleteRule / DeleteFinalRule)

    Beim Löschen, etwa für abhängige Daten oder Freigabeprüfungen.

  4. Statuswechsel (StateChangeRule / StateChangeFinalRule)

    Beim Wechsel in einem Statusmodell, zum Beispiel von Offen nach Freigegeben.

  5. Benutzeraktion (CustomRule)

    Für explizit ausgelöste Aktionen am Businessobjekt.

Unterstützende Provider-Klassen

  • BusinessObjectProvider, QueryProvider, DatasourceProvider
  • MailProvider, FileProvider, ReportProvider, PrintoutProvider
  • GenerationProvider, ImportProvider, ParameterProvider, StatemodelProvider

Entwicklung in der IDE

Regelcode entwickeln Sie als Maven-Projekt. Nuclos stellt unter /data/codegenerator eine pom.xml bereit. Die generierten Business-Object-Klassen und die API unter api.nuclos.de stehen in der IDE zur Verfügung.

Schnittstellen und Eigenentwicklung besprechen?

Technische Fragen zu REST, Regeln oder Integration klären wir im Erstgespräch.