Entwicklung

Mit XDEV 3 zu Rapid Java

13.07.2011 von Gerald Kammerer
Wer die Komplexität der Java-Programmierung umgehen möchte, bedient sich visueller Tools für Rapid Application Development. Namhafter Vertreter dieser Sparte ist das auch kommerziell kostenlos nutzbare XDEV, das seit Mai in Version 3 zur Verfügung steht.
Mit XDEV 3 zu Rapid Java.
Foto: fotolia.com/Argus

In vielen Unternehmen entstehen individuelle Softwarelösungen bereits in den Fachabteilungen, die auf diesem Weg bestimmte Arbeitsprozesse optimieren wollen. Für die Umsetzung kommen meist 4GL-Tools wie Microsoft Access, Oracle Forms, Filemaker oder vergleichsweise einfach Programmiersprachen wie Visual Basic zum Einsatz. Anfangs lassen sich damit schnell Fortschritte erzielen. Mit zunehmender Projektgröße stößt man schnell an die Grenzen der Werkzeuge. Anforderungen wie moderne Oberflächen, Web-Fähigkeit, Skalierbarkeit und die Unterstützung offener Standards lassen sich mit ihnen nur bedingt realisieren. Außerdem muss man Nachteile wie Speichergrenzen, proprietäre Laufzeitumgebungen und Runtime-Lizenzgebühren in Kauf nehmen.

Für viele Anwender ist deshalb Java die Wunschtechnik. Sie gilt jedoch als kompliziert und selbst die Umsetzung kleinerer Geschäftsanwendungen ist ohne Expertenwissen kaum möglich. Komfortable Drag-and-Drop-Werkzeuge und einfache Datenbankkonzepte wie in Access gibt es in Java-Editoren etwa von Eclipse nicht.

Mit XDEV 3 lassen sich Java-Oberflächen wie mit einem Grafikprogramm entwerfen. Java-Know-how braucht man dazu nicht.

Eine Lösung für dieses Problem bieten Java-Generatoren, unter denen sich die im kalifornischen Silicon Valley ansässige XDEV Software Corp. mit ihrer gleichnamigen visuellen Java-Entwicklungsumgebung einen Namen gemacht hat. Die IDE ermöglicht Rapid Application Development (RAD) auch für Java und hebt sich dadurch von konventionellen Editoren ab, bei denen der Code im Vordergrund steht. Das RAD-Konzept umfasst eine Vielzahl an Funktionen, welche die Entwicklung datengetriebener Applikationen in Java radikal vereinfachen und dem Entwickler eine Menge Codierarbeit abnehmen. Dazu zählt unter anderem ein GUI-Builder, Generatoren für Formulare, Listen, Abfragen und Master-Detail-Ansichten. Ein Application Framework stellt zudem eine vollständige Infrastruktur für grafische Oberflächen sowie ein Databinding zwischen GUI und Datenschicht zur Verfügung.

XDEV-Dienstleistung

XDEV 3 ist für Windows, Linux und Mac OS X frei verfügbar. Auch für den kommerziellen Einsatz fallen keine Lizenzkosten an. Der Hersteller gibt auf seiner Web-Seite an, sich mittlerweile weitgehend durch Services zu finanzieren und unterstützt dabei Dienstleister und Endkunden gleichermaßen. Projektverantwortliche die auf Nummer sicher gehen wollen, können schwierige Teilprojekte oder die komplette Projektentwicklung an den Java-Tool-Spezialisten abgeben, um anschließend Wartung und Weiterentwicklung zu übernehmen, was mit XDEV 3 vergleichsweise einfach ist. Vor allem IT-Abteilungen, die noch wenig Erfahrung mit Java besitzen, können so ihr Projektrisiko minimieren.

XDEV-Anwendungen sind als Java-Applikationen unter Windows, Linux und auf dem Mac lauffähig und lassen sich außerdem als Web-Anwendung betreiben. Unter der Haube wird Java-Quellcode generiert, der sich mit dem integrierten Code-Editor an jeder beliebigen Stelle flexibel erweitern lässt.

