1. Apache Wicket: Komponenten-orientierte Web-Entwicklung
Eine im Vergleich zu Struts und Spring weniger bekannte, aber dennoch leistungsfähige und robuste Lösung, auf der die eigene Web-Software aufbauen kann, ist "Apache Wicket". Sie abstrahiert das zustandslose Http-Protokoll mit einem durchdachten Objekt-orientierten Programmiermodell, das es Entwicklern ermöglicht, Web-Systeme analog zu Desktop-Anwendungen mit Swing zu implementieren.
Dabei werden Benutzeroberflächen durch eine Java-Klasse und eine dazugehörige HTML-Datei repräsentiert. In der Klasse sind sämtliche grafische Komponenten wie Labels, Buttons und Textfelder definiert. Im HTML-Code müssen dann die dazugehörigen Tags mit dem Attribut "wicket:id" markiert werden, um eine Verbindung zu der entsprechenden Klasse herzustellen. Hier lassen sich sowohl vorgegebene Klassen als auch eigene, anwendungsspezifische Komponentenklassen verwenden. Diese kann man zudem an Modellobjekte binden, was die Konvertierung, Validierung und Speicherung von Benutzereingaben deutlich vereinfachen kann. Darüber hinaus bieten Wicket-Komponenten Ajax-Unterstützung "out of the box" - ohne eine einzige Zeile JavaScript-Code schreiben zu müssen.