Spring 3, Hibernate 4 und Wicket 6: ein starkes Gespann

Ohne Vorkenntnisse ist es gar nicht so einfach, eine Web-Anwendung mit Spring, Hibernate und Wicket aufzusetzen. Dabei reichen dafür nur wenige Zeilen Java-Code.

Im Laufe des Jahre sind im Spring-Framework verschiedene Varianten entstanden, wie man eine Web-Anwendung aufsetzt. Inzwischen ist es möglich, auf externe XML-Konfigurationsdateien vollständig zu verzichten. Wie man konkret vorgeht, eine Spring-Anwendung mit Hibernate und Wicket aufzusetzen, zeigt dieser Artikel.

Weiter lesen…

Migration zu Apache Wicket 6: Was ist zu tun?

Apache Wicket hat viele Stärken. API-Kompatibilität zwischen den großen Versionsnummern gehört leider nicht dazu! Was muss man wissen, wenn man ein bestehendes Projekt zu Wicket 6 migrieren möchte?

Der Versionssprung von Wicket 1.4 zu Wicket 1.5 hatte schon für viel Arbeit gesorgt. Die Entwickler hatten nicht nur neue Funktionen hinzugefügt, sondern die API teilweise erheblich verändert haben. Der Wechsel von Wicket 1.5 zu Wicket 6 ist etwas leichter, doch es gibt erneut viel zu tun.

Weiter lesen…

JEE 6 und die Applikationsserver – ein Blick aus zwei Winkeln

JEE 6 ist eine ausgereifte, jedoch sehr komplexe Technologie. Vor allem der Betrieb eines Applikationsservers bringt eine erhebliche Komplexität mit sich. Was bedeutet der Einsatz eines JEE 6-Applikationsservers, vor allem im Zusammspiel von Architekten und Administratoren?

In einem früheren Beitrag habe ich argumentiert, dass ein Applikationsserver wie z.B. Glassfish zwar hilft, ein Projekt schnell zu starten. Langfristig jedoch erschweren JEE-Applikationsserver die Wartung und Weiterentwicklung eines Systems, vor allem, wenn sie aktualisiert werden – und mit ihnen die ganze technologische Basis eines Systems.

Meine Argumente möchte ich nun etwas vertiefen und einen weiteren Blickwinkel hinzufügen.

Weiter lesen…

NoSQL – hoch-skalierbar, extrem schnell und viel Auswahl

NoSQL-Datenbanken sind nicht nur ein spannendes Thema, sie lösen auch schwierige Probleme. Für welches Einsatzgebiet jedoch welche Art NoSQL-Datenbank passt, ist anfangs nicht offensichtlich.

Aus diesem Grund habe ich eine Einführung in die verschiedenen Arten von NoSQL-Datenbanken geschrieben. Dazu habe ich die Pattern-Form gewählt. Das heißt: Für jede Art NoSQL-Datenbank identifiziert ein Pattern das Einsatzgebiet, für den diese Art NoSQL-Datenbank eine geeignete Lösung darstellt. Zusätzlich wird erläutert, warum das jeweilige Problem schwer ist und mit welchen Konsequenzen man rechnen muss, wenn man eine NoSQL-Datenbank dieser Art einsetzen will.

Weiter lesen…

Mocks für die Frontend-Entwicklung – Teil 2

Der erste Teil dieses Artikels hat gezeigt, wie Mock-Objekte prinzipiell das Leben von Java-Web-Entwickler erleichtern. Nun folgt ein Beispiel aus der Praxis.

Dass die durchgängige Entwicklung von Mock-Objekten relativ viel Arbeit bedeutet, wurde schon im ersten Teil erwähnt. Umso wichtiger ist es, dass die dafür notwendige technische Infrastruktur möglichst einfach umzusetzen ist.

Weiter lesen…

Mocks für die Frontend-Entwicklung – Teil 1

Frontend-Entwickler leiden häufig unter langen Round-Trip-Zeiten beim Bauen und Deployen einer Java-Web-Anwendung. Selbst bei kleinen Layout-Änderungen muss der vollständige Bau-Prozess durchlaufen werden. Mock-Objekte können hier viel Arbeitszeit sparen.

Wer ist von dem Problem überhaupt betroffen? Die Entwickler von Play-, Vaadin– oder Grails-Projekten kennen langsame Build-Prozesse kaum. Auch diejenigen Entwickler, deren Anwendungen in reinen Web-Containern wie Tomcat laufen, profitieren in der Regel von ihrer schlanken Infrastruktur.

Sobald aber „schwerere“ Technologien wie O/R-Mapping, EJBs oder Messaging dazukommen, benötigt das Bauen und vor allem das Deployen einer Anwendung spürbar Zeit. Vor allem der Einsatz von Anwendungsservern bremst die Entwicklung aus. Zum einen funktioniert das Hot-Code-Replacement von Code-Änderungen im laufenden Betrieb meistens schlecht, zum anderen schlagen Änderungen an Ressourcen wie JSF- oder Wicket-Html-Dateien nicht sofort durch. Jedenfalls, solange man nicht Produkte wie JRebel einsetzt.

Weiter lesen…

JEE 6: Keine schlechte Technologie, aber…

Seit der Veröffentlichung von JEE 6 scheinen die Befürworter des JEE-Standards gegenüber den Anhängern der Spring-Welt im Vorteil zu sein. Schließlich ist die JEE-Plattform inzwischen technologisch ausgereift. Da stellt sich die Frage, warum man von diesem Standard abweichen soll.

Konkurrenz zwischen verschiedenen Konzepten führt meistens zu immer besseren Lösungen auf beiden Seiten. Daher kann man als Java-Entwickler froh sein, dass es in der Java-Welt viele gute Produkte gibt. In der Welt der Frameworks für die Enterprise-Entwicklung konkurrieren derzeit vor allem JEE 6 und das Spring-Ökosystem. Und natürlich streiten die Befürworter beider Lager mit Vehemenz, welche Technologie die bessere ist.

Weiter lesen…