SpringDas erste Ergebnis des Vortrags stand vor dem Beginn des Vortrags schon fest: Spring ist ein Erfolg. Wodran man das ermessen kann? Nun ja, der Vortrag ist schlicht überlaufen. Die Leute stehen auf der Tribühne und sitzen in den Gängen.
Inhaltlich will ich nicht so viel schreiben, es ging halt um Dependency Injection, AOP und DAO Unterstützung. Interessant sind eher die Sachen am Rande. Rod Johnson fing mit der Präsentation an und hat dem ganzen den Namen: "Agile" Java EE gegeben. Ganz cool.
Ziel ist schnelleres und besseres Java EE durch Einfachheit. Java EE ist zwar sehr mächtig, aber unter Druck vor allem am unteren Ende des Spektrums. Technologien wie .NET, PHP oder Ruby gehören hier zu den Herausforderern. An der Stelle kritisierte Rod vor allem die nach innen gerichtet Java Community auf der Java One. Obwohl ich seine Kritik teile, würde ich bei der Konferenz auch nicht erwarten, dass man über den Java Tellerrand hinausschaut. Es ist schließlich die
Java One. Die wirklich schlimme Aussage war aber: "Java EE is considered expensive and slow". Ich kann mir vorstellen, dass dies tatsächlich zutrifft. Es geht nicht darum, ob das tatsächlich so ist, sondern um die Vorstellungen der Manager. Zudem muss man sagen, dass wirklich tragfähige Konzepte für Java EE Architektur noch nicht so extrem lange vorhanden sind.
Das Java EE tragfähig und eine gute Basis ist, wird aber nicht bestritten. Es geht um den Umgang mit Java EE. Einige Problemfelder:
- Tests sind zu schwierig
- Es entsteht einfach zu viel Code. Petstore ist das bekannte Beispiel.
- Schwergewichtige Ablaufumgebung, z.B. für Tests problematisch
Der Sinn der Entwicklung eines In-House Frameworks wurde recht drastisch durch ein Grabstein mit den Jahresangaben 1999-2002 IIRC dargestellt. Ein In-House Framework kann eben nicht von der Erfahrung vieler Projekte profitieren und eine Firma will auch lieber in die Implementierung von Geschäftslogik statt des Frameworks investieren.
Jürgen Höller stellte die technischen Details vor. Interessant war noch die Darstellung von Transaktionen als Killer Anwendung für AOP. Hier wurde auch der Vergleich "EJB++ statt AspectJ" verwendet. Zudem wurde darauf hingewiesen, dass EJB CMT schon das gleiche ist, also das ein produktionsreifes Vorgehen ist.
Das Spring diese Probleme löst, sollte klar sein.
FazitDas spannende war die exorbitante Beteiligung, die deutlich zeigt, wie wichtig das Thema sein wird. Auch Rod Johnson hat einige Kommentare in der Richtung gebracht: Spring sei eine der wichtigen Technologien für die Zukunft von Java EE. Er glaubt, dass ein großer Teil der Zuhörer in einem halben Jahr nicht mehr Dependency Injection in Vorträgen kennen lernen müssen, weil ihnen zu dem Zeitpunkt ein Manager gesagt hat, dass sie es einfach verwenden sollen. Das ganze ist mit Sicherheit auf dem richtigen Weg!