Die bislang verfügbare Version XDEV 2 nutzte Java vor allem als Laufzeitumgebung. Die Geschäftslogik musste jedoch mit einer eigenen Skriptsprache erstellt werden. In XDEV 3 programmiert man nun direkt in Java und die IDE generiert Java Classfiles, die direkt von der Java Runtime ausgeführt werden. Die in XDEV 2 noch benötigte Interpreterschicht entfällt damit vollständig, was eine kräftige Performance-Steigerung mit sich bringt. Dafür wurde die IDE von Grund auf neu geschrieben.

Java-Oberflächen per Drag and Drop

Mit dem Query-Assistenten lassen sich auch komplexe Datenbankabfragen mit Joins über mehrere Tabellen sowie Filterbedingungen ohne SQL-Programmierung bequem zusammenstellen.

Der GUI-Builder von XDEV 3 beeindruckt durch seinen nochmals gestiegenen Funktionsumfang. Wie bei Visual Basic lassen sich alle verfügbaren Controls aus einer Palette auf die Arbeitsfläche ziehen und dort pixelgenau positionieren. Die Basis ist Java Swing. Programmierkenntnisse braucht man dafür nicht, denn der Code wird automatisch im Hintergrund generiert. Damit ist es möglich, Design und Logik strikt voneinander zu trennen. Für die Gestaltung und Funktionalität stehen sämtliche Controls zur Verfügung die Swing bietet, unter anderem Listen, Tabellen, Trees, Splitpanes, Tabs, Menüleisten und Kontextmenüs sowie Fenstertechnik und echtes Drag and Drop. Auch Sortierfunktionen werden standardmäßig angeboten. Mit einer Component Suite sollen in Kürze weitere leistungsfähige Widgets hinzukommen, die Java so im Standard nicht bietet: zum Beispiel Datagrids, Richtext-Editor, Quickfinder, Autovervollständigung bis hin zu einer voll funktionsfähigen Kalender-Komponente.

Fenster und Formulare, die sich flexibel an die Bildschirmauflösungen anpassen können, werden in Java mit Hilfe eines Layout-Managers umgesetzt. Die Programmierung ist jedoch recht kompliziert und zeitaufwändig. In XDEV 3 steht dafür eine neuer Designer zur Verfügung, mit dem sich auch aufwändige Layouts zum Beispiel für mehrspaltige Formulare sehr schnell konstruieren lassen.

Was noch fehlt

Im derzeitigen Betastadium fehlen in XDEV 3 noch Schnittstellen für einige Datenbanken und die Anbindung an ein Versionskontrollsystem wie SVN. Zudem ist die Version für Linux noch sehr fehlerhaft. Die Roadmap hat sich dieser Punkte jedoch angenommen, sodass man auf das Final Release im Mai gespannt sein darf.

Einfaches Databinding

Zweifellos können auch andere Java-IDEs wie Netbeans mit einem GUI-Builder aufwarten und auch für Eclipse gibt es entsprechende Plug-ins. Doch damit lassen sich nur die nackten Controls auf den Bildschirm bringen. Die gesamte Funktionalität einer Oberfläche sowie das Databinding muss der Entwickler größtenteils selber implementieren. Bei XDEV 3 fängt Rapid Application Development an dieser Stelle erst richtig an und die Vorteile werden deutlich.

Das integrierte Application Framework (Open Source) stellt mit "Virtuelle Tabellen" (VT) ein Databinding zwischen GUI und Datenschicht zur Verfügung, das Abfragen, Visualisierung und Persistierung weitestgehend automatisiert. Damit müssen sich Entwickler weder mit JDBC, Resultset-Verarbeitung und Transaktions-Management, noch mit komplizierter MVC-Programmierung auseinandersetzen, was gerade für Einsteiger eine enorme Vereinfachung darstellt.

Eine voll funktionsfähige Master-Detail-Ansicht mit verknüpftem Formular lässt sich in nur wenigen Minuten erstellen. Der generierte Code lässt sich an jeder Stelle erweitern.

Um Daten auf den Bildschirm zu bringen, können GUI-Elemente mit einer VT verknüpft werden. Alles weitere erledigt die VT selbst. So lassen sich Tabellen und Dropdown-Listen füllen und selbst aufwändige Master-Detail-Listen sind mit wenigen Klicks konstruiert. Auch Formulare können automatisch generiert und mit Tabellen so verknüpft werden, dass diese interagieren. Validierung lässt sich wahlweise in einem Formular oder in einer VT global implementieren.

