Aus Linux-Magazin 08/2005

Linux-Tools für Rapid Application Development im Vergleich

Wenn es keine Lösung von der Stange gibt, kann man sich mit Software-Fertigteilen für die Selbstmontage helfen. Das funktioniert, versprechen die Hersteller von RAD-Werkzeugen, wie bei Möbeln: billig, einfach und schnell. Was die Wirklichkeit hält, hat das Linux-Magazin untersucht.

Sie verleihen Unix seine viel gepriesene Flexibilität: Die praktischen Datenventile und Informationssiebe, die Nachrichtenpumpen und Pipelines, die zahlreichen kleinen Utilities, aus denen nach dem Baukastenprinzip komplexe Lösungen entstehen. Jedenfalls in der Hand eines fähigen Admin und solange das Problem im Serverraum bleibt.

Eine Treppe höher, in der Etage der Anwender, verblasst dagegen der Charme des Kommandozeilen-Zaubers. Dafür verlangt die Desktop-Welt, die Linux mehr und mehr erobert, grafische Applikationsverbinder (geeignet für die Selbstmontage), Fertigteile für mit der Maus steuerbare Anwendungen, einfach bedien- und universell verwendbare Bausätze für spezielle Lösungen.

Builder-Boom

In jüngster Zeit versuchen deshalb Anbieter von Datenbank-Frontends und RAD-Tools vermehrt in eben diese Lücke zu springen. Gewiss kein Zufall, denn mit dem um sich greifenden Wechsel zu Linux stellt sich auch immer öfter das Problem der fehlenden Spezialanwendungen, für die es bisher noch keine Linux-Äquivalente gibt.

Das kostengünstige Do-it-yourself-Verfahren scheint dann eine lohnende Alternative zu einem teuren Entwicklungsauftrag zu sein. Wie weit der mutige Anwender kommt, wenn er einem Software-Bausatz vertraut, ob er tatsächlich mit dem Selbstkostenpreis rechnen kann oder womöglich ein Vielfaches an Lehrgeld zahlt, hängt sicherlich von mehreren Faktoren ab, etwa der Art der Aufgabe oder der Vorbildung des Baumeisters.

Dennoch – das zeigen die Beispiele, die das Linux-Magazin hier unter die Lupe nimmt – lassen sich Kriterien finden, die man bei der Auswahl des richtigen Tools im Auge behalten sollte.

Eva/3

Als erster Testkandidat erreichte die Redaktion der Eva/3 Application Builder von Optadata.com [1] in der aktuellen Version 1.40. Die Software profitiert als Eclipse-Plugin von Stabilität, Funktionsvielfalt und Ergonomie der bekannten Entwicklungsplattform, die IBM 2001 in die Open-Source-Welt entließ.

So gibt es keine Probleme mit dem Handling, wenn man von Kleinigkeiten, wie dem in der Linux-Version falsch voreingestellten Microsoft-Look&Feel absieht. Ärgerlich an dieser Stelle ist auch weniger der unpassende Defaultwert als die fruchtlose Suche danach im Handbuch, das auf jeden Fall die Überarbeitung durch einen Dokumentations-Profi verdient: Es fehlt ein Register, die Sprache könnte oft gefälliger und klarer sein und die Gliederung ist nicht immer zweckmäßig. Letzteres führt zu Redundanzen und lässt gleichzeitig andere Fragen unbeantwortet.

Als Pluspunkt ist zu vermerken, dass Doku, Hilfetexte und Tutorials in Deutsch verfügbar sind und ein jüngst eingerichtetes Anwenderforum im Internet den Erfarungsaustausch fördert. Auch die mitgelieferten Beispiele wurden gegenüber den Vorgängerversionen erweitert. Für zwei typische Anwendungen, ein Kassenbuch und eine Kundendienst-Verwaltung, kann jetzt ein Wizard vorkonfigurierte Projekte anlegen.

Zusammengeklickt

Da sich Eva in die Eclipse-Infrastruktur einmietet, verwundert nicht, dass er Java spricht. Was durchaus von Vorteil ist: Wer ein wenig Java-Erfahrung hat, wird beim Application Building davon profitieren, wer nicht, kann zumindest auf bergeweise Einsteigerliteratur zurückgreifen. Für einfache Eingabeformulare oder Reports wird ohnehin kaum Sprachkenntnis vorausgesetzt: Was der GUI-Entwickler per Drag&Drop designt, landet als Ressource in einem XML-File, das den Aufbau der grafischen Oberfläche beschreibt.

