Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Auszug

...

hidden

...

Definition

Menüaufruf: (Konfiguration) - (Regelwerke) - (Regeln (serverseitig)) 

Die Nuclos API ermöglicht die Erstellung von (java-basierenden) Geschäftsregeln, die lesend und schreibend bei bestimmten Ereignissen auf Inhalte in Nuclos zugreifen können. Dazu bietet die Nuclos API verschiedene Klassen und Objekte an, um mit Nuclos zu interagieren.

Info

Die vollständige Dokumentation der Nuclos API findet sich unter http://api.nuclos.de/

Ereignisse

Ereignisse (Ereignisse Event Regeln), an die Geschäftsregeln geknüpft werden können, sind:

true

Nuclos serverseitige Regeln: Event-Regeln (Insert, Update, Delete, Statuswechsel, Job), Regeleditor, Provider, Regelkontext, BigDecimal, Endlosschleifen vermeiden.

globe with meridians Sprache: Deutsch · English

open book Regeln (serverseitig)

Java-Geschäftsregeln auf dem Server: an Ereignisse geknüpft, mit Zugriff auf Businessobjekte, Provider und die volle Nuclos-API.

Status
colourGrey
titleReferenz
Status
colourBlue
titleEntwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel2

Was sind serverseitige Regeln?

Die Nuclos-API ermöglicht Java-basierte Geschäftsregeln, die bei bestimmten Ereignissen lesend und schreibend auf Inhalte zugreifen. Reichen die übrigen Low-Code-Mittel nicht aus, setzt du hier komplexe Validierungen, Berechnungen, Webservice-Aufrufe oder automatische Datenänderungen um.

Info
titleAPI

Die vollständige API ist unter api.nuclos.de dokumentiert.

Menüaufruf: Konfiguration → Regelwerke → Regeln (serverseitig)

Ereignisse

EreignisRegel-Interface(s)Beispiel
NeuanlageInsertRule, InsertFinalRuleneuer Datensatz (z. B. Rechnung)
ÄnderungUpdateRule, UpdateFinalRulebestehender Datensatz (z. B. Auftrag)
LöschenDeleteRule, DeleteFinalRulebestehender Datensatz
StatuswechselStateChangeRule, StateChangeFinalRulez. B. Offen → Mahnung
ObjektgeneratorGenerateRule, GenerateFinalRulez. B. Lieferschein aus Auftrag
SchaltflächeCustomRuleBenutzeraktion im Layout
JobJobRulezeitgesteuert, wiederkehrend

...

Regeleditor

Der Regeleditor ist das zentrale Werkzeug

...

Info

Um voneinander abhängige Regeln, die nicht kompilierbar sind, korrigieren zu können, steht der Schalter "Automatische Kompilierung" (in der Toolbar des Regeleditors) zur Verfügung. Darüber lässt sich die automatische Kompilierung beim Speichern vorübergehend deaktivieren. Sobald man sie dort wieder aktiviert, wird beim nächsten Speichern wieder alles durchkompiliert.

Achtung: Solange Regeln nicht kompiliert sind, sind sie im Regelmanager (siehe folgender Abschnitt) auch nicht sichtbar.

zum Bearbeiten von Regeln. Für komfortable Entwicklung/Debugging gibt es zusätzlich die IntelliJ-Anbindung.

Hinweis
titleAutomatische Kompilierung

Über den Schalter Automatische Kompilierung lässt sich das Kompilieren beim Speichern vorübergehend abschalten (nützlich bei voneinander abhängigen, noch nicht kompilierbaren Regeln). Achtung: Nicht kompilierte Regeln sind im Regelmanager nicht sichtbar.

Image Added

Schalter „Automatische Kompilierung“ im Regeleditor.

Anwendungsspezifische Objekte

Nuclos generiert automatisch repräsentierende Objekte für Businessobjekte, Statusmodelle, Datenquellen und Reports (mit Gettern/Settern). Ändern sich diese Metadaten, lassen sich abhängige Regeln nicht mehr kompilieren – ein direkter Hinweis auf anzupassende Stellen.

Image Removed

Regelmanager

Der Server Regelmanager (Menüaufruf: (Konfiguration) - (Server Regelmanager)) ist das zentrale Werkzeug in Nuclos, um die Zuordnung zwischen Geschäftsregeln und Ereignissen zu verwalten. Die Zuweisung von Geschäftsregeln aus der Regelbibliothek (linker Baum) zu den Ereignissen (rechter Baum) geschieht mittels Drag&Drop.

 Anwendungsspezifische Objekte