Für aufwändigere Abfragen gibt es einen innovativen Query-Assistenten, mit dem man sich auch komplexe Joins und Filter zusammenklicken kann, ohne dafür SQL-Code schreiben zu müssen. Auch das Absetzen eigener und generierter SQL-Statements ist möglich.

Eigene Komponenten

Wem der Funktionsumfang nicht ausreicht oder wer Features nicht mehrfach codieren möchte, kann über die Javabean-Schnittstelle sehr leicht eigene Komponenten schreiben und diese in den GUI-Builder aufnehmen. Ebenso ist das Einbinden externer Beans möglich, um XDEV 3 individuell zu erweitern.

Auch Internationalisierung ist kein Problem. Anstatt Text statisch im GUI auszugeben, lassen sich Textvariablen verwenden. Die eigentlichen Texte werden dagegen als Ressource in externe Sprachdateien ausgelagert. Zur Laufzeit ermittelt die Applikation die Systemsprache und sucht nach einer entsprechenden Sprachdatei. Diese wird dann ausgelesen und die Texte werden über die Variablen auf die Oberfläche gemappt.

Java-Code-Editor unter der Haube

Der Java-Code-Editor bietet Autovervollständigung, Syntax-Highlighting, Code-Folding, Refactoring, Stack Trace Debugger etc. Er genügt damit auch professionellen Ansprüchen.

Für die Geschäftslogik bietet XDEV 3 einen völlig neuen Code-Editor, der mit durchdachten Features den Einstieg in Java erleichtert. Wer die Java-Syntax nicht ausreichend beherrscht, kann Anweisungen auch über eine Palette in den Editor einfügen. Die jeweilige Kontrollstruktur inklusive Klammern wird dann automatisch erzeugt, sodass man nahezu keine Syntaxfehler mehr machen kann. Wer eine Funktion sucht, wird schnell fündig: In der Split-View Ansicht genügt ein Klick auf ein GUI-Element und die Bibliothek zeigt alle Methoden dazu an.

Anfangs ungewöhnlich erscheint die voreingestellte Partial-Codeansicht. Der Editor zeigt hier nur das Ereignis, in dem man sich gerade befindet, sowie den Aktionscode, den man selbst dafür geschrieben hat. Der vom Tool generierte Code wird jedoch vollständig ausgeblendet, um zu verhindern, dass sich der Entwickler überfrachtet fühlt. Die Gesamtmenge an sichtbarem Code schrumpft dadurch auf einen Bruchteil und hilft vor allem dem Anfänger, die Übersicht zu behalten. Erfahrene Entwickler können diese Einstellung ausschalten, um den gesamten Code zu sehen.

Darüber hinaus bietet der Editor alles was Profis von einem modernen Java-Editor erwarten, unter anderem Autovervollständigung, Syntax-Highlighting, Codefolding, Refactoring, Code-Templates sowie Code-Generatoren für Konstruktoren, Getter und Setter. Ein Inspector zeigt Syntaxfehler und unsaubere Codestellen, die man mit Quickfixes beseitigen kann. Anders als bei XDEV 2 ist nun auch das Einfügen von Java-Codeschnipseln möglich. Auch die Performance überzeugt. Bei einem Test wurden mehr als 100.000 Codezeilen in nur wenigen Sekunden kompiliert.

Fazit

XDEV 3 ist eine Java-Entwicklungsumgebung für Rapid Application Development, die einen fließenden Übergang zur konventionellen Java-Programmierung ermöglicht. Das RAD-Konzept sorgt für erheblich kürzere Entwicklungszeiten, insbesondere bei der Erstellung datengetriebener Business-Applikationen. Damit schließt XDEV 3 die Lücke zwischen 4GL-Tools wie Access und Java-Editoren wie Eclipse. IT- und Fachabteilungen, die mit ihrer 4GL-Lösung an Grenzen stoßen, können mit XDEV 3 jederzeit schnell und kostengünstig auf Java umsteigen. (ue)

Pro und Kontra

+ GUI-Design ohne Programmierung möglich;

+ einfaches Databinding für Java-GUIs;

+ Generatoren für Formulare, Master-Detail-Ansichten und n:m-Daten;

+ Query Assistent - komplexe Abfragen ohne SQL;

+ Open-Source-Application-Framework.

- Linux-Version im derzeitigen Betastadium noch sehr fehlerhaft.