Versionen im Vergleich

Schlüssel

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

Allgemein

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 (org.nuclos.api.rule), an die Geschäftsregeln geknüpft werden können, sind:

  • Die Neuanlage (InsertRule, InsertFinalRule) eines neuen Datensatzes (z.B. einer Rechnung, etc.)
  • Die Änderung (UpdateRule, UpdateFinalRule) eines existierenden Datensatzes (z.B. eines Auftrages, etc.)
  • Das Löschen (DeleteRule, DeleteFinalRule) eines existierenden Datensatzes (z.B. eines nicht mehr benötigten Adressdatensatzes, etc.)
  • Der Statuswechsel (StateChangeRule, StateChangeFinaleRule) in einem existierenden Datensatz (z.B. die Überführung einer Rechnung von "Offen" nach "Mahnung", etc.)
  • Die Durchführung eines Arbeitsschrittes (GenerateRule, GenerateFinalRule) (z.B. die Erstellung eines Lieferscheines aus einem Auftrag, etc.)
  • Das Betätigen einer Schaltfläche (CustomRule) durch den User (z.B. um bestimmte Aktionen auszulösen, etc.)
  • Automatische Jobs (JobRule), die regelmässig ausgeführt werden können (z.B. die nächtliche Aktualisierung eines Onlineshops, etc.)

Regeleditor

Der Regeleditor (Menüpunkt "Server-Regeln (api-basiert)") ist das zentrale Werkzeug in Nuclos, um Regeln zu bearbeiten. Aktuell befindet sich ergänzend ein Eclipse-Plugin für die erleichterte Entwicklung und das erleichterte Debugging von Regel in Entwicklung.

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.

Regelmanager

Der Regelmanager (Menüpunkt "Regel Management") 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.

Ereigniskontexte

Jedes Ereignis stellt den Regel, die diesem Ereignis zugewiesen werden, einen gewissen Ausführungskontext (org.nuclos.api.context) zur Verfügung. Diese Kontexte stellen den auszuführenden Regeln die für den jeweiligen Kontext relevanten Inhalte bereit, z.B. das gerade geänderte Objekt beim Ereignis Ändern oder das Quell- und das Zielobjekt beim Ereignis Arbeitsschritt.

Anwendungsspezifische Objekte

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

...

Info

Attribute vom Datentyp "Kommazahl" werden in Businessobjekten grundsätzlich über java.math.BigDecimal abgebildet. Mehr Informationen zu BigDecimal siehe http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html.

Zwei zeitsparende Hinweise zu BigDecimal:

  • Statt BigDecimal(double) immer BigDecimal.valueOf(Double) oder BigDecimal(String) verwenden.
  • Bei Divisionen immer .divide(BigDecimal, RoundingMode) statt .divide(BigDecimal) verwenden, um eine ArithmeticException zu vermeiden.

Unterstützende Provider

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

...