Nuclos kümmert sich automatisch um die Generierung aller nötigen anwendungsspezifischen Objekte. Dazu zählen

  • Businessobjekte (https://api.nuclos.de/org/nuclos/api/businessobject/). Businessobjekte repräsentieren die konfigurierten Businessobjekt jedes Nuclets. Für jedes Businessobjekt wird ein repräsentierendes Businessobjekt erzeugt, das entsprechende getter- und setter-Methoden für sämtliche Attribute des Businessobjekts bereitstellt.
  • Statusmodelle (https://api.nuclos.de/org/nuclos/api/statemodel/). Statusmodelle repräsentieren die konfigurierten Prozesse jedes Nuclets. Für jeden Prozess (Statusmodell) wird ein repräsentierendes Objekt erzeugt, dass den Geschäftsregeln einen erleichterten Zugriff auf die Statusnamen und -numerale bietet.
  • Datenquellen (https://api.nuclos.de/org/nuclos/api/datasource/). Datenquellen repräsentieren die konfigurierten Datenquellen jedes Nuclets. Für jede Datenquelle wird ein repräsentierendes Objekt erzeugt, dass den Geschäftsregeln einen erleichterten Zugriff auf die Datenquelleninhalte bietet.
  • Reports (https://api.nuclos.de/org/nuclos/api/report/)
  • usw..

Werden Businessobjekte, Statusmodelle, Datenquellen, Reports und Formulare geändert, sind die Regeln, die diese anwendungsspezifischen Objekte verwenden, nicht mehr kompilierbar. Das hilft bei der unmittelbaren Erkennung der in Geschäftsregeln ggf. anzupassenden Stellen, die vorübergehend nicht mehr zu den geänderten anwendungsspezifischen Objekten passen.

...

Tipp
titleBigDecimal

Kommazahl-Attribute werden als

java.math.BigDecimal abgebildet.

...

Zwei zeitsparende Hinweise zu BigDecimal:

...

Nutze BigDecimal.valueOf(double)

...

statt new BigDecimal

...

(

...

double) und bei Division stets .divide(BigDecimal, RoundingMode)

...

.

...

Unterstützende Klassen (Provider)

Provider (https://api.nuclos.de/org/nuclos/api/provider/) bieten unterstützende Funktionen, um Inhalte in Nuclos über Geschäftsregeln zu verändern. Aktuell sind folgende Provider implementiert.

Regelausführung und Unterformulare

Die Regelausführung bei Änderung von BOs in Unterformularen bedarf derzeit noch der Systematisierung in Nuclos.

Derzeitigs Verhalten ist wie folgt:

  • Bei Neuanlage (InsertRule, InsertFinalRule) nur bei Objekten mit Statusmodell
  • Bei Änderung (UpdateRule, UpdateFinalRule) keine Regelausführung
  • Beim Löschen (DeleteRule, DeleteFinalRule) nur bei Objekten mit Statusmodell

Ändern, Hinzufügen und Löschen von Businessobjekten im Regelkontext

Provider (unterstützende Klassen)

Provider bieten Funktionen, um Inhalte aus Regeln heraus zu verändern: QueryProvider, StatemodelProvider, GenerationProvider, DatasourceProvider, BusinessObjectProvider, MailProvider, PrintoutProvider, ReportProvider, FileProvider.

Regeln, Unterformulare und der Regelkontext

  • In Regeln vor dem Ereignis (Insert/Update/StateChange/Generate

...

  • ) werden Änderungen am Kontextobjekt über Attribut-Setter automatisch übernommen

...

  • ; delete()

...

  • auf abhängige Objekte gilt

...

  • als Änderung

...

  • .
  • In

...

  • Final-Regeln (im Anschluss) ist zum Ändern anderer Objekte ein explizites save() nötig – das löst deren Update-/UpdateFinal-Regeln aus.

...

Warnung
titleEndlosschleifen

Ein save() auf das Kontextobjekt in einer UpdateFinalRule kann eine Endlosschleife auslösen – ggf. Regelausführung selektiv ausschalten oder SaveFlags verwenden.

Verwandte Seiten

open book Regelwerke


Übersicht.

Öffnen →

gear Server Regelmanager


Regeln zuweisen.

Öffnen →

clipboard Ausführungsreihenfolge der Regeln


Reihenfolge je Aktion.

Öffnen →

, wenn es keine andere Mögllichkeit gibt empfiehlt es sich die Regelausführung selektiv auszuschaltenDas Einfügen von neu angelegten Businessobjekten über insert() ist in jedem Regelkontext möglich