Kostenlose und kommerzielle Struts-Tools im Überblick

Tools zum Verstreben

Sven Haiges

Die enorme Verbreitung des Struts-Frameworks hat auch einen Markt an darauf spezialisierten Entwicklugstools hervorgebracht. So existiert eine Reihe kommerzieller wie frei verfügbarer Werkzeuge, welche die Entwicklung mit Struts durch reichlich Visualisierung vereinfachen. Dieser Artikel stellt Ihnen die derzeit interessantesten visuellen Struts-Tools vor und geht auf deren Vor- und Nachteile sowie deren Produkt-Features ein.

Das Spektrum an Tools für das Web-Application Framework Struts [1], [2] reicht mittlerweile von einfachen und kostenlosen Editoren für die zentrale Struts-Konfigurationsdatei struts-config.xml bis hin zu vollständig integrierten Entwicklungsumgebungen, die nicht nur die eigentliche Entwicklung durch Code-Generierung und Visualisierung des Webflows, etc. erleichtern, sondern weit darüber hinausgehen.

Dieser Artikel beschäftigt sich mit visuellen Struts-Tools im weiteren Sinne, d.h. auch auf einfache Struts-Config Editoren wie zum Beispiel die Struts Console von James Holmes [3] wird kurz eingegangen. Bei der Recherche wurde jedoch schon früh klar, dass sich die Investition in kommerzielle Struts-Tools wie etwa Adalon [4] von Synthis oder Camino [5] von Scioworks rasch für professionelle Web-Entwickler auszahlen kann. Um das Fazit also gleich vorweg zu nehmen: Für kleinere Projekte und sofern man möglichst viele Technologie-Entscheidungen selbst treffen möchte, reichen die Open Source-Tools allemal aus. Wenn Web-Projekte aber rasch und ohne viel Aufwand vom Fließband rollen sollen, empfiehlt sich der Kauf eines kommerziellen Produkts, welches die Entwicklung deutlich beschleunigen kann.

Struts Console

Die Struts Console von James Holmes wurde laut Angaben auf der Website [3] bereits über 50.000 Mal heruntergeladen und ist zweifellos das bevorzugte kostenlose Tool (nein, nicht Open Source), sobald es um Struts geht. Das Tool kann entweder stand-alone verwendet werden oder als Plugin für eine große Zahl an IDEs. Darunter befinden sich Borlands JBuilder, Eclipse, IBM Websphere Application Developer, IntelliJ IDEA, Netbeans, Sun Forte und Oracle JDeveloper. Dieses Tool ist somit ein wahres Integrationswunder und sollte von fast jedem Java-Entwickler in seine IDE integriert werden können.

Zu den Features der Struts Console zählen neben dem Editieren der struts-config.xml (Version 1.0 und 1.1) auch volle Unterstützung für die restlichen Konfigurationsdateien wie etwa die Validator oder Tiles-Konfigurationsfiles. Eine weitere Stärke des Tools ist der Wizard zur Konvertierung von herkömmlichen HTML-Files in Struts-kompatible JSP-Files. Damit ist die Liste der Features jedoch auch schon abgeschlossen, die Struts Console erlaubt nicht die Visualisierung des Struts Webflows oder die Code-Generierung (z.B. Von ActionForms oder Action-Klassen).

Abb. 1: James Holmes‘ Struts Console bei der Bearbeitung eines FormBean-Eintrages in der struts-config.xml

In die gleiche Kategorie wie die Struts Console von James Holmes kann auch das Open Source-Project Struts Builder [6] eingeordnet werden. Zwar können nur struts-config.xml-Files und keine weiteren Konfigurationsfiles bearbeitet werden, jedoch verfügt das Tool zum Ausgleich über einfache Code-Generierungs-Funktionen. Dadurch können die ActionForms sowie die Skeletons der Action-Klassen automatisch erzeugt und müssen nicht mehr mühsam von Hand erstellt werden. Selbstverständlich muss der Entwickler wie auch bei der Struts Console jedoch immer noch genau wissen, was er in die vielen Textfelder für Werte einträgt, denn auch der Struts Builder überprüft die Angaben nicht auf Richtigkeit. Spätestens beim ersten Kompilier-Versuch der Sourcen fallen diese Lücken dann auf. Praktischerweise kann das Tool jedoch direkt über Java Web Start per Link auf der Homepage des Projektes gestartet werden und lädt somit zum Kennenlernen geradezu ein.

Abb. 2: Der Struts Builder während der Bearbeitung einer Struts Action

Ein weiteres bei Sourceforge gehostetes Open Source-Projekt ist Easy Struts [7]. Das Tool wird entweder als Plugin in Eclipse oder Borlands JBuilder 5 oder 6 integriert und sticht vor allem durch seine Wizards hervor. Gerade unerfahrene Struts-User wird dieses Eclipse Tools besonders ansprechen, da oftmals die Erzeugung elementarer Klassen wie einer Action oder ActionfForm Schritt für Schritt erfolgt und damit sehr übersichtlich vonstatten geht. Neben eines struts-config.xml-Editors soll Easy Struts dem Entwickler auch einen Überblick über alle mit Struts zusammenhängenden Artefakte geben, was dem Tool jedoch eher schlecht als recht gelingt. Eclipse bietet bereits umfangreiche Sichtweisen auf den Inhalt eines Projektes und Easy Struts kann Eclipse in diesem Fall nicht überbieten.

Abb. 4: Easy Struts integriert in Eclipse

Die bisher vorgestellten Tools dienten hauptsächlich dem komfortablen Editieren der struts-config.xml sowie der Code-Generierung von einigen Struts-Komponenten. Der Struts Configuration Editor von Improve (Open Source) wird als Plugin in Eclipse installiert und erlaubt die Visualisierung des in der struts-config.xml abgespeicherten Webflows. Somit ist es eines der wenigen kostenlosen Tools (wenn nicht sogar das Einzige), welches diese Arbeit vollbringt. Die weiteren Features beschränken sich auf das Öffnen des angeklickten Struts-Files (z.B. einer Action) in Eclipse sowie auf die Anzeige der struts-config.xml als Sourcedatei (dabei springt der Editor automatisch an die passende Stelle).

Abb. 5: Visuelle Darstellung des WebFlows durch den Struts Configuration File Editor von Improve innerhalb der Eclipse-Umgebung.

Bevor wir mit der Vorstellung einiger kommerzieller Tools beginnen, sollten zunächst noch die STRECL-Tools [8] erwähnt werden. Diese Suite an Tools sollen allesamt die Arbeit mit Struts erleichtern und können kostenlos von der Homepage des Herstellers für Tests heruntergeladen werden. Leider wurde die Arbeit an diesen Tools vor Kurzem eingestellt und somit ist die zukünftige Fortführung – etwa als Open Source-Projekt – ebenfalls fraglich.

Camino 3.0

Wir wenden uns nun den kommerziellen Tools zu. Scioworks beschreibt die neueste Version seines Produkts Camino [9] als Visual Modelling Tool for Struts Applications und in der Tat kann Camino dieses Versprechen halten. Schon beim ersten Start der Applikation wird deutlich, dass es sich hier um ein ausgereiftes und stabiles kommerzielles Produkt für die smarte Entwicklung von Struts-Applikationen handelt. Der WebFlow einer Struts-Applikation (bei Camino Storyboard genannt) wird übersichtlich dargestellt und der Entwickler behält die Übersicht über sein Projekt. Attribut-Fenster erleichtern die Änderung von Einstellungen in der struts-config.xml und werden automatisch mit den aktuellen Daten je nach angeklicktem Objekt im Storyboard gefüllt. Nachdem ein Web-Projekt mittels des Storyboards entworfen wurde, kann der Code-Generator automatisch die FormBeans und die Skeletons der Action-Klassen generieren. Der eingebaute JSP-Editor bietet zwar Syntax-Highlighting und automatische Synchronisation mit dem Storyboard, jedoch wäre hier noch die Erkennung der Struts-TagLibs für die Arbeit mit diesen Tags wünschenswert. Neu in der uns vorliegenden Version 3 ist auch die Bearbeitung von Validator-Files für beliebig viele Sub-Applikationen sowie die Erzeugung von DynaBeans anhand existierender JSP-Seiten. Ebenso wie die Struts Console erlaubt Camino darüber hinaus auch die Umwandlung von existierenden HTML-Seiten in Struts-JSPs.

Insgesamt ist Camino damit ein sehr empfehlenswertes Tool für die Arbeit mit Struts-basierten Web-Applikationen. Camino lässt die Kontrolle über die Applikation zu 100% beim Entwickler und erzeugt auch nur 100% Struts-kompatiblen Code, welcher frei von etwaigen Erweiterungen ist. Eine Lizenz für Camino ist für 250 US$ erhältlich.

Abb. 6: Scioworks Camino bei der Bearbeitung des Storyboards. Automatisch werden relevante Informationen im Attribute-Fenster mit angezeigt.

Synthis Corporation mit dem Tool Adalon [10] bietet eine umfassende Software-Lösung zur Analyse, Modellierung und Design von Web-Applikationen an. Adalon bietet deutlich mehr Features als alle bisher vorgestellten Tools und sticht vor allem durch ein durchdachtes Management für Web-Applikationen hervor. Angefangen von der Aufnahme der Requirements, bis hin zur Code-Generierung für verschiedene Frameworks (darunter auch Struts in drei Ausprägungen) ist alles in diesem Tool enthalten. Ein neues Projekt beginnt zunächst mit der Erzeugung von Wireframe-Modellen, welche den Ablauf der Web-Applikation abpictureen (sozusagen den Webflow oder das Storyboard). Sämtliche Requirements können dann einzelnen JSP-Seiten zugeordnet werden und zum Schluss beispielsweise für die Kommunikation mit dem Kunden als HTML-Ansicht abgespeichert werden. Für das Struts-Framework bietet Adalon drei Stufen der Code-Generierung an. Die erste Stufe erzeugt reine Struts-Komponenten und der Entwickler ist selbst für die Calls zur Business-Logic verantwortlich. Die beiden nächsten Stufen erweitern das Projekt um die Integration von zahlreichen Open Source-Lösungen, welche in Stufe 3 das Projekt dann auf die Verwendung von EJBs als Business Components vorbereiten.

Abb. 7: Adalon

Exadel Inc. mit Hauptsitz in Concord in Kaliforniern steuert das Tool Struts Studio [11], [12] in einer Community und Professional Version zur Liste der kommerziellen Struts-Tools bei. Nach einer reibungslosen Installation der Community-Version konnte das Tool problemlos eine existierende Struts 1.1-Applikation importieren. Ein wichtiges Features dieses Studios ist wiederum die grafische Repräsentation des Struts Webflow und die einfache Erzeugung sämtlicher Klassen ausgehend von dem Struts-Konfigurationsfile. Ein klick mit der rechten Maustaste auf FormBeans in der Hierarchie der struts-config.xml beispielsweise bringt einen FormBean-Wizard in den Vordergrund, der die Erstellung der FormBean begleitet. Ein weiteres Highlight im Vergleich zu anderen Tools ist der JSP-Editor mit Syntax-Highlighting plus eine Bibliothek sämtlicher Struts-spezifischer Tag Libraries, die per Mausklick in die JSP gezogen werden können. Dies ist wirklich eine große Erleichterung, da die genaue Syntax der Struts-Tags oft viel Kopfzerbrechen bereitet. Des Weiteren funktionierte die Integration mit Tomcat und Ant problemlos. Die Professional Version bietet neben den bereits angesprochenen Features vor allem Support für die Arbeit mit Tiles und die Bearbeitung der Konfiguration des Validator-Frameworks. Die kommerzielle Version unterstützt auch das Ausdrucken des Struts Webflows in unterschiedlichen Zoom-Stufen zur Dokumentation sowie den Import von beliebigen JSP-Tag Libraries in ein Struts Studio-Projekt. Eine Lizenz für das Struts Studio ist für US$ 299.- erhältlich, deutscher Distributor ist die Objective Software GmbH aus München [12].

Abb. 8: Struts Studio
Geschrieben von
Sven Haiges
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.