Für Entwickler

    Entwicklungsumgebung: Werkzeuge, Paradigmen und Assistenzsysteme

    Die omniSuite stellt Entwicklern eine integrierte Umgebung bereit, die technisches Grundrauschen eliminiert und den Fokus auf Fachlogik lenkt. Automatisierte Strukturerstellung, ein zentrales Script-Repository, spezialisierte Wizards und ein visueller Datenbankdesigner bilden das Fundament. Dazu kommt eine Echtzeit-Entwicklungsumgebung ohne Build-Prozesse, die Feedbackzyklen auf Minuten reduziert.

    01 / 10

    Grundkonzept und Produktivität

    01.01

    Wie entlastet die omniSuite Entwickler von Routineaufgaben?

    Die omniSuite minimiert das technische Grundrauschen systematisch. Anstatt bei jedem Projekt Datenbanktabellen, Primärschlüssel, Indizes, Constraints, Standardprozeduren (CRUD) oder Web-Masken manuell aufzubauen, werden diese Strukturen automatisch aus der fachlichen Objektbeschreibung generiert.

    Dabei übernimmt das System nicht nur die Tabellendefinition, sondern auch die Vergabe von Datentypen, die Erstellung von Berechtigungsstrukturen und die Konfiguration von Abhängigkeiten. Entwickler starten direkt mit der Umsetzung der wertschöpfenden Fachlogik — Statusübergänge, Validierungen, Integrationsregeln.

    01.02

    Was bedeutet „Low-Code, wo möglich — Pro-Code, wo nötig“ in der Praxis?

    Die omniSuite kombiniert die Geschwindigkeit deklarativer Konfiguration mit der Flexibilität vollwertiger Programmierung. Individuelle Erweiterungen erfolgen nicht unkontrolliert, sondern an systemisch abgesicherten Hooks — etwa Pre-/Post-Ereignissen wie onLoad, onClick, onSave oder onSubmit — mittels SQL, C# oder JavaScript.

    Das System weist Ereignisse basierend auf dem UI-Elementtyp automatisch zu (konfigurationsfreie Skriptentwicklung), sodass Entwickler sich auf die Codelogik konzentrieren. Hooks sind isoliert, testbar und rollback-fähig, was Skript-Wildwuchs verhindert und die Updatefähigkeit des Gesamtsystems sichert.

    01.03

    Wie unterstützt die omniSuite die Zusammenarbeit mit dem Fachbereich?

    Die Plattform folgt dem Prinzip „validieren statt spekulieren“. Technische Strukturen werden unmittelbar erzeugt und können sofort getestet werden. Der Fachbereich beurteilt reale Zustände und Übergänge — nicht Modellannahmen. Durch die automatisierte Generierung lauffähiger Artefakte innerhalb von Stunden entfällt die Phase abstrakter Papier-Spezifikationen. Fehler werden am Anfang entdeckt, wo Korrekturen noch günstig sind.

    02 / 10

    Programmierparadigmen: Zehn Ansätze in einer Plattform

    02.01

    Welche Programmierparadigmen unterstützt die omniSuite konkret?

    Die Plattform bietet Unterstützung für eine ungewöhnlich breite Palette an Paradigmen, die sich gegenseitig ergänzen:

    Objektorientierte Programmierung (OOP): Klassen, Objekte und Vererbung für wiederverwendbare, modulare Softwarekomponenten. Wird primär in C#-Skripten und Managed Classes eingesetzt, um Geschäftslogik strukturiert zu kapseln.

    Ereignisgesteuerte Programmierung: Aktionen werden durch Benutzer- oder Systemereignisse ausgelöst — onClick, onChange, onLoad, onSave. Die Plattform ordnet Ereignisse automatisch basierend auf dem UI-Elementtyp zu, was die Entwicklung reaktionsfähiger Oberflächen erheblich beschleunigt.

    Server-Side Programming (SSP) mit C#: Serverseitige Logik für Backend-Prozesse, Datenverarbeitung und Geschäftslogik. C#-Skripte werden in serverseitigen Events wie AfterFormInit oder AfterSave eingesetzt und über Managed Classes zentral verwaltet.

    Deklarative Programmierung: Beschreibt „was“ geschehen soll, nicht „wie“ — umgesetzt durch SQL-Sichten, Trigger, gespeicherte Prozeduren und benutzerdefinierte Funktionen. Besonders geeignet für Datenabfragen und -manipulation ohne detaillierte Kontrollstrukturen.

    Funktionale Programmierung: Funktionen als First-Class-Objekte, insbesondere in asynchronen Kontexten und clientseitigem JavaScript. Ermöglicht saubere Verarbeitung von Datenflüssen und Asynchronität in UI- und Verarbeitungsszenarien.

    Data-Driven Programming: Der Programmfluss wird durch die Daten selbst gesteuert — dynamische n:m-Beziehungen, SQL-Filter und datengetriebene UI-Elemente. Anwendungen passen sich dynamisch an die Datenstruktur an.

    Constraint-Programmierung: Regeln und Constraints sichern Datenintegrität und Geschäftsregeln direkt in der Datenverarbeitung ab. Validierungen werden deklarativ definiert und systemweit durchgesetzt.

    Reaktive Programmierung: Anwendungen reagieren auf Zustands- oder Datenänderungen, umgesetzt durch die Adaptive Korrelations-Engine (ACE) und ereignisgesteuerte Masken. Die ACE leitet Werte und Zustände über Objektgrenzen hinweg ab, ohne dass Entwickler komplexe Kaskaden manuell programmieren müssen.

    Regelbasierte Programmierung: Regeln definieren Aktionen und Zugriffe situationsabhängig — etwa bei der Berechtigungsvergabe oder der regelbasierten Steuerung auf Datenebene. Regeln wirken automatisch beim Laden einer Maske, unabhängig von der konkreten Benutzeroberfläche.

    02.02

    Wie profitieren Entwickler von der Paradigmenvielfalt?

    Die Integration dieser Paradigmen in eine Plattform eliminiert den sonst üblichen Technologie-Mix aus unterschiedlichen Frameworks und Werkzeugen. OOP strukturiert die Geschäftslogik, Constraint-Programmierung sichert sie ab, Data-Driven Programming steuert den Ablauf, Reaktive Programmierung propagiert Änderungen. Entwickler wählen pro Anforderung das passende Paradigma, ohne die Plattform zu verlassen oder Integrationsbrücken zu bauen.

    03 / 10

    Script-Repository: Zentrale Verwaltung aller Logiken

    03.01

    Wie funktioniert das zentrale Script-Repository?

    Das Script-Repository bündelt alle wiederverwendbaren Logiken an einem zentralen Ort und gliedert sich in fünf Bereiche:

    Gespeicherte Prozeduren und benutzerdefinierte SQL-Funktionen kapseln komplexe Datenbankoperationen und können universell eingesetzt werden — in Masken, Berichten, Prozessen und als eigenständige Funktionen in SQL-Abfragen oder API-Endpoints.

    Globale JavaScript-Funktionen und Konstanten steuern clientseitige Interaktionen: DOM-Manipulationen, Validierungen, dynamische Inhalte. Funktionen wie getDOMObject(), invokeExportToCSV() oder showUserformDescriptionAsHtml() sind in allen individuellen Masken verfügbar.

    Globale SQL-APIs kapseln Datenbankoperationen für server- und clientseitige Nutzung. Sie unterstützen Fremdschlüsselfilter, komplexe Datenabfragen, Exportprozesse und Validierungen und können in JavaScript-Funktionen eingebunden werden.

    Managed Classes dienen als zentrale Verwaltungsstruktur für C#-Skript-Funktionen und globale SQL-APIs im Rahmen des Server-Side Programming (SSP). Sie bündeln serverseitige Logik und machen sie für verschiedene Prozesse verfügbar — von Speicher- und Ladeoperationen bis hin zu Datenvalidierung und Berichterstellung.

    Triggerfunktionen werden auf Datenbankebene definiert und führen SQL-Operationen automatisch bei INSERT, UPDATE oder DELETE aus. Sie sichern Datenkonsistenz, protokollieren Änderungen in Historientabellen und lösen verknüpfte Aktionen aus.

    Änderungen an einem zentralen Skript wirken sich automatisch systemweit auf alle verknüpften Masken und Prozesse aus. Das eliminiert redundante Implementierungen und senkt den Wartungsaufwand erheblich.

    04 / 10

    Entwicklungsumgebung und Scripting

    04.01

    Was verbirgt sich hinter der konfigurationsfreien Skriptentwicklung?

    Entwickler schreiben Skripte in JavaScript oder C#, ohne administrative Parameter wie Skriptnamen, Tabellenzuordnungen oder Ereignistypen manuell definieren zu müssen. Das System weist Ereignisse basierend auf dem UI-Elementtyp automatisch zu: Buttons erhalten OnClick-Ereignisse, Textfelder und Dropdowns erhalten OnChange-Ereignisse. Der Fokus liegt rein auf der Codelogik. Die Zeitersparnis durch wegfallende Konfiguration ist erheblich, und die Fehlerquote durch falsche Einstellungen wird systematisch reduziert.

    04.02

    Welche intelligenten Werkzeuge bietet der Code-Editor?

    Der integrierte Editor bietet professionelle Unterstützung für JavaScript, C# und SQL:

    Script-Highlighting hebt Schlüsselwörter, Funktionen, Variablen, Kommentare und Datentypen farblich hervor. Die visuelle Differenzierung reduziert Fehlerquellen und beschleunigt das Erfassen komplexer Skripte.

    Auto-Complete erkennt während der Eingabe mögliche Befehle, Methoden, Variablen und Schlüsselwörter und schlägt diese in Echtzeit vor. Tippfehler und syntaktische Missverständnisse werden direkt vermieden.

    IntelliSense ergänzt die Auto-Complete-Funktion um kontextbezogene Hilfe und ermöglicht Entwicklern, schnell auf korrekte Syntax-Optionen zuzugreifen. Zusätzlich werden JavaScript- und C#-Klassenbibliotheken automatisch den relevanten UI-Elementen zugeordnet, sodass passende Methoden ohne manuellen Eingriff zur Verfügung stehen.

    04.03

    Wie funktioniert die automatisierte SQL-Strukturerstellung?

    Entwickler geben lediglich den Namen, die Parameter und den SQL-Code ein. Alle weiteren administrativen Aufgaben — Datentypen, Constraints, Indizes, Berechtigungen und Abhängigkeiten — werden vom System automatisch gehandhabt. Änderungen an Datenbankstrukturen können schnell vorgenommen werden, da das System die notwendigen Anpassungen automatisch übernimmt. Das reduziert die Komplexität der Datenbankentwicklung erheblich und vermeidet häufige Fehler, die bei manueller Konfiguration auftreten.

    05 / 10

    Wizards: Spezialisierte Assistenten für Entwicklungsaufgaben

    05.01

    Wie unterstützt der SQL-Abfrage-Wizard die Arbeit mit komplexen Datenmodellen?

    Der SQL-Abfrage-Wizard ermöglicht die automatische Generierung komplexer Abfragen, indem er Entwickler dynamisch durch die Beziehungsstrukturen navigiert. Ausgangspunkt ist eine Tabelle, von der aus verwandte Tabellen schrittweise ausgewählt werden. Der Navigationspfad (Beziehungskette) bleibt stets sichtbar, und das aktuell generierte SQL-Statement kann jederzeit angezeigt werden.

    Fertige Abfragen werden als gespeicherte Beziehungsketten für die Wiederverwendung in beliebigen SQL-Skripten bereitgestellt. Der Wizard unterstützt außerdem die Einbindung von Datenbankschema-Modellen aus dem Visual Database Designer: Durch Klicken auf Modellierungselemente werden die zugehörigen Tabellen direkt in die Beziehungskette übernommen. Generierte Abfragen können in Skripte, Views oder Materialized Views übernommen und sofort getestet werden.

    05.02

    Welche weiteren Wizards stehen zur Verfügung?

    Die Plattform bietet eine Reihe spezialisierter Assistenten:

    Insert-Assistent: Generiert Insert-Befehle inklusive automatischer ID-Rückgabe. Besonders nützlich bei Tabellen mit komplexen Abhängigkeiten.

    Beziehungspflege-Wizard: Hilft beim regelbasierten Löschen oder Umhängen von Beziehungen — etwa Fremdschlüssel auf 0 setzen oder Löschkaskaden konfigurieren — unter Wahrung der referenziellen Integrität.

    Attributzuweisungs-Wizard: Automatisiert das konsistente Setzen von Festwerten oder Nullwerten für ganze Tabellen. Reduziert manuelle, fehleranfällige Massenänderungen.

    Schleifenbearbeiter: Konfiguriert Select-Befehle für Schleifen und generiert die zugehörigen Variablen automatisch. Eliminiert repetitives Boilerplate-Coding bei iterativen Datenbankoperationen.

    E-Mail-Wizard: Integriert E-Mail-Versand direkt in die Datenbanklogik. Empfängerkreise (Hauptempfänger, CC, BCC) können per SQL-Script oder Auswahlliste definiert werden. Unterstützt Text-, HTML- und kombinierte Formate. Manueller und automatisierter, regelbasierter Versand sind gleichermaßen konfigurierbar.

    SMS-Wizard: Analog zum E-Mail-Wizard für SMS-Kommunikation, direkt in Lösungsbausteine integrierbar.

    Bedingungskonfigurator: Ermöglicht die intuitive Erstellung einfacher und komplexer Filterbedingungen ohne Syntaxfehler. Unterstützt die gezielte Datenfilterung in Masken und Abfragen.

    05.03

    Wie unterstützen Code-Vorlagen und Trigger-Funktionen die Entwicklung?

    Das Script-Repository stellt Code-Vorlagen (Code-Patterns und Templates) bereit, die wiederkehrende Implementierungsmuster standardisieren. Trigger-Funktionen dienen als automatische Reaktionsmechanismen auf Datenbankebene: Bei INSERT, UPDATE oder DELETE werden vordefinierte Operationen ausgeführt — etwa Datenvalidierungen, Protokollierung in Historientabellen oder das Auslösen von Folgeprozessen. Beide Mechanismen verhindern, dass identische Logik mehrfach und potenziell unterschiedlich implementiert wird, und beschleunigen die Einarbeitung neuer Teammitglieder.

    06 / 10

    Visual Database Designer: Datenmodelle visuell bearbeiten

    06.01

    Was leistet der Visual Database Designer?

    Der Visual Database Designer ist ein grafisches Werkzeug zur Darstellung, Erstellung und Bearbeitung von Datenbankmodellen direkt in der omniSuite. Tabellen können aus der Tabellenverwaltung der Management Console per Drag-and-Drop in das Design-Tool übernommen, positioniert und bearbeitet werden — inklusive Tabellenname und Attribute.

    Ein integrierter Relationship-Wizard generiert Beziehungstabellen automatisch mit visueller Vorschau der Parent-Child-Beziehungen. Name, Typ und Eigenschaften der Beziehung können in jedem Schritt angepasst werden.

    06.02

    Wie organisiert der Designer komplexe Datenmodelle?

    Datenbankdiagramme lassen sich hierarchisch organisieren: Statt eines einzigen, unübersichtlichen Gesamtdiagramms können thematisch verwandte Tabellen in kleinere Teildiagramme aufgeteilt und in einer Baumstruktur angeordnet werden. Jedes Diagramm kann in farblich unterschiedene Bereiche aufgeteilt werden, die fachliche oder organisatorische Zusammenhänge abgrenzen.

    Für jeden Bereich sind Name, Beschreibung und farbliche Unterlegung konfigurierbar. Optional werden Tabellen innerhalb eines Bereichs bei Positionsänderungen synchron verschoben.

    06.03

    Welche Darstellungs- und Exportoptionen stehen zur Verfügung?

    Die Darstellung ist zielgruppenspezifisch anpassbar: Welche Attribute (Attributnamen, Datentypen, Constraints) in welcher Reihenfolge angezeigt werden, ist frei konfigurierbar — von der technischen Detailansicht bis zur Management-Übersicht. Schriftarten, Farben und Rahmen sind visuell anpassbar. Textanmerkungen können an beliebigen Stellen im Diagramm eingefügt und formatiert werden, um fachliche Kontexte zu dokumentieren. Diagramme können als BMP-Dateien exportiert oder gedruckt werden.

    06.04

    Wie ist der Visual Database Designer in die Entwicklungswerkzeuge integriert?

    Der Designer ist direkt in den SQL-Abfrage-Wizard eingebunden: Entwickler können im Diagramm auf Modellierungselemente klicken, und die zugehörigen Tabellen werden automatisch in die Beziehungskette des Wizards übernommen. Das verkürzt den Weg von der visuellen Modellanalyse zur konkreten SQL-Abfrage erheblich. Zusätzlich dient der Designer als lebendes Dokumentationswerkzeug — Änderungen am Datenmodell werden in Echtzeit visuell nachvollzogen.

    07 / 10

    Maskengenerator: Oberflächen effizient erstellen

    07.01

    Was leistet der Maskengenerator und wie unterstützt er externe Interoperabilität?

    Der Maskengenerator erstellt, konfiguriert und verwaltet individuelle Benutzeroberflächen. Er unterstützt tabellenabhängige und tabellenunabhängige Masken mit granularer Berechtigungssteuerung nach Rollen, Organisationseinheiten, Partnerfirmen oder individuellen Benutzern. Ein zentrales Merkmal ist die externe Interoperabilität: Masken binden nicht nur interne Daten ein, sondern können über HTTP-Endpoints, REST-APIs und SOAP-Webservices auch Daten aus externen Systemen integrieren.

    Benutzerdefinierte Skripte und CustomReports ermöglichen die dynamische Darstellung von Informationen aus heterogenen Quellen. Das IFRAME-Element bettet externe Webinhalte, Anwendungen und Dashboards nahtlos ein.

    07.02

    Welche Programmierschnittstellen stehen im Maskengenerator zur Verfügung?

    Vier Schnittstellen decken client- und serverseitige Anforderungen ab: Die SQL-API ermöglicht direkten Datenbankzugriff aus dem Maskenkontext für SELECT, INSERT, UPDATE und DELETE. Die Server-SQL-API erweitert dies um serverseitige Verarbeitung, Validierungen und Anbindung an Managed Classes.

    JavaScript steuert clientseitige Interaktionen und Echtzeit-Validierungen. C#-Skripte implementieren serverseitige Geschäftslogik in Events wie AfterFormInit oder AfterSave. Alle Schnittstellen greifen auf das zentrale Script-Repository zu.

    07.03

    Wie funktioniert das automatische Event-Handling im Maskengenerator?

    Für jedes UI-Element werden passende Systemereignisse automatisch zugeordnet — Buttons erhalten OnClick, Textfelder und Dropdowns erhalten OnChange. Auf Maskenebene stehen Initialisierungsereignisse (AfterFormInit, SQLBeforeFormFirstInit), Validierungsereignisse (CustomValidator mit SQL-APIs, JavaScript, Managed Classes) und Nach-Speichern-Ereignisse (SQL-AfterSave, StopAfterSaveOrApply, ContinueAfterSaveOrApply) bereit.

    Die Validierung unterstützt sowohl vordefinierte Prüfungen (Pflichtfelder, Wertebereiche, E-Mail-Format) als auch erweiterte Optionen über SQL-APIs, JavaScript-Funktionen, SSP-Serverfunktionen und Managed-Class-Methoden. Für jede Validierung ist konfigurierbar, ob der Benutzer einen Fehlerfall ignorieren oder überspringen darf.

    08 / 10

    Qualitätssicherung und Debugging

    08.01

    Wie behalten Entwickler den Überblick über die Verwendung ihrer Daten?

    Die omniSuite bietet eine lückenlose Datenverwendungs-Transparenz. Für jedes Attribut oder jede Tabelle ist auf Knopfdruck sichtbar, in welchen Masken, JavaScript-Skripten, C#-Skripten, Filterfunktionen, SQL-Skripten, Import-Schemata (Integration HUB), gespeicherten Prozeduren, benutzerdefinierten Funktionen und Triggern es verwendet wird — inklusive direktem Einblick in den jeweiligen Quellcode.

    Auch Beziehungstypen und deren konkrete Zuordnungen im Beziehungskatalog sind vollständig durchsuchbar. Diese Transparenz beschleunigt die Fehlersuche, vereinfacht die Auswirkungsanalyse bei Strukturänderungen und ermöglicht eine effizientere Zusammenarbeit im Team.

    08.02

    Wie unterstützt das System die Fehlersuche in SQL-Komponenten?

    Ein zentrales Werkzeug durchsucht sämtliche SQL-Skripte, SQL-APIs, gespeicherte Prozeduren, benutzerdefinierte Funktionen und Trigger automatisch nach Syntaxfehlern, veralteten Attributen und anderen gängigen Fehlerquellen. Per Klick gelangt der Entwickler direkt zum fehlerhaften Element, um es anzuzeigen oder sofort zu korrigieren. Das Werkzeug adressiert systematisch die Kategorien Korrektheit, Vollständigkeit, Konsistenz und Integrität der SQL-Komponenten und ersetzt zeitintensive manuelle Überprüfungen.

    08.03

    Kann Code unmittelbar im System getestet werden?

    Ja. Die omniSuite bietet eine Echtzeit-Entwicklungsumgebung. Konfigurierte Elemente und Code-Erweiterungen können ohne Build-Prozesse, Medienbrüche oder externe Testumgebungen direkt im System ausgeführt und validiert werden. SQL-APIs können direkt aus dem Script-Editor getestet werden.

    HTTP-Endpoints werden dynamisch erstellt und „on the fly“ in eine DLL kompiliert, wobei über den Kompilieren-Button syntaktische Fehler erkannt und über Vorschau Ergebnisse unmittelbar überprüft werden können.

    09 / 10

    Externe Integrationsschnittstellen

    09.01

    Wie verwaltet die omniSuite HTTP-Endpoints, REST-APIs und Webservices?

    Die Plattform bietet eine zentrale Verwaltung von HTTP-Endpoints, REST-APIs, SOAP-Webservices und den Zugriff über OLE-DB-Provider in der Management Console. HTTP-Endpoints können dynamisch erstellt werden und werden „on the fly“ in eine DLL kompiliert, ohne auf der Festplatte gespeichert zu werden.

    Entwickler haben direkten Zugriff auf Request, Response und Datenbankverbindungen (db) — ähnlich klassischen Webframeworks wie PHP oder ASP. Methoden für Webservices können über T-SQL oder C# definiert werden.

    Der Zugriff auf externe Datenquellen erfolgt über OLE-DB-Provider mit opendatasource, openquery, openrowset und openjson. Aktivierung, Deaktivierung und dynamische Erstellung von REST-APIs und SOAP-Webservices erfolgen zentral in der Management Console.

    10 / 10

    Deployment und Architektur

    10.01

    Was ist der Data Integrity Deployment Cycle (DIDC)?

    Der DIDC transformiert Deployments in einen kontrollierten, validierten Prozess. Jede Änderung wird automatisch erfasst, versioniert und in Paketen zusammengeführt. Vor der Bereitstellung erfolgt eine systemweite Validierung aller Abhängigkeiten — Trigger, Skripte, APIs und Tabellenstrukturen.

    Systemobjekte werden als strukturierte XML-Pakete exportiert und importiert, wobei ein automatischer Abgleich zwischen Quell- und Zielsystem die korrekte Übernahmereihenfolge bestimmt und Inkonsistenzen verhindert.

    10.02

    Wie wird die Revisionssicherheit bei Systemänderungen gewährleistet?

    Jede Änderung an Systemelementen (Tabellen, Masken, Skripte) wird in einer Änderungsdokumentation festgehalten: Grund, Zeitpunkt, Bearbeiter und fachliche Zweckbeschreibung. Die Dokumentation ist sowohl auf Einzelelementebene als auch zentral über Systemobjektgruppen organisiert.

    Eine Default-Änderungsdokumentation ermöglicht es, Standard- Bearbeitungsstatus automatisch zuzuweisen. Alle Einträge werden im Änderungslog fortlaufend aufgezeichnet und sind dauerhaft verfügbar.

    10.03

    Warum ist das E-C-A-Gerüst für die Zukunftssicherheit entscheidend?

    Das Event-Condition-Action-Gerüst verankert Ereignisse und Reaktionen systematisch in der Architektur. Diese formale Grammatik sorgt heute für maximale Steuerungsfreiheit und bildet zukünftig die Basis für Prozessoptimierungen durch KI-Agenten, da die Logik maschinenlesbar vorliegt. Die Adaptive Korrelations-Engine (ACE) ergänzt das E-C-A-Gerüst um die Ableitung von Werten und Zuständen über Objektgrenzen hinweg — Entwickler müssen komplexe Kaskaden oder Synchronisationen nicht mehr individuell programmieren.

    ter>