Lösungsbausteine

    Adaptive Korrelation-Engine (ACE)

    Die Adaptive Korrelation-Engine ist der zentrale Mechanismus der omniSuite für die dynamische Steuerung von Werten, Verweisen und Zuständen über Objektgrenzen hinweg. Sie sorgt dafür, dass Änderungen an einem Datenpunkt automatisch alle abhängigen Strukturen aktualisieren, regelbasiert, nachvollziehbar und ohne manuelle Programmierung einzelner Kaskaden.

    01 / 02

    Business-Perspektive

    01.01

    Welches Geschäftsproblem löst die ACE?

    Genehmigungen hängen, weil niemand weiß, ob alle Prüfschritte abgeschlossen sind. Lieferantendaten fehlen an einer Stelle, obwohl sie an anderer Stelle längst vorliegen. Schwellenwerte werden überschritten, ohne dass jemand es bemerkt. Solche Abhängigkeiten zwischen Datenpunkten stecken in klassischen Systemen in individuellem Code, der mit der Zeit undurchschaubar wird.

    Die ACE macht diese Abhängigkeiten explizit, konfigurierbar und systemweit durchsetzbar. Statt bei jeder Änderung Wochen auf IT-Umsetzung zu warten, passen Sie Regeln in Stunden an.

    01.02

    Warum ist die ACE kein Workflow-Tool?

    Wer starre Abläufe kennt (Schritt A, dann B, dann C), kennt auch das Problem: Jede Ausnahme sprengt den Prozess. Teams improvisieren mit Workarounds, Sonderfälle landen in Excel, und die IT baut einen neuen Ablaufzweig nach dem anderen.

    Die ACE denkt nicht in Ablaufschritten, sondern in Datenabhängigkeiten: Wenn sich Wert X ändert, welche Auswirkungen hat das auf Objekt Y und Zustand Z? Statt einen Ablauf vorzuzeichnen, definiert die ACE Regeln. Der korrekte Ablauf ergibt sich aus den Daten. Neue Geschäftsregeln erfordern deshalb keine Prozessumstellung, sondern eine Regelanpassung.

    01.03

    Wie reduziert die ACE das Risiko von Inkonsistenzen?

    Inkonsistente Daten sind teuer. Zustände stimmen nicht, Werte sind veraltet, Entscheidungen basieren auf falschen Grundlagen. In vielen Unternehmen ist das Alltag, weil jeder Entwickler, der eine Abhängigkeit programmiert, alle Seiteneffekte selbst berücksichtigen muss. Wird eine Abhängigkeit übersehen, merkt es niemand, bis der Fehler im Ergebnis auftaucht.

    Die ACE eliminiert dieses Risiko, indem sie alle definierten Abhängigkeiten automatisch kaskadiert. Ändert sich ein relevanter Wert, bewertet die Engine alle verknüpften Regeln und aktualisiert die abhängigen Strukturen. Dieser Mechanismus wirkt systemweit, unabhängig davon, ob die Änderung über eine Oberfläche, einen Import oder eine API ausgelöst wurde.

    01.04

    Was bedeutet die ACE für die Zustandssteuerung?

    Wann darf ein Vorgang freigegeben werden? Wann wechselt ein Objekt in den nächsten Status? In vielen Systemen prüfen Mitarbeiter diese Bedingungen manuell oder verlassen sich auf starre Checklisten, die bei Sonderfällen versagen.

    Die ACE steuert Zustandswechsel regelbasiert: basierend auf den Werten des Objekts selbst, den Zuständen verknüpfter Objekte und beliebigen weiteren Bedingungen. Sobald alle Regeln erfüllt sind, wird der Zustand automatisch gesetzt. Zustandssteuerung wird damit von einer fehleranfälligen manuellen Aufgabe zu einer regelbasierten Plattformeigenschaft.

    01.05

    Wie wirkt sich die ACE auf die Wartungskosten aus?

    Jede neue Anforderung erhöht die Komplexität. Jede Änderung birgt das Risiko unbeabsichtigter Seiteneffekte. Systeme mit individuell programmierten Abhängigkeiten werden so mit der Zeit unwartbar. Die IT traut sich kaum noch, etwas anzufassen, weil niemand alle Zusammenhänge überblickt.

    Die ACE kehrt dieses Muster um: Regeln werden deklarativ definiert, Trigger automatisch generiert, Abhängigkeiten transparent dokumentiert. Die Wartungskosten sinken, weil das System die Konsistenz sichert, nicht einzelne Entwickler.

    02 / 02

    Technische Details

    02.01

    Wie funktioniert die regelbasierte Ableitung technisch?

    Die ACE ermöglicht für jedes Informationsobjekt die Definition von Regeln, die dynamisch Auswahlwerte und Fremdschlüsselverweise steuern. Regeln können zentral oder direkt aus der Tabellendefinition heraus verwaltet werden. Die Funktionsweise umfasst drei Hauptaspekte: Regelbasierte Ableitung und Speicherung: ergibt eine Regel einen eindeutigen Wert, wird dieser automatisch gespeichert.

    Speicherung mehrerer möglicher Werte: kommen mehrere Optionen in Frage, werden diese abgelegt und die finale Auswahl erfolgt regelbasiert, ereignisgesteuert oder durch den Anwender.

    Kontextsensitive Anpassung: die Engine berücksichtigt nicht nur den Zustand des eigenen Objekts, sondern auch Attribute und Zustände verknüpfter Objekte.

    02.02

    Wie wird die automatische Ableitung gesteuert?

    Standardmäßig wird die Ableitung neu berechnet, sobald sich ein Wert eines verknüpften Objekts ändert. Entwickler können diese Automatisierung selektiv steuern: Bestimmte Änderungen können von der automatischen Ableitung ausgeschlossen werden, um unnötige Berechnungen zu vermeiden. Die automatische Ableitung kann auch komplett deaktiviert und stattdessen ereignis- oder regelbasiert über SQL-Skripte ausgelöst werden.

    Zusätzlich steht eine bedingungsabhängige Ableitungssteuerung über eine SQL-API zur Verfügung, mit der Entwickler festlegen, unter welchen Bedingungen, etwa abhängig von Benutzerrolle oder Kontext, eine Ableitung überhaupt durchgeführt werden darf.

    02.03

    Wie werden Mehrfachabhängigkeiten abgebildet?

    Falls die Ableitung eines Objekts von mehreren Auswahlfeldern oder Fremdschlüsseln abhängt, kann dasselbe Objekt mehrfach in die Ableitungsregel aufgenommen werden. Zwei Szenarien sind möglich: Abhängige Objekte mit gleichem Beziehungstyp aber unterschiedlichen Werten, oder abhängige Objekte mit unterschiedlichen Beziehungstypen aber gleichen Werten. Der Konfigurationsassistent bietet für jede abhängige Quelle Optionen wie „Anzahl (0)", „Keine", „Einige", „Alle" und „Ignorieren bei mehrschichtigen Abhängigkeiten".

    02.04

    Welche Rolle spielt der Relationship Wizard?

    Der integrierte Wizard ermöglicht die automatische Ermittlung der Beziehungen zwischen einem Informationsobjekt und den direkt sowie indirekt abhängigen Objekten, Views und Materialized Views. Entwickler navigieren durch die Beziehungsketten, der Navigationspfad bleibt stets sichtbar. Der Wizard unterstützt die Integration von Datenbankschema-Modellen aus dem Visual Database Designer: durch Klicken auf Modellierungselemente können Tabellen direkt in die Beziehungskette übernommen werden.

    02.05

    Was passiert nach der Konfiguration?

    Nach der Konfiguration generiert das System automatisch: SQL-Skripte als gespeicherte Prozeduren mit der Ableitungslogik (vom Entwickler bei Bedarf anpassbar), Trigger für alle abhängigen Informationsobjekte (mit der Option, Trigger für bestimmte Objekte selektiv zu deaktivieren), sowie eine Testmöglichkeit zur sofortigen Validierung der Ableitungsregel. Alle Regeln können optional Systemobjekt-Gruppen zugeordnet werden, und jede Änderung wird in der Änderungsdokumentation festgehalten.

    02.06

    Können Ableitungsregeln temporär ausgesetzt werden?

    Ja. Ableitungsregeln können basierend auf bestimmten aktuellen Werten oder Verweisen des Informationsobjekts gezielt ausgesetzt oder ignoriert werden. Der Entwickler legt fest, bei welchen spezifischen Werten die Regel nicht greifen soll.

    Alternativ kann die automatische Ausführung über den Reiter „Weitere Einstellungen" komplett deaktiviert und stattdessen über Korrelationswerte gesteuert werden, die die Ableitungslogik nur durch explizite Skriptaufrufe auslösen.

    ter>