Versionen im Vergleich

Schlüssel

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

Allgemein

Mit der Einführung der API-basierten Regeln verändert sich die Regelprogrammierung insofern, dass der Zugriff auf Nuclos-Funktionalitäten ausschließlich über die Interfaces der Nuclos-API stattfindet. Im Gegensatz zum umfassenden RuleInterface werden die Zugriffe nun den Typen gemäß unterschieden und selektiv zur Verfügung gestellt. Die Regelprogrammierung wird dadurch übersichtlicher, einfacher und sicherer, ohne dass eine Einschränkung an Möglichkeiten stattfindet.

Die Nuclos API ermöglicht die Erstellung von (java-basierenden) Geschäftsregeln (Menüpunkt "Server-Regeln (api-basiert)"), 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.)

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.

Regelmanager

Der Regelmanager ist das zentrale Werkzeug in Nuclos, um die Zuordnung zwischen Geschäftsregeln und Ereignissen zu verwalten.

Anwendungsspezifische Objekte

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

  • Businessobjekte (org.nuclos.api.businessobject). Businessobjekte repräsentieren die konfigurierten Entitäten jedes Nuclets. Für jede Entität wird ein repräsentierendes Businessobjekt erzeugt, das entsprechender getter- und setter-Methoden für sämtliche Attribute der Entität bereitstellt.
  • Statusmodelle (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 (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 (in Entwicklung)
  • Formulare (in Entwicklung)

Werden Entitäten, 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.

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.

  • QueryProviderDer QueryProvider bietet diverse Methoden, um nach Businessobjekten zu suchen.
  • BusinessObjectProvider. Der BusinessObjectProvider bietet diverse Methoden, um Businessobjekte anzulegen, zu modifizieren und zu löschen.
  • StatemodelProvider. Der QueryProvider bietet diverse Methoden, um Prozesse zu automatisieren bzw. Statuswechsel durchzuführen.
  • DataSourceProvider. Der DataSourceProvider bietet diverse Methoden, um Datenquellen abzufragen bzw. auszuführen, um die Ergebnisse weiter zu verarbeiten.

...