Modellbasierte Anwendungserzeugung
Modellbasierte Anwendungserzeugung (MBAE, englisch: model-based application generation (MBAG)) ist ein Verfahren zur vollautomatischen Erstellung und Bereitstellung von webbasierten Softwarelösungen ohne Programmierung („No-Code“). Bei dem Verfahren werden aus formalen Anwendungsmodellen durch deren Ausführung zur Laufzeit vollständig automatisiert lauffähige Geschäftsanwendungen erzeugt und auf einer Softwareplattform bereitgestellt. Dabei werden Modellierungswerkzeuge zusammen mit einer webbasierten Anwendungsplattform eingesetzt.
Das US Patent and Trademark Office (USPTO) hat für das Verfahren 2019 das Patent erteilt (US 10,296,305 B2).
Definition[Bearbeiten]
Um mit dem MBAG-Verfahren eine Softwarelösung zu erstellen, muss lediglich die fachliche Logik der gewünschten Lösung mit den plattformintegrierten Software-Werkzeugen definiert werden. Die Ausführung und Bereitstellung der Softwarelösung zur Laufzeit erfolgt über die im Anwendungsmodell definierte Konfiguration.[1]
MBAG besteht aus den folgenden Kernelementen für die Erzeugung und Bereitstellung von Anwendungen
Anwendungsmodell[Bearbeiten]
- Ein Anwendungsmodell beschreibt die Anwendungslogik der gewünschten Lösung. Es wird dazu verwendet, um die entsprechende Lösung zur Laufzeit zu erzeugen.
- Das Anwendungsmodell besteht aus einem Metamodell und einem Anwendungskonfigurationsmodell. Das Metamodell definiert die generische Datenstruktur für User Interface- und Metadatenelemente, die grundlegenden Prozesse, das Verhalten, die Oberfläche und andere Komponenten der Anwendung. Das Anwendungskonfigurationsmodell konkretisiert das Metamodell und definiert die Datenobjekte für die Anwendung. Es bestimmt außerdem das Zusammenwirken der verschiedenen Komponenten der Lösung. Beispielsweise werden dabei bestimmte Ansichten und Workflows konfiguriert, Regeln und Formeln zugeordnet (z. B. für Berechnungen) und die Automatisierung eingerichtet (z. B. Löschzeiträume für Dokumente).
- Aus technischer Sicht besteht ein Anwendungsmodell nur aus XML-Dateien.
Anwendungsplattform[Bearbeiten]
- Die Anwendungsplattform umfasst generische Anwendungskomponenten in konfigurierbarer Form und verschiedene Tools zum Modellieren von Anwendungen. Die Plattform beinhaltet auch mandantenspezifische Datenbanken und bietet eine Laufzeitumgebung zum Ausführen der Anwendungsmodelle und Bereitstellen der entsprechenden Anwendungen.
- Der Benutzer kann sich über einen Netzwerkzugriff und einen Browser auf der Anwendungsplattform anmelden und auf seine Daten und Anwendungen zugreifen.
Modellierungswerkzeuge[Bearbeiten]
- Mit Hilfe der in die Anwendungsplattform integrierten Werkzeuge (z. B. Anwendungsmodell-Designer) wird die Anwendungslogik einer Anwendung modellhaft abgebildet und das Zusammenspiel der verschiedenen Komponenten definiert.
Mandanten-spezifische Datenbanken[Bearbeiten]
- Die Anwendungsplattform beinhaltet auch die Datenhaltung für die Mandanten. Jeder Mandant hat dabei seine eigene Datenbank. Eine mandantenspezifische Datenbank enthält das mandantenspezifische Anwendungsmodell und die Mandanten-Daten.
- Standard-Datenmodelle sind in einem zentralen Repository in der Anwendungsplattform gespeichert.
Model Engine[Bearbeiten]
- Die Model Engine ist der Kernbestandteil der Anwendungsplattform und wird als Anwendungsgenerator betrachtet, der das spezifische Anwendungsmodell zur Laufzeit ausführt, nachdem sich der Benutzer angemeldet hat.
- Die Model Engine verknüpft die Metadatenelemente des Anwendungsmodells mit den Daten aus der mandantenspezifischen Datenbank und konfiguriert die generischen Komponenten und Grundfunktionen, die in der i-taros-Anwendungsplattform enthalten sind, gemäß den im Anwendungsmodell gespeicherten Informationen. Es führt Bedingungen sowie Befehle des Benutzers aus, die dieser über die grafische Benutzeroberfläche (GUI) eingibt, und gibt die Verarbeitungsergebnisse zurück.
- Die Modell-Engine erlaubt dynamische Änderungen in den Metamodell-Elementen des Metamodells und ermöglicht somit das Ändern der Anwendung zur Laufzeit.
Abgrenzung[Bearbeiten]
Das MBAG-Verfahren ist weder mit dem Ansatz der Modellgetriebene Architektur (MDA) der Objekt Management Group (OMG)[2] zu verwechseln, der ein Software-Design-Ansatz ist, noch mit der Modell-getriebene Softwareentwicklung (englisch model-driven software development, MDSD oder MDD), die ein Oberbegriff für Techniken ist, bei der Modellierungssprachen, insbesondere domänenspezifische Sprachen (DSLs), zusammen mit Codegeneratoren und Interpretern eingesetzt werden[3]. MBAG ist vielmehr eine No-Code-Technologie, mit der Anwendungen zur Laufzeit erstellt und bereitgestellt werden können.
Beispiele für MBAG-Werkzeuge[Bearbeiten]
Das MBAG-Verfahren wurde von der B&IT Group, Berlin, in der i-taros No-Code Software-Plattform umgesetzt.[4][5]
Einzelnachweise[Bearbeiten]
- ↑ Rudolf Markus Petri: Method and device for the automated production and provision of at least one software application. In: United States Patent and Trademark Office (USPTO) (2019-05-21). .
- ↑ MDA® - The Architecture Of Choice For A Changing World.
- ↑ Alberto Rodrigues da Silva: Model-driven engineering: A survey supported by the unified conceptual model. In: Computer Languages, Systems and Structures. Volume 43.
- ↑ No-Code-Softwareplattform i-taros patentiert.
- ↑ Rudolf Markus Petri: Software erstellen ohne Programmierung.
Diese artikel "Modellbasierte Anwendungserzeugung" ist von Wikipedia The list of its authors can be seen in its historical and/or the page Edithistory:Modellbasierte Anwendungserzeugung.