Ein Blick in den Kaffeesatz

Java ist lebendiger denn je – dies bewies Sun letztes Jahr mit Java 5.0. Doch wohin geht nun die Reise?

Artikel erschienen in Swiss IT Magazine 2005/09

     

Mit dem letzten Upgrade von 1.4 auf 5.0 wurde Mitte 2004 laut Sun das bedeutendste Release seit Einführung der Sprache Java veröffentlicht. Ziel des «Tiger»-Releases ist unter anderem die Vereinfachung der Entwicklung, zum Beispiel durch Spracherweiterungen wie Annotations, generische Typen und Autoboxing. Darüber hinaus bietet die Version eine Erweiterung der JVM für Monitoring und Management, Verbesserungen der Performance und Skalierbarkeit und eine Optimierung der Startzeit und des Ressourcenverbrauchs von Desktop-Anwendungen.
Das Release bildet die Grundlage für die für Juli 2005 geplante J2EE-Variante. Ein 300 Seiten starker Early Draft der J2EE-Spezifikation 5.0 ist gerade veröffentlicht worden. Auch hier liegt der Schwerpunkt auf einer Vereinfachung der Benutzung, vor allem durch die Verwendung von Annotations. Da einzelne Spezifikationen (z.B. EJB) erst später fertig werden, wird nur das Vorhandensein gefordert und auf die Spezifikationen selbst verwiesen.


Häufigere Releases

Sun hat angekündigt, in Zukunft neue Versionen mit weniger Erweiterungen, dafür aber in kürzeren Abständen zu veröffentlichen. Auch möchte Sun zukünftig die Community neben dem Java Community Process (JCP) noch mehr in die Entwicklung einbeziehen. Für das 2006 angekündigte nächste 6.0-Release mit Namen «Mustang» werden daher regelmässig Sourcecode-Snapshots veröffentlicht. Beiträge sind erwünscht, auch wenn Sun sicher nicht auf alle eingehen kann und wird. Der Schwerpunkt der Version liegt auf Qualität (Bugfixes) und Stabilität, dagegen weniger auf neuen APIs.
Neben den Neuerungen durch Sun selbst profitiert Java mehr und mehr von der Open-Source-Community. Für fast alle Bereiche gibt es mittlerweile sehr gute Produkte, für die es keine oder kaum Konkurrenz aus dem kommerziellen Lager gibt. Dieser Trend wird sich fortsetzen, und es wird in Zukunft noch schwerer werden, den Überblick zu behalten und das für die eigenen Bedürfnisse richtige Tool aus der Vielzahl auszuwählen. Das ist jedoch besser, als auf ein einziges (Standard-)Produkt angewiesen zu sein.


Light ist Trend

Die Community hat mittlerweile erkannt, dass die Handhabung der J2EE-Plattform aufgrund der vorhandenen Komplexität deutlich verbessert werden muss. Hier ist ein klarer Trend zu leichtgewichtigen Lösungen, im Vergleich zu den schwergewichtigen, typischerweise auf den aktuellen Applikationsserver basierenden, erkennbar. Der Trend geht zurück zu einfachen Java-Objekten, sogenannten POJOs (Plain Old Java Objects). Diese enthalten die reine Geschäftslogik und sind von der zugrundeliegenden Technologie (z.B. EJB-Container oder Framework) entkoppelt. Dies ermöglicht eher die Wiederverwendung der Geschäftslogik in vielen Anwendungen oder beim Wechsel der Technologie. Vor allem die Testbarkeit wird deutlich erhöht, was die Qualität der Software ganz entscheidend verbessert – ein lobenswerter Trend.





Als Antwort ist vor allem das Spring-Framework zu sehen, welches zunehmend Verbreitung findet. Spring bietet dem Entwickler einfachere Schnittstellen zu den Low Level Bibliotheken von J2EE und erleichtert deren Handhabung. Anwendungen, die auf Spring basieren, sind nicht oder nur in geringem Masse von Spring abhängig, wodurch ein hoher Grad an Wiederverwendung erreicht wird. Es versucht nicht mit etablierten Lösungen zu konkurrieren, sondern stellt Schnittstellen bereit, um die etablierten Lösungen leicht in die Anwendung zu integrieren. Spring zeigt sehr schön, wie mit Java und unter Zuhilfenahme der aspektorientierten Programmierung (AOP) flexible und testbare Java-Anwendungen erstellt werden können.






Ein Ziel, das EJB 3.0 frühestens ab Mitte 2006 bieten wird. Dann nämlich soll das Final Release der 3.0-Spezifikation fertig sein. Gerade der Einsatz von EJB hat in der Vergangenheit bei vielen Projekten mehr Komplexität erzeugt als Nutzen gebracht. Aber auch Sun hat aus den Fehlern der vergangenen Jahre gelernt und lässt viele Ideen leichtgewichtiger Lösungen in die neue Spezifikation einfliessen. Auch hier geht der Trend in Richtung POJOs und Verringerung des Entwicklungsaufwands. Auch die Erfahrung aus den in der Community bereits akzeptierten APIs zur Datenbank-Anbindung, wie zum Beispiel Hibernate, werden in die Spezifikation einfliessen. Man darf also gespannt sein.


Buhlende Frameworks

Im Bereich der Webentwicklung werben vermehrt Frameworks um die Gunst der Entwickler. Struts ist nach wie vor weit verbreitet, könnte aber Boden an Suns JavaServer Faces, Springs MVC-Framework, Tapestry oder auch Apache Beehive verlieren. Für einen Grossteil der einfachen Webanwendungen ist der Einsatz von Java wegen der Komplexität aus XML-Konfigurationen, langem Deployment-Zyklus etc. aber durchaus fraglich. Als Alternative macht zur Zeit Ruby on Rails (siehe Seite 38) von sich reden, das in Zukunft Java Anteile abnehmen könnte.
Zunehmend an Bedeutung gewinnt die aspektorientierte Programmierung. Hierbei handelt es sich um eine Erweiterung der Objektorientierung, um die Möglichkeit, an sich verteilten Quellcode an zentraler Stelle (dem Aspekt) zu definieren. Dies verbessert das Design und die Wartbarkeit von Softwaresystemen erheblich. Hier wird insbesondere Java durch eine Vielzahl von AOP-Implementierungen wie AspectJ, AspectWerkz, JBossAOP unterstützt. Diese werden teilweise von namhaften Unternehmen wie IBM oder BEA Systems gefördert, was auch die Bedeutung der AOP erkennen lässt.
An Popularität gewinnen auch (wieder) Scriptsprachen, die aufgrund ihrer dynamischen Typisierung eine effizientere Entwicklung erlauben. Scriptsprachen wie Groovy oder Jython bieten dabei eine Java-Anbindung beziehungsweise umgekehrt. Die Vorteile beider Welten können so kombiniert werden.
Die Sprache Java und vor allem ihre J2EE-Plattform sind nach wie vor gesetzt. Wenn es gelingt, die Handhabung zu vereinfachen, wird sich daran auch in naher Zukunft wenig ändern.


Die Autoren

Thomas Baustert und Ralf Wirdemann (info@soft warecoach.de) sind Berater in Hamburg. Sie beschäftigen sich seit mehreren Jahren mit der Entwicklung von Softwaresystemen und unterstützten Entwickler durch Coaching
und Schulungen.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Zwerge traf Schneewittchen im Wald?
GOLD SPONSOREN
SPONSOREN & PARTNER