Der zweite Hauptkonferenztag auf der JAX ist vorbei, viele spannende Sessions, Workshops und Gespräche liegen hinter uns. Einige unserer Autoren haben für JAXenter ihre Eindrücke zusammengefasst.
Entdecken wir die neuen Welten
Eine Konferenz wie die JAX ist für mich immer wieder der Zeitpunkt, möglichst viele Eindrücke und Stimmungen in der Java-Welt aufzunehmen. Denn hier besteht die Möglichkeit, den Puls vieler Teilnehmer der großen Java-Community zu fühlen und auch der Blick über den eigenen Projekttellerrand gelingt hier bravourös.
Eines der großen Themen auf der JAX 2009 sind die dynamischen Sprachen. Neben Groovy mit einem eigenen Special Day (in Verbindung mit Grails) war vor allem Scala einer der Stars der Manege. Auch in den Pausen wurde viel über Scala und dessen Zukunft und Bedeutung für die Architekturen von Morgen gesprochen.
Die Session von Arno Haase ("Java Best Practices mit aktuellen Frameworks") hat einen Blick auf die Fallstellen in Projekten gegeben. Hier wurden Themen wie Logging (mit log4j) und Exceptions aufgeworfen. Arno Haase hat den Zuhörern aufgezeigt, dass es auch bei diesen gängigen Themen Fallstricke gibt und zugleich Lösungen dafür angeboten. Der gefüllte Kongress-Saal hat gezeigt, dass diese "alten" Themen auch heute immer noch aktuell sind. Und von Best-Practices kann man gar nicht genug haben.
Besonders inspiriert hat mich die Keynote von Dr. Klaus Alfert mit dem Titel „Fette Maschinen brauchen schlanke Software“. Das Kernthema in dieser Keynote war Multicore. Hier wurde nochmals bewusst gemacht, dass sich in den letzten Jahren die Taktrate der CPUs kaum erhöht hat, vielmehr aber die Anzahl der Rechenkerne. Um dies ausnutzen zu können, müssen Entwickler ihre Software parallelisieren. Dies wird ermöglicht, wenn Algorithmen ohne Seiteneffekte vorhanden sind, damit der Compiler diese auch selbstständig optimieren kann. Alfert hat erläutert, dass Multicore im Enterprise-Umfeld nicht einfach ist, sondern einiges an Umdenken erfordert. Hier müssen die Architekturen anders gebaut werden. Entwickler müssen sich auf neue Programmierparadigmen einstellen. Kurz ist Alfert auf Sprachen wie Haskell, Erlang und Skala eingegangen, die solche Paradigmen mitbringen. Mitgenommen habe ich, dass sich die Programmierung ständig weiterentwickelt – wie in den vergangenen Jahren doch auch. Zusammenfassend freut man sich als Entwickler eigentlich immer auf neue Technologiewelten, die ich auch persönlich gerne entdecke. Bin schon gespannt auf die neuen Welten der W-JAX 2009 und JAX 2010. Nun schaue ich mir noch kurz die Scala-Welt an, Sie auch?
Markus Stäuble ist CTO (Head of Technology) bei namics (deutschland) GmbH, einem führenden IT- und Web-Dienstleister. Darüber hinaus ist er freier Autor von Fachartikeln.
Mein OSGi-Tag
Der zweite JAX-Tag ist für mich "mein" OSGi-Tag, schließlich bin ich als Moderator für das Programm des OSGi Special Day verantwortlich. Trotz der frühen Startzeit finden sich zahlreiche Teilnehmer ein. Besonders erfreulich: Auf meine Frage, wer mit OSGi experimentiert oder sogar schon ein "echtes" Projekt gemacht hat, gehen zahlreiche Hände nach oben. Eine schöne Bestätigung, dass OSGi inzwischen wirklich im "echten Leben" angekommen ist.
Peter Kriens, Technical Director der OSGi Alliance, stellte die Neuerungen vor, die OSGi 4.2 bringen wird. Selbstbewusst verkündete er: "You'd love to go to OSGi." Wichtige Neuigkeiten sind Framework Launching, Negative Permissions zur Vereinfachung von Security, signifikante Verbesserungen an Declarative Services (nun sind echte POJOs möglich), Remote Services (zuvor Distributed OSGi genannt) und Blueprint Extender (Spring DM). Anschließend stellt Alexey Aristov ein hochinteressantes Anwendungsgebiet für OSGi vor: Die Abstraktion verschiedener Cloud Computing Plattformen (Amazon EC2, GoGrid etc.) mittels OSGi. Auf diese Weise kann eines der größtes Risiken für Cloud Computing ausgeräumt werden: Die mangelnde Portabilität.
Peter Roßbach, Gerd Wütherich und Martin Lippert diskutierten "Mit OSGi Webanwendungen entwickeln - Was geht, was nicht?". Offenbar für sehr viele eine interessante Frage, denn der Saal platzte fast aus allen Nähten. Dabei kommt Pax Web sehr gut weg, der den arg limitierten Standard-Http-Service um alles erweitert, was das aktuelle Servlet API bietet. Hingegen wird die Servlet Bridge als "Dünnbrettbohrer" bezeichnet ;-)
Nach dem Mittagessen begab sich Robert Beeger auf die Suche nach den passenden Komponenten. Eine Antwort gibt das Schichtenmodell, eine andere die Trennung von Fachlichkeit und Technologie. Also gelten auch in der OSGi-Welt altbekannte Ansätze. Sehr schön!
Kai Tödter und ich sprachen über OSGi Service Component Models, konkret über Declarative Services, Spring Dynamic Modules und Apache iPOJO. Auch hier war der Saal recht voll, obwohl das Thema doch als eher fortgeschritten betrachtet werden kann. Viva OSGi!
Laut Gerd Wütherich und Nils Hartmann gehen in komplexen Projekten 10-30% der Entwicklungszeit für "den Build" drauf, also auch für OSGi ein sehr wichtiges Thema! Aber wie macht man es denn am besten? Darüber gibt es leider keine ganz faire Übersicht, weil zu viel Zeit für "Manifest First" mit PDE Build und Ant4Eclipse verwendet wird und alternative "Generate Manifest"-Ansätze (mit BND) zu kurz kamen. Vielleicht liegt's am komplexen Build ...
Wer kennt eigentlich JBI? Vielleicht kann OSGi ja helfen und die Bekanntheit steigern: Kristian Köhler stellte Apache Service Mix 4 vor, eine JBI Implementierung auf Basis von Apache Felix und somit OSGi.
Richard Hall machte den Abschluss und wusste zwar auch nichts über die Konsequenzen des Kaufs von Sun durch Oracle zu berichten, zeigte aber den Weg von GlassFish vom Monolithen zum modularen System auf Basis von OSGi. Ein beeindruckendes Resultat: GlassFish v3 Prelude startet innerhalb von wenigen Sekunden. Wow! Ein weiterer Vorteil: GlassFish kann dank OSGi sehr flexibel angepasst und erweitert werden.
OK, das war viel Stoff und es wird Zeit für ein Fazit: Viele interessante Themen und viele Teilnehmern mit vielen guten Fragen. Ich bin zufrieden!
Heiko Seeberger ist als Technical Director für die Weigle Wilczek GmbH tätig. Sein technischer Schwerpunkt liegt in der Entwicklung von Unternehmensanwendungen mit OSGi, Eclipse RCP, Spring, AspectJ und Java EE. Seine Erfahrungen aus über zehn Jahren IT-Beratung und Softwareentwicklung fließen in die Eclipse Training Alliance ein. Zudem ist Heiko Seeberger aktiver Committer in Eclipse-Projekten, Autor zahlreicher Fachartikel und Redner auf einschlägigen Konferenzen.
Buzzword-Bingo
Die Kombination der diesjährigen JAX mit der SOACON und dem Eclipse Forum Europe zeigt, wie wichtig diese drei Bereiche für Software-Entwickler weiterhin sind. Wer aber meint, dass es im Rahmen der JAX nur um Verbesserungen der Java-Entwicklung geht, täuscht sich gewaltig. Hier finden sich ebenso Vorträge zu JavaFX, Scala, JRuby, Rails, Groovy, etc.
Ebenso begeisternd wie Scala (Heiko Seeberger berichtete bereits), ist sicherlich auch JavaFX. Seit der Ankündigung auf der JavaOne 2007 ist zwar einiges an Zeit vergangen, aber mit dem neuesten Release, das seit Ende 2008 auf dem Markt ist, lässt sich bereits mit einfachsten Mittels ein User Interface aufbauen, das sowohl auf mobilen Endgeräten, dem Desktop PC wie auch auf TV-Geräten angezeigt werden kann. Mit JavaFX-Script kann alles als eine Expression aufgefasst werden und erlaubt eine deklarative Objektorientierung wie Lars Röwekamp in seinem Vortrag vorstellte. Aber auch JRuby hat sich stark weiterentwickelt und stellt mittlerweile die schnellste (kompatible) Implementierung von Ruby dar. Da C-Bibliotheken ebenso in JRuby eingebunden wie Java-Klassen daraus erstellt werden können, ist auch die Kompatibilität zu existierendem Code sichergestellt, wie Charles Nutter in seiner Keynote vorstellte. Aber auch Sprachen wie Groovy oder Grails sind weiter auf dem Vormarsch, was durch einen eigenen Groovy & Grails Special Day nochmals betont wurde.
Von diesen Special Days gibt es im Rahmen der JAX eine ganze Menge. So werden die Modellierung mit Eclipse oder das Reporting mit BIRT ebenso vertieft wie OSGi, Spring oder JSF. Service-orientierte Architekturen werden sogar an insgesamt drei Special Days behandelt: einem SOA Starter Day, einem SOA Governance Day wie auch an einem weiteren SOA & BPM Day. Da ist es nicht verwunderlich, dass auf JAX, SOACON und Eclipse Forum Europe BPM und SOA auch in einigen Vorträgen immer wieder (teils heiß) diskutiert wurden.
Speziell auf die neue Version 2.0 der BPMN – Business Process Model and Notation (welche in Kürze von der OMG verabschiedet werden wird) – wird aufgrund der dort definierten Ausführungssemantik große Hoffnung gelegt. Aber auch eine Ausführung entweder mit Prozess-Engines wie jBPM oder Bonita als auch mit Apache ODE durch BPEL wurde beschrieben. Spannend bleibt weiterhin die Frage, wie die Business- und die IT-Welt dadurch im Endeffekt verbunden werden. Ein erster Ansatz wie BPMN und UML kombiniert werden können, wurde schon mal vorgestellt und ausgiebig diskutiert. BPMN sieht übrigens auch SAP als Schwerpunkt und wichtige Sprache, die sich weiter durchsetzen wird, wie in einer eigenen Keynote nochmals unterstrichen wurde.
Trotz teilweise recht langer Konferenztage (von 8:30 Uhr bis 22:00 Uhr Vorträge) wurde an anderen Tagen im Abendprogramm durchaus auch an die Unterhaltung der Besucher gedacht: so beispielsweise beim Roulette- und Blackjack-Abend am Dienstag oder auch beim Speedboat-Racing bei der VIP-Reception am Montag. Hier bietet sich dann zum Glück doch immer wieder die Gelegenheit sich die Erfahrungen aus den Vorträgen, die Diskussionen mit Gleichgesinnten oder Anregungen aus den Keynotes durch den Kopf gehen zu lassen.
Mal sehen, ob ich in den kommenden Nächten eher von Multicore-Prozessoren träume und wie ich meine Programme dafür am besten parallelisieren kann oder von Plato und Aristoteles und was mir diese Philosophen an Patterns und Anti-Patterns für meine tägliche Programmierarbeit mit auf den Weg gegeben haben…
Florian Lautenbacher ist wissenschaftlicher Mitarbeiter an der Universität Augsburg. Sein Forschungsschwerpunkt liegt in der Nutzung semantischer Technologien zur Verbesserung der Modellierung von Geschäftsprozessen sowie deren Ausführung. Er ist Projektleiter des 2007 gegründeten Eclipse-Projektes JWT. Sein Blog findet sich unter http://following-flo.blogspot.com.