Am ehesten ist noch Wissen über die Arbeitsweise der verschiedenen Layoutmanager nötig. (Dass Eva sie überhaupt bemüht, ist schon ein Vorteil gegenüber Mitbewerbern, die zum Teil darauf verzichten.) Sind zahlreiche Grafikelemente in verschiedenen Fenstern zu platzieren, gestaltet sich die Anpassung aller Constraints relativ langwierig. Das ist die unausweichliche Kehrseite der Mausbedienung. Könnte man auf einfache Weise Defaultwerte für die Ausrichtung optisch zusammengehöriger Elemente definieren, wäre schon sehr viel Klickerei gespart.

Tabelle 1: Getestete
Produkte

 

Produkt

Eva/3 Application Builder

Gupta Team Developer 2005

Omnis Studio

Version

1.4.0

4.0.0

4.0.1

Hersteller

Optadata

Gupta Technologies

Raining Data Corporation

URL

[http://www.optadata.com]

[http://www.optadata.com]

[http://www.omnis.net]

Plattformen

Java

Linux, Windows

Linux, Windows, Solaris, Mac OS

Preis

ca. 500 Euro

ca. 3000 Euro

ca. 250 Euro

Der Vorrat an fertigen Gestaltungselementen (Beans) ist ausreichend und dem der Konkurrenten vergleichbar, eigene Kreationen lassen sich hinzufügen (Abbildung 1). Es fehlen Beans für Charts, die etwa Team Developer und Omnis Studio bieten, sie wären speziell in Reports häufig gut zu gebrauchen.

Der Application Builder kann via JDBC mit zahlreichen freien und kommerziellen SQL-Datenbanken kommunizieren, darunter MySQL und PostgreSQL genauso wie Oracle oder MS SQL Server. Wer Daten nicht nur ablegen und heraussuchen, sondern darüber hinaus in irgendeiner Weise weiterverarbeiten möchte, braucht allerdings etwas mehr Programmierkenntnisse: Er muss eigene Java-Klassen schreiben.

Abbildung 1: Die Oberfläche einer Mail-Datenbank während der Montage im Eva/3 Application Builder. Ein Testlauf blendet probeweise das gerenderte Zwischenergebnis in einem Extra-Fenster ein.

Abbildung 1: Die Oberfläche einer Mail-Datenbank während der Montage im Eva/3 Application Builder. Ein Testlauf blendet probeweise das gerenderte Zwischenergebnis in einem Extra-Fenster ein.

Team Developer 2005

Vom Application Builder unterscheidet sich Guptas Team Developer [6] in etlichen Punkten. Der wichtigste: Wie der Name bereits andeutet, ist er für die Gruppenarbeit in größeren Projekten ausgelegt. Dafür integriert er neben einem Versionskontrollsystem (PVCS) auch Tools für das Management von Coding Standards, für die Verwaltung von Teilprojekten, den Ableich von Änderungen im Quelltext und Ähnliches mehr. Darüber hinaus bringt der Team Developer Guptas hauseigene Datenbank SQL Base bereits mit – nebst SQL-Konsole und Verwaltungswerkzeugen. Damit ist er unabhängig von externen Datenbankservern, die er jedoch auch anspricht, vorzugsweise via ODBC.

Apropos ODBC: Die Verbindungstechnik deutet schon die Herkunft des Developers aus der Windows-Welt an. Und tatsächlich läuft unter Linux das Windows-Binary in einer Wine-Emulation. Eine native Linux-Version wird es voraussichtlich 2006 geben, wie das Linux-Magazin von Guptas Vice President und Chief Technology Officer Charles W. Stevenson erfuhr. Zurzeit soll die Emulation dafür sorgen, dass auch mit Linux vorhandene Active-X-Controls in Applikationen verbaut werden können.

Dahinter verbirgt sich aber auch das derzeit größte Handicap. Der Linux-Magazin-Tester jedenfalls hatte auf zwei Rechnern – einem individuell konfigurierten Gentoo-Notebook und einer Suse-9.3-Standardinstallation auf schneller Desktop-Hardware – deutliche Probleme mit der Performance und dem Bildschirm-Refresh und musste die hängende Entwicklungsumgebung mehrfach gewaltsam beenden.

Auch wenn hier möglicherweise noch durch geduldige Konfigurationsexperimente Verbesserungen zu erzielen sind: In dieser Preisklasse möchte man sich nicht mit solchen Problemen herumschlagen. Lief das Entwicklungswerkzeug, war es einfach zu bedienen. Grafische Elemente platziert der Entwickler per Drag&Drop in der Layoutansicht, ihre Eigenschaften passt er im Fenster eines Attribut-Inspektors an.

Außerdem

Das Angebot an Tools für visuelles datenbankgestütztes Programmieren unter Linux hat sich in letzter Zeit deutlich erweitert. Am unteren Ende der Skala rangieren dabei programmierbare Datenbank-Frontends wie beispielsweise das freie KNoda [2]. Es kann Formulare und Reports erzeugen und dabei beliebige, gespeicherte oder interaktiv einzugebende SQL-Abfragen ausführen. Eigene Erweiterungen lassen sich in Python programmieren.

Ein ähnliches Konzept verfolgt das kommerzielle Rekall [3]. Beide Tools unterstützen eine breite Palette an Datenbanken. Am anderen Ende gibt es als universelles grafisches Programmiertool seit langem den Delphi-Port Kylix [4] von Borland, der auch C/C++ versteht und in einer freien Version zu haben ist. Relativ neu auf dem Parkett ist Limbas [5], ein auf Internettechnologie spezialisierter Datenbank-Client, der in einem Webbrowser ablaufen kann.

Abbildung 2: Nachdem die gewünschten Tabellen und ihre Verknüpfungen ausgewählt sind, erstellt der Quick-Form-Wizard daraus automatisch eine passende Eingabemaske.

Abbildung 2: Nachdem die gewünschten Tabellen und ihre Verknüpfungen ausgewählt sind, erstellt der Quick-Form-Wizard daraus automatisch eine passende Eingabemaske.

Ein Coding Assistant präsentiert alle verfügbaren Klassen und Methoden, ein Mausklick reicht für die Auswahl. Zusätzlich ist ein Klassen-Browser verfügbar, der die Erbfolge anschaulich macht. Andere Assistenten sind sogar in der Lage, ganze Entwicklungsabschnitte – etwa den Entwurf einer Erfassungsmaske für eine gegebene Datenbanktabelle – vollkommen selbstständig zu übernehmen (Abbildung 2).

Die Dokumentation für Team Developer ist sehr umfangreich und vielseitig – allerdings komplett in englischer Sprache. Ebenfalls in Englisch sind online White Papers, Webinars und eine Tippsammlung abrufbar.

Omnis Studio

Omnis [7] wirbt mit seiner Spezialisierung auf Webanwendungen, die ein eigener Client ausführt. Er ist direkt aus dem Internet auf dem Rechner des Anwenders installierbar. Von dort aus kommuniziert er mit dem Omnis-Server, der viele Client-Anfragen parallel bearbeitet. Zusätzlich ist der Client auch in der Lage, selbst Skripte auszuführen, was bei Bedarf die Last verteilt und den Netzwerkverkehr minimiert. Mit dieser Ausrichtung zielt Omnis Studio speziell aufs E-Business, etwa im Bereich E-Commerce, CRM- oder Supply-Chain-Management.

Programmiert werden die Anwendungen wie beim Team Developer in einer besonderen, objektorientierten 4-GL-Sprache. Sie bindet nicht nur eigene Komponenten, sondern bei Bedarf auch Active-X-Controls oder Java-Beans ein. In die Entwicklungsumgebung ist ein Debugger integriert, ein Versionskontrollsystem gibt es als Plugin.

Die grafische Gestaltung von Standards wie Eingabedialogen für Datenbanktabellen unterstützen auch bei Omnis Studio Assistenten (Abbildung 3). Sie halten dafür sogar eine umfangreiche Palette an Gestaltungsvarianten vor. Der Entwickler kann das Layout nachträglich ändern, gefällt es ihm aber, kommt er um das aufwändige Positionieren und Ausrichten vieler einzelner Elemente herum.

Auch Omnis Studio ist von externen Datenbanken unabhängig. Wenn kein Server zur Verfügung steht, kann es mit einer eigenen Flat-File-DB arbeiten. Auf Wunsch kommuniziert es auch mit Oracle, Informix, Sybase, DB 2, MySQL, dem MS SQL Server oder anderen ODBC- oder JDBC-konformen Datenbanken. Ein SQL-Browser ist an Bord.

Abbildung 3: Der zuständige Omnis-Wizard kreiert nicht allein automatisch Eingabeformulare zu vorgegebenen Datenbanktabellen, sondern bietet dafür auch noch eine Fülle an Gestaltungsvarianten an.

Abbildung 3: Der zuständige Omnis-Wizard kreiert nicht allein automatisch Eingabeformulare zu vorgegebenen Datenbanktabellen, sondern bietet dafür auch noch eine Fülle an Gestaltungsvarianten an.

Probieren geht über Studieren

Bevor sich ein potenzieller Anwender für ein RAD-Werkzeug entscheidet, sollte er gründlich testen und vergleichen. Später lässt sich diese Entscheidung kaum mehr korrigieren. Zumindest wäre dann alle bis dahin investierte Mühe umsonst gewesen, denn alle Tools produzieren proprietären Code, der sich nicht migrieren lässt und nur mit der arteigenen Laufzeitumgebung funktioniert.

Die Fertigbauweise beschränkt naturgemäß immer die Gestaltungsfreiheit. Das muss nicht automatisch nachteilig sein, es empfiehlt sich aber, die Grenzen des benutzten Tools vor dem Projektstart auszuloten. Alles, was nicht dem Lochraster des jeweiligen Baukastens entspricht, wird sehr aufwändig, wenn nicht unmöglich sein.

Neben den Widgets der Standardversionen lassen sich alle Werkzeuge um weitere grafische Elemente und Funktionen erweitern. Wer mit Blick auf die Gestaltung der Oberfläche besondere Vorgaben erfüllen muss, wird die Verfügbarkeit der passenden Elemente oder der erforderlichen Erweiterungen entsprechend hoch gewichten. Guptas Team Developer etwa kann sich aus dem großen Vorrat von Active-X-Controls bedienen, für Eva/3 kann der Anwender eigene Bean-Klassen schreiben, auch wenn das den Gelegenheitsprogrammierer wahrscheinlich eher überfordern dürfte.

Bevorzugt für Datenbankanwendungen

Die Konstruktion mit Standardelementen eignet sich nicht für jede Aufgabe gleich gut. Nicht umsonst sind alle Tools dieser Gattung datenbankzentriert: Alles was mit Datenmanagement im weitesten Sinn zu tun hat, kommt dem System entgegen. Gut geeignet erscheint alles – zwischen der Erfassung von Datensätzen und dem Generieren von Berichten oder Reports – was mit Buchführen, Katalogisieren, Verwalten verwandt ist. Solche Anwendungen werden von den integrierten Sprachen und Code-Assistenten gut unterstützt und kommen ohne Probleme mit den angebotenen Gestaltungselementen aus. Deshalb ist hier auch am ehesten ein Zeitgewinn zu erwarten. Rechenintensive, zeitkritische oder ausgeprägt multimediale Anwendungen stoßen dagegen viel früher an Grenzen.

Fluch und Segen

Mit vormontierten Elementen erwirbt der Programmierer im besten Fall fremdes Know-how, das mit den eigenen Lösungen verschmilzt. Im schlechtesten Fall handelt er sich ein aus eigener Kraft nicht lösbares Problem ein. Zudem kann die Fehlersuche dadurch erschwert sein, dass ihm Einsicht in die Interna der zugekauften Funktionen verwehrt bleibt. Andererseits verhindern die automatisch erzeugten Formulare und Reports Flüchtigkeitsfehler, wie sie einem Programmierer unterlaufen können, der alle Funktionen von Hand kodiert.

Unterm Strich bleibt festzuhalten: Wer sich ohne große Programmiererfahrung an eine Datenbank-Anwendung wagen möchte, die einer der integrierten Assistenten gut unterstützt und die keine exotischen Anforderungen stellt, der hat recht große Chancen von einem RAD-Tool zu profitieren und Zeit zu sparen. Je weniger diese Voraussetzungen zutreffen, je eher verkehrt sich aber diese Wirkung ins Gegenteil.

Infos

[1] Optadatas Homepage: [http://www.optadata.com]

[2] KNoda: [http://www.knoda.org]

[3] Rekall: [http://www.thekompany.com/products/rekall/]

[4] Kylix: [http://www.borland.de/kylix/]

[5] Limbas: [http://www.limbas.com]

[6] Gupta Team Developer 2005: [http://www.guptaworldwide.de]

[7] Omnis Studio: [http://www.omnis.net/products/studio/index.html]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben