Moderne Webentwicklung mit Java EE 7: Ein Experiment

Seite 6: Fazit

Inhaltsverzeichnis

Der Vergleich zwischen Java EE 7 und Ruby on Rails hinkt ein wenig. Rails ist ein auf die schnelle Entwicklung von Webanwendungen spezialisiertes Framework, während Java EE noch deutlich mehr zu bieten hat und das Erstellen komplexer Geschäftsanwendungen ermöglicht. Dementsprechend ist man im Webumfeld auch heute noch mit Rails deutlich produktiver. Java EE 7 hat jedoch bereits viele sinnvolle Features moderner Webframeworks adaptiert und ermöglicht im Vergleich zu früheren Versionen der Plattform eine leichtgewichtigere Webentwicklung.

Für Einsteiger ist die Komplexität von Java EE allerdings nicht zu unterschätzen. Allein die zahlreichen Annotationen, die teilweise mit gleichem Namen in verschiedenen Packages mit unterschiedlicher Funktion definiert sind, machen es Entwicklern schwer, einen Einstieg zu finden. Und die Fehlersuche gestaltet sich dadurch auch nicht gerade einfacher. Die Testbarkeit von Anwendungen in Java EE ist noch optimierungswürdig. Im Vergleich zu Rails, das Unit- und Integrationstests gegen echte Datenbanken von Haus aus mitliefert, ist bei Java EE noch viel Aufwand nötig, um die Anwendung zu testen. Auch wenn Frameworks wie Arquillian dabei helfen, ist die höhere Komplexität insbesondere durch die zahlreichen Abhängigkeiten deutlich spürbar.

Wer allerdings ohnehin im Java-Umfeld entwickelt, der bekommt mit Java EE 7 ein Werkzeug an die Hand, das es durchaus mit anderen Sprachen aufnehmen kann. Die statische Typisierung, eine klare Trennung der Zuständigkeiten, einfache Dependency Injection und insbesondere die garantierte Langlebigkeit des Frameworks sind gute Argumente für Java als Webanwendungsplattform. Außerdem trägt nicht zuletzt Javas gute Performance dazu bei, dass Unternehmen wie Twitter von Ruby on Rails zu Java wechseln.

Aus eigener Erfahrung kann der Autor sagen, dass die agile Entwicklung mit Ruby on Rails immer noch mehr Spaß macht und schneller zu Ergebnissen führt als das Implementieren des x-ten Getters in Java. Auch die 133 Lines of Code, die David Heinemeier Hansson für sein komplettes Blog-Projekt in Rails schreiben musste, sind im Beispielprojekt weit überschritten, obwohl es nicht annähernd alle Funktionen besitzt. Aber der Einfluss der modernen Webframeworks ist in Java EE 7 deutlich zu spüren und die Plattform entwickelt sich in die richtige Richtung. Und vielleicht kann man ja sogar irgendwann einmal mit Fug und Recht behaupten, dass man Webanwendungen gerne mit Java entwickelt.

Stefan Macke
ist Softwarearchitekt bei der Alte Oldenburger Krankenversicherung AG. Seit 2007 ist er dort außerdem Ausbilder für Anwendungsentwickler. In seinen aktuellen Projekten beschäftigt er sich mit der Modernisierung von Altanwendungen auf Basis einer serviceorientierten Architektur mithilfe von Java.
(rme)