Ab geht's mit der Automatisierungsfabrik

OSBP – die erste Software-Fabrik bei Eclipse

Christophe Loetz

© Shutterstock / asharkyu

Beim Schreiben von Code fallen zahlreiche repetitive Arbeitsschritte an. Deshalb setzen erfahrene Programmierer gezielt Tools ein, die bestimmte Aufgaben automatisch erledigen – allerdings reicht dies selten über reines Stückwerk hinaus. Eine konsequent durchgängige Automatisierung bietet demgegenüber die Softwarefabrik OSBP. Sie eliminiert weitgehend gerade diejenigen manuellen Arbeiten, die das herkömmliche Software Engineering teuer, langwierig und fehleranfällig machen.

OSBP erzeugt Anwendungen, die in bzw. auf allen gängigen Umgebungen und Endgeräten laufen sowie auf die meisten Datenquellen zugreifen können. Die Entwicklung mit der Fabrik erfolgt modellgetrieben, das heißt, es werden Modelle erstellt, die in domänenspezifischen Sprachen (DSL) verfasst sind. OSBP persistiert diese Modelle (nicht den Quellcode), sodass Designer und Entwickler jederzeit Veränderungen vornehmen können. Mehr noch: An die von Menschenhand erfolgten Änderungen passt OSBP sämtliche einschlägigen Ebenen automatisch an. Die Entwickler können sogar unterliegende Frameworks austauschen, wenn sie ihren Vorstellungen besser entsprechen, ohne deshalb die Struktur der Anwendung zu verlieren.

Automatisierung und Flexibilität – bei vielen anderen Ansätzen schließt das eine das andere aus, bei OSBP hingegen befördert das eine das andere. Die Fabrik bietet umfangreiche No-Code/Low-Code-Elemente, mit denen Designer, Entwickler, letztlich sogar Endnutzer umgehen können. Sie haben dabei die Freiheit, zwischen den Schichten hin und her zu springen und von den Anpassungen der „Roboterhand“ zu profitieren. Zugleich sind die Entwickler auf diese Werkzeuge nicht festgelegt, sondern haben stets die Möglichkeit, eigenen Quellcode zu integrieren. Sie können also das Automatisierungsniveau wählen, das ihren Zwecken am ehesten entspricht. Der Löwenanteil der menschlich verrichteten Fabrikarbeit dürfte künftig dennoch aufs Modellieren entfallen.

Die eigene Fabrik installieren

Einen ersten Eindruck von OSBP lässt sich durch praktisches Ausprobieren schnell gewinnen. Aufgrund der oben beschriebenen Flexibilität können auch erste Projekte direkt angegangen werden, ohne später das forsche Vorgehen zu bereuen. OSBP lässt sich einfach herunterladen und binnen Minuten installieren (vorausgesetzt, Java und die Eclipse IDE sind bereits aufgespielt). Als Handreichung für die Installation gibt es ein Video oder alternativ eine schriftliche Dokumentation. Das Ergebnis ist ein eigener OSBP Workspace in der Eclipse IDE.

Blockchain Whitepaper 2018

Free: Blockchain Technology Whitepaper

If building a blockchain from scratch is beyond your current scope, the blockchain technology whitepaper is worth a look. Experts from the field share their know-how, tips and tricks, development advice, and strategy for becoming a blockchain master.

Eine Anwendung entfaltet sich

Es gibt einen Wizard für OSBP, mit dem sich eine erste vollständige Anwendung („My1stApp“) erstellen lässt – mitsamt künstlich generierten Testdaten für das erste Ausprobieren. Nach dem Start kann man im Package Explorer verfolgen, wie der Roboter Schicht auf Schicht anlegt. (Auch hier gibt es eine Anleitung für die ersten paar Schritte bis zum Start der App aus der Fabrik heraus.) Das Ergebnis betrachtet man im Browser. Es erscheint zunächst ein Login-Fenster, denn die Fabrik stattet die App mit einer Authentifizierungsfunktion aus. Jenseits dessen findet man ein Grid und einen Dialog-Bereich. Als Nutzer lassen sich nun die Testdaten bearbeiten. So kann man prüfen ob die Anwendung läuft, wie sie soll.

Von diesem Moment an gewinnt der Entwickler ein Gefühl dafür, wie sich die Applikation aus Nutzer-Perspektive bedienen lässt. In der Regel entstehen daraus neue, bessere Ideen für eine praktische Bedienerführung. Bei einer herkömmlichen Vorgehensweise wäre es dafür aber an diesem Punkt bereits zu spät. Anders mit OSBP: Hier schließt man einfach den Browser, kehrt in den Workspace zurück und tüftelt weiter am Modell.

Veränderungen schnell umsetzen

Ein einfaches Beispiel: Zu den Attributen, die sich auf Namen beziehen (z.B. das Geburtsdatum), sollen weitere Attribute hinzugefügt werden. Unter herkömmlichen Bedingungen würde diese Idee bei den wenigsten Entwicklern auf Gegenliebe treffen. Denn für sie bedeutet sie de facto: Fang von vorne an – wenn auch nicht bei null. Wohl aber müssten sie einen wichtigen Teil des Implementierungsprozesses überarbeiten: das Entity-Relationships-Modell, die Nutzeroberfläche, beides verknüpfen und so weiter. Als „Fabrikarbeiter“ dagegen würden sie kurz den Package Explorer nach dem Entity-Modell durchblättern und die neuen Attribute der Entität „Person“ hinzufügen, im Beispiel hier wären dies „Straße“, „PLZ“ und „Land“. Was wurde verändert? Das Modell einer bestimmten Domäne, das in einer praktisch selbsterklärenden DSL verfasst ist.

Den Rest erledigt die Fabrik. Sie passt automatisch die abhängigen Domänenmodelle an und schreibt auf Knopfdruck den Quellcode und die Datenbankstruktur neu. Die ganze Ergänzung ist schnell erledigt und kostet wenig Mühe.

Content Assist

Die Fabrik verfügt über eigene DSLs für sämtliche Domänen, aus denen eine Business-Anwendung typischerweise besteht – insgesamt sind es 26 Stück. Dazu zählen beispielsweise die Nutzeroberfläche, das Berechtigungsmanagement, das Berichtswesen, die Datenbankmodelle, der Datenimport usw. Das Modellieren wird weiter vereinfacht durch Content Assist, einer Funktion des Eclipse IDE, die für die Arbeit mit OSBP integriert wurde. Beim Drücken von CTRL+SPACE erscheint ein Drop-down-Menü, in dem sämtliche Möglichkeiten aufgelistet werden, die sich in dem jeweiligen Kontext bieten. Das beschleunigt nicht nur das Modellieren, sondern macht es auch äußerst einfach, sich mit dem „Factory Slang“ vertraut zu machen.

Höhepunkt der Automatisierung: CSV-Datei in App verwandeln

Hat man sich mit OSBP erst vertraut gemacht, kann man mit wenig Aufwand individuell entworfene Anwendungen produzieren. Das ist aber noch nicht das höchste Erreichbare. Der Gipfel der Automatisierung ist bislang dies: Per Drag & Drop eine CSV-Datei auf den Eclipse Workspace ziehen und die Maschinerie anwerfen. Das Resultat: Eine selbständig erzeugte Anwendung, die den CSV-Daten entspricht.

Im Detail: OSBP extrahiert die Datenstruktur aus der ersten Zeile der CSV-Datei und kreiert daraus das Entitäten-Modell, wobei die in der Datei definierten Tabellenspalten als Attribute gesetzt werden. Auf dieser Basis führt OSBP alle weiteren Schritte aus, um eine volle App zu schaffen. Einige einfache grundlegende Konfigurationen müssen zunächst vorgenommen werden. Der Projektname, Pfade und Datenquellen müssen benannt werden, ebenso die gültigen Trennzeichen beim Extrahieren der Daten.

Mit diesen Einstellungen geht es praktisch von selbst. Dies ist ein Screenshot einer vollständigen Anwendung, die aus einer CSV-Datei automatisch angelegt wurde.

In Schleifen arbeiten – immer weiter verfeinern

Das herkömmliche Software Engineering wird notgedrungen in scharf abgegrenzte Phasen eingeteilt. Bevor der größte Teil der Software codiert wird, ist das Produktdesign längst festgeschrieben. Modus und Zeit-Budget mögen sich unterscheiden, aber eins haben sie immer gemeinsam: Ab einem gewissen Punkt gibt es kein Zurück mehr. Oder jedenfalls ließen sich Änderungen nur noch unter unverhältnismäßig hohen Kosten realisieren. Arbeitet man hingegen mit einer Softwarefabrik wie OSBP, hat sich dieses Problem erledigt.

Deshalb ermöglicht OSBP eine völlig neuartige Zusammenarbeit zwischen Nutzern und Entwicklern: Zuerst lässt sich ein erster Prototyp leicht produzieren und dann in einem iterativen, bspw. Scrum-artigen Prozess verfeinern. Die Potenziale dieses Ansatzes erkundet eine eigene Arbeitsgruppe der Eclipse Foundation namens OS.bea Working Group. Diese Gruppe richtet sich explizit an Entwickler, Designer und Anwender – etwas Einzigartiges bei Eclipse.

Fazit: Schnellere, flexiblere und leichtere Entwicklung sowie eine enge Einbindung der Nutzer – OSBP eröffnet wahrlich neue Möglichkeiten.

Geschrieben von
Christophe Loetz

Geschäftsführer der Compex Systemhaus GmbH

Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: