Spring auf der WJAXDer Einfluss von Spring auf die WJAX war kaum zu übersehen. Für mich fing es mit einem Interview mit Rod Johnson und Adrian Colyer für das Java Magazin an. Dabei war für mich vor allem interessante, dass EJB 3 sehr deutlich als keine ernsthafte Konkurrenz für Spring wahrgenommen wird. Teilweise ist die Marke und der Begriff "EJB" schon in den Unternehmen verbrannt, bis dahin, dass es in einigen Unternehmen schon nicht mehr erlaubt ist, mit dieser Technologie zu entwickeln. Außerdem ist EJB 3 und Java EE 5 in den Bereichen Dependency Injection und aspekt-orientierte Programmierung sicher um Meilen hinter Spring. Bei DI geht es für mich neben den eingeschränkten DI Arten, die EJB und Java EE unterstützen, vor allem darum, dass EJB und Java EE DI nur für EJBs, Servlets usw. erlauben. Spring erlaubt es hingegen für alle Java Objekte. In meinen Vorträgen versuche ich auch deutlich zu motivieren, warum man eben auch "normale" Java Objekte mit Dependency Injection verwalten will. Ein weiterer Punkt ist ebenfalls eher strategischer Natur: EJB 3 wird im Moment nur von JBoss nachhaltig unterstützt. BEA unterstützt neben EJB 3 auch Spring. Bei IBM ist die Situation unklar. Und bei Oracle ist es schließlich so, dass zwar ein Fokus auf EJB 3 gelegt wird, aber wahrscheinlich eher die Persistence API das wichtige Element ist. Außerdem wäre es sicher mal spannend herauszufinden, wie viele Oracle Application Server wirklich im Einsatz sind.
Ebenfalls hat Rod darauf hingewiesen, dass Ruby on Rails eine sehr stark vereinfachende Lösung ist. Die direkte Abbildung zwischen Objekten und Datenbank-Tabellen ist eben unrealistisch, vor allem, wenn man in einer Enterprise Umgebung Namenskonventionen für Tabellen hat.
In seiner Keynote ging Rod Johnson dann darauf ein, warum Java EE Projekte schief gehen. Die gibt es auch
hier bzw.
hier zu sehen. Ich denke zwar, dass Projekte eigentlich immer aus organisatorischen Gründen schief gehen und nicht aus technischen, aber Java EE ist eben nicht trivial und legt vor allem auch nicht unbedingt die Benutzung der Best Practices nahe, sonder die sind meist schwierig. Auf jeden Fall fand ich den Vortrag sehr positiv - ich bin auch nicht unschuldig daran, dass er auf der WJAX gehalten wurde - und würde jedem an einem Java EE Projekt beteiligtem empfehlen, ihn anzuschauen.