Modellbasierte Anwendungserzeugung

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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). Die Technologie ist außerdem beim Europäischen Patentamt (EP 14789530.4) zur Patentierung angemeldet.

Definition[Bearbeiten | Quelltext 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]

Architektur einer MBAG-basierten Softwareplattform

MBAG besteht aus den folgenden Kernelementen für die Erzeugung und Bereitstellung von Anwendungen

Anwendungsmodell[Bearbeiten | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext bearbeiten]

Das MBAG-Verfahren wurde von der B&IT Group, Berlin, in der i-taros No-Code Software-Plattform umgesetzt.[4][5]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. 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). Januar.
  2. MDA® - The Architecture Of Choice For A Changing World. In: Object Management Group.
  3. Alberto Rodrigues da Silva: Model-driven engineering: A survey supported by the unified conceptual model. In: Computer Languages, Systems and Structures. Volume 43, Januar.
  4. No-Code-Softwareplattform i-taros patentiert. Abgerufen im 17 September 2019. 
  5. Rudolf Markus Petri: Software erstellen ohne Programmierung. In: B&IT Group.