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.
-
Anlegen (InsertRule / InsertFinalRule)
Beim Neuanlegen eines Datensatzes. Vor und nach dem Speichern steuerbar.
-
Ändern (UpdateRule / UpdateFinalRule)
Bei Änderungen an bestehenden Datensätzen, inklusive Validierung und Nachverarbeitung.
-
Löschen (DeleteRule / DeleteFinalRule)
Beim Löschen, etwa für abhängige Daten oder Freigabeprüfungen.
-
Statuswechsel (StateChangeRule / StateChangeFinalRule)
Beim Wechsel in einem Statusmodell, zum Beispiel von Offen nach Freigegeben.
-
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.
Weitere Themen im Dev Portal
Technische Einstiege für Architektur, Integration und Betrieb.
Schnittstellen und Eigenentwicklung besprechen?
Technische Fragen zu REST, Regeln oder Integration klären wir im Erstgespräch.