Potenzial von JVM und Java EE im Fokus des TSS Java Symposium 2011

Veranstaltungsberichte  –  Kommentare

Das Spieler-Eldorado Las Vegas in der Wüste von Nevada zieht jährlich mehr als 35 Millionen Besucher an. In der Stadt wird allerdings nicht nur gespielt, es finden auch zahlreiche Business-Veranstaltungen statt. Eine davon ist das seit 2000 ausgerichtete TheServerSide Java Symposium, das über wichtige Themen im Java-Enterprise-Umfeld informiert.

Das Motto der diesjährigen Ausgabe lautete: "Java is everywhere, but it's not always Java as we know". Ziel war es, Entwicklern, Architekten und IT-Entscheidern das Wissen und die Fähigkeiten zu vermitteln, damit sie sich in den heterogenen Landschaften im Java-Umfeld zurechtfinden und erfolgreich Projekte abwickeln können. Dadurch ist bereits ein Trend ersichtlich, der auch am Java-Symposium nicht vorbeiläuft: Die Sprache ist nicht nur bei Desktop- und Webanwendungen mit Java SE und Java EE, sondern auch in Bereichen wie Mobile, Embedded und Cloud etabliert. Neben der Sprache selbst kommen vermehrt weitere JVM-Sprachen (Java Virtual Machine) wie Groovy, Scala, Clojure, JRuby oder Jython in den Softwaresystemen zum Einsatz.

James Gosling, Vater der Programmiersprache Java, stieß bei seinem Konferenzeröffnungsvortrag ins gleiche Horn und stellte klar, dass nicht die Sprache selbst der wichtigste Bestandteil von Java sei, sondern die JVM, die als "Integration Hub" die Grundlage für viele Programmiersprachen wie Java, Groovy und Scala sowie Hardware wie Server, Laptops und Handys bilde.

Die Beteiligten einer Panel-Diskussion zu auf der JVM laufenden Sprachen waren sich darin einig, dass die nächste, sich etablierende Programmiersprache ein einfaches Programmiermodell für Nebenläufigkeit bieten müsse. Scala, Erlang und Clojure haben daher gute Chancen.

James Gosling während seiner Keynote über die Zukunft der JVM (Abb. 1)


Die Auswahl an Sprachen, Frameworks und Tools im Java-Umfeld ist dank großer Community und zahlreichen proprietären und Open-Source-Frameworks schon seit Jahren enorm. Auch wenn das als positiv zu bewerten ist, denn durch die Konkurrenz entstehen Innovationen, ist es für den langfristigen Erfolg wichtig, immer das geeignete Mittel für den richtigen Zweck zu finden. Das zeigte Matt Raibles Webframeworks-Vergleich, der die meisten relevanten Frameworks (unter anderem GWT, Grails, Wicket, JSF) im Java-Umfeld gegenüberstellte. Für ihn gibt es allerdings keinen klaren Gewinner. Je nach Projektanforderungen seien unterschiedliche Gesichtspunkte in einer Matrix zu gewichten und zu bewerten, darunter etwa Produktivität, Lernkurve, AJAX-Unterstützung, Skalierbarkeit oder Internationalisierung. Erst dann könne eine Entscheidung folgen, auf welches Webframework ein Projektteam setzen sollte.

Spannend verlief die Panel-Diskussion über den Java Community Process mit Patrick Curran (JCP Chair), Reza Rahman (Entwickler des Java EE Application Server Resin) und Gosling. Deren Fazit war, dass das größte Problem des JCP die fehlende Teilnahme weiterer unabhängiger Entwickler sei. Eine Demokratie kann eben nur funktionieren, wenn viele Menschen daran teilnehmen. Schon das Lesen einer JSR-Spezifikation (Java Specification Request) und das Feedback zu dieser sind ein großer Beitrag zur Verbesserung des JCP und der einzelnen Spezifikationen – aber nicht erst, wenn eine Spezifikation freigegeben ist, sondern bereits während der Erstellungsphase.

Eine wichtige Erkenntnis ist, dass Java EE 6 mittlerweile in den Unternehmen angekommen ist, wie Adam Bien und andere Teilnehmer berichteten. Bien ging auf Best Practices beim Einsatz von Java EE 6 ein. Die aktuelle Enterprise-Java-Version eliminiert bekannte "Java EE"-Patterns wie Factory, Data Transfer Object oder ServiceLocator, da sie durch die Verbesserungen und Vereinfachungen in Java EE 6 unnötig geworden sind. Auch Interfaces muss man nur noch anwenden, wenn sie wirklich erforderlich sind, um die gewünschte Flexibilität bereitzustellen.

Neben internationalen Größen der Java-Szene referierten auch renommierte deutsche Experten über ihre Spezialgebiete (v.l.n.r.: Kai Wähner, Andy Bosch, Adam Bien) (Abb. 2).

Mit Java EE 6 lässt sich zudem die wichtige Anforderung, dass "Java EE"-Anwendungen gut testbar sein sollen, endlich erfüllen. Neben Frameworks wie JSFUnit für das Testen von JSF-Anwendungen (JavaServer Faces) oder soapUI für das Testen von SOAP- und REST-Webservices, die es schon länger gibt, sind nun neue Frameworks und Tools verfügbar. Embedded-Anwendungsserver und -Datenbanken ermöglichen das Testen der Persistierung mit JPA (Java Persistence API), und zwar "leichtgewichtig" und unabhängig vom Produktivsystem. Auch gibt es mittlerweile mit dem JBoss-Projekt Arquillian ein Werkzeug für das Testen von Dependency Injection.

Adam Messinger und Steve Harris von Oracle erläuterten bereits Details über das 2012 zu erwartende Java EE 7. Kaum überraschend wird sich die nächste Version dem Thema Cloud Computing widmen. Bestehende APIs werden überarbeitet, um Serviceorientierung und Mandantenfähigkeit zu ermöglichen, sodass Enterprise-Anwendungen künftig auch in der Cloud laufen können. Java EE 8, für 2013 anvisiert, soll dann auf der Cloud-Infrastruktur seines Vorgängers aufbauen und weitere Funktionen liefern.

Der Veranstalter gliederte – wie andere Konferenzausrichter auch – die Vortragsschienen in die Themen Core Java, Architecture, Language, Tools & Techniques, Agile, SOA und Cloud auf. Dennoch unterschied sich das Java-Symposium von vielen anderen Konferenzen. Neben den üblichen Keynotes, 60-minütigen Sessions und Panel-Diskussionen gab es einige fünfminütige Lightning Talks, die kurzweilig einen schnellen Überblick über ein Thema vermittelten. Die sind mittlerweile auch in Deutschland öfters anzutreffen und kommen meist gut an.

Nach der letzten Vortragsrunde konnten die Teilnehmer zudem bei Getränken und Snacks miteinander diskutieren. Ungewöhnlich, aber äußerst interessant war das "Dinner for Strangers", bei dem sich Teilnehmer und Referenten nach dem Motto "go as strangers, leave as friends" in einigen Restaurants zum Essen trafen und fachsimpelten.

Das Ziel, den Teilnehmern eine Umgebung zu schaffen, in der sie einen Überblick über aktuelle Techniken und Konzepte im Java-Umfeld erhalten, um in Zukunft erfolgreich Projekte abwickeln zu können, erreichte der Veranstalter vollständig. Dabei legte dieser großen Wert auf die Kommunikation zwischen Teilnehmern und Referenten. Durch die zuvor beschränkte Teilnehmerzahl schaffte der Veranstalter ein nutzbringendes Speaker-Teilnehmer-Verhältnis von 1 : 10. Effizienter kann man sich nach Ansicht des Autors innerhalb von drei Tagen im breiten Java-Spektrum kaum weiterbilden.

Jeder, der ein Weiterbildungsbudget besitzt und sonst üblicherweise eine deutsche Konferenz besucht, sollte einmal das Java-Symposium ins Auge fassen. Dank des schwachen US-Dollars, relativ geringen Konferenzkosten und niedrigen Hotelpreisen kostet diese Weiterbildung kaum mehr als ein Besuch einer Konferenz in Deutschland. (ane)

Kai Wähner
ist IT-Consultant bei MaibornWolff et al. Seine Schwerpunkte liegen in den Bereichen Java EE, Enterprise Application Integration (EAI) und SOA.