JAX 2008 - Jürgen Höller Spring 2.5 und 3.0
Es ging zunächst um Spring 2.5 mit dem Fokus auf Annotationen. Dieses Thema ist in diesem Blog schon öfter ausführlich besprochen worden. 2.5.4 und 2.5.5 kommen bis Ende Juni. Danach kommt es in den Wartungs-Modus.
Am Ende gab Jürgen dann noch einen Ausblick auf Spring 3.0:
Spring 3.0 M1 kommt im Juli.
Es gibt dann einen vollständigen REST-Support.
Es wird eine Expression Language geben, die besseren Umgang mit Spring Bean Properties usw. erlaubt. Das ist analog zu der JSF-Expression Language.
Der gesamte Kern wird auch Java 5 umgestellt, d.h. Generics, Varargs usw. werden verwendet werden. Es wird immer noch J2EE 1.4 und höher unterstützt.
Im Herbst kommt dann das Release.
Und Portlet und Servlet 3.0 wird unterstützt werden.
Web-Konversationen werden unterstützt werden.
...und Web-Formular-Wizards werden durch Annotationen unterstützt werden.
Common Attributes, Struts 1 und die alte TopLink API wird nicht mehr unterstützt.
JUnit 3.8 und traditionelle MVC Controller werden deprecated, sollten also nicht mehr verwendet werden.
Wie man sieht, bleibt also auch hier die Innovation nicht stehen. Interessant finde ich vor allem die Umstellung auf Java 5, ich denke, viele APIs werden dadurch einfacher. Und ebenfalls interessant finde ich, dass einige Features aus dem Framework entfernt werden - das bedeutet, dass das Framework auch langfristig einfach und schlank bleibt.
Labels: JAX, Jürgen Höller, Spring 3.0
JAX 2008 - Keynote Rod Johnson
Nach der Eröffnung von Sebastian Meyen hielt Rod Johnson, CEO von SpringSource, die Eröffnungskonferenz.
Es geht um die Zukunft von Enterprise Java - aber hat Enterprise Java überhaupt eine Zukunft? Man hört einige ganze Menge Dinge: Ruby on Rails ist erfolgreich, keiner benutzt Java für Web Anwendungen... Aber Rod ist natürlich nicht dieser Meinung. Er zeigt eine Grafik für die Job Trends von Ruby gegenüber Java - und Java ist mehrere Dimensionen stärker. Jobs als Metrik sind interessant, weil sie zeigen, wo die Firmen wirklich Geld investieren - das tun nicht viele Metriken. Und Technologien wie Spring wachsen auch stärker als Ruby on Rails.
Dann ging es um die wirklichen Themen: Der kalte Krieg, Monica Lewinsky und Monty Python. Aber zunächst: Warum muss Enterprise Java sich ändern? Es gibt Probleme in Bezug auf Produktivität und die Plattform ist überladen. Auch Gartner ist der Meinung, dass Enterprise sich ändern muss. Bei der Produktivität gibt es mit Ruby on Rails einen starken Gegner. Das Problem ist dabei, das einfache Lösungen für einfache Probleme nicht im Java-Bereich nicht vorhanden sind - es gibt nur (einfache) Lösungen für komplexe Probleme.
Als J2EE entworfen wurde, war Clinton Präsident und Monica Lewinsky war sein Problem - wahrscheinlich gibt es bald wieder einen Präsident Clinton. In Deutschland war Kohl Kanzler. Es ist also schlicht alt. Und über die Zeit sammelt sich halt einiges an. Java EE 6 versucht, einige dieser alten Dinge aus der Spec zu entfernen. Rods Meinung nach ist das ein sehr wesentlicher Schritt, die erste ernsthafte Renovierung in den letzten 10 Jahren. Java EE 6 will die Open Source Frameworks unterstützen, die sehr relevant geworden sind. Und vor allem führt Java EE 6 Profiles ein. Dies sind bestimmte Subsets der Gesamtplattform, die typische Nutzungsprofile abdecken. Profile A ist im wesentlichen ein einfacher Web Server (+ JSR 45 Debugging API und JSR 250 Common Annotations). In Servlet 3.0 (einem Teil von Java EE 6) gibt es eine Möglichkeit, Servlets zur Laufzeit zu registrieren. Profile B enthält dann EJB 3.1 light, JTA 1.1, JPA 2.0, JSF 2.0 und wahrscheinlich Web Bean 1.0. EJB 3.1 light ist leider noch nicht wirklich definiert und es gibt hier natürlich das Problem, dass es zwei Komponenten-Modelle gibt, nämlich EJB 3.1 und Web Beans 1.0. Und Profile C ist dann die vollständige Plattform. Damit ist dieses Profile C wie die Titan Atomrakete aus dem kalten Krieg.
Durch diese einfacheren Plattformen ist es nun auch möglich, neue Server-Implementierungen zu etablieren, weil die Einstiegsschwelle so hoch ist. Zur Zeit von Monica Lewinsky gab es mehr Application Server Hersteller als Praktikantinnen - heute gibt es im wesentlichen IBM und Oracle/BEA. Und für diese Anbieter ist ein Teil einer größeren Plattform. Und damit sind sie nur ein Teil einer Gesamtlösung und möglicherweise wichtiger als Basis für ihre Standardsoftware, also gibt es dort einen anderen Fokus als den Application Server selbst und seine technische Qualität. Und interessanterweise ist es so, dass Tomcat wesentlich stärker ist als IBM oder Oracle/BEA. Es ist also der eigentliche Markt-Führer.
Also was wird passieren:
Es wird wieder echten Wettbewerb im Application Server Markt geben. Und zwar vor allem im Bereich der Profile A und B.
Der wirtschaftliche Wert wird sich eher an dem orientieren, was die Leute wirklich nutzen. Das bedeutet, dass die Palttformen mit den meisten Nutzern wertvoller werden.
Die zukünftigen Application Server werden auf OSGi basieren und modular und leichtgewichtig sein.
Die zukünftigen Application Server werden nicht nur die JCP Spezifikation implementieren. Es gibt weitere Quellen für relevante Standards.
Enterprise Java ist nicht mehr ein Ein-Parteien-Staat. Neben dem JCP gibt es OASIS (SCA, Web Services), OSGi und Open Source Projekte (z.B. aus der Eclipse Foundation).
Der JCP wird eher durch Open-Source-Projekte gesteuert werden. Sun ist schließlich auch auf dem Weg zu einer Open-Source-Firma.
Der Markt wird die Lücke zwischen Tomcat und WebLogic/WebSphere füllen. Dabei geht es um APIs und auch um die Betriebs-Aspekte.
Die Lücke zwischen ESBs und Application Server wird gefüllt werden. SOA ist dafür zu neu und relevant.
Der dunkle Ritter (Monty Python) wird besiegt. EJB ist - und das kann man durch Job-Trends nachweisen - das COBOL im Enterprise-Java-Bereich.
Zusammenfassend sind wir also in einer Zeit sehr schneller Änderungen. Java EE 6 wird sicher wichtig werden, so auch OSGi - und es wird spannend!
Labels: JAX, Keynote, Rod Johnson
JAX 2008
Auch dieses Jahr bin ich wieder bei der JAX - mittlerweile gibt es sie seit 2001 und jedes Jahr wird sie größer. Dieses Jahr gibt es 2000 Teilnehmer (!) und 178 Speaker. Ich habe den Spring Day mit organisiert und dr ist schon in vollem Gange (ich sitze gerade in Jürgen Höller's Session). Es gibt wieder viel neues und interessantes....
Labels: JAX, Spring Day
Neues von Spring und SpringSource
In letzter Zeit habe ich zugegebenermaßen den Blog vernachlässigt. Trotzdem hat sich sehr viel getan. Wir haben auf der
Spring-Release-Party, die wir zusammen mit der Java User Group Stuttgart veranstaltet haben, einen umfangreichen Einblick über die Neuigkeiten gegeben.
Und es sind viele neue Versionen im Anmarsch:
- Spring Security 2.0 (vormal Acegi) nutzt die XML-Namespace-basierten Features von Spring, um die Konfiguration erheblich zu vereinfachen. Zur Zeit gibt es schon einen Release Candidate.
- Spring Batch 1.0 ist draußen. Es ist das erste Batch Framework für Java überhaupt. Das Interesse an dieser Technologie ist groß. So hat Accenture gleich mehrere Committer an diesem Projekt arbeiten.
- Spring Web Services 1.5 ist draußen und unterstützt nun auch JMS und EMail als Transport-Protokolle.
- Spring Web Flow 2.0 steht vor der Tür - es ist in M4 und wir sind im Moment auf der Suche nach Feedback. Es gibt nun eine vereinfachte XML-Syntax, Integration mit Spring Security 2.0 und eine Integration mit DOJO.
- Spring .NET ist in Version 1.1 erschienen.
- Mit Spring Integration haben wir ein sehr interessantes Projekt gestartet, das die Entwicklung von Anwendungen im Bereich der Enterprise Application Integration nachhaltig vereinfacht. Es basiert im wesentlichen auf dem Pipes & Filters Konzept.
- Und natürlich ist Spring OSGi draußen, das die OSGi-Plattform mit Spring leicht zugreifbar macht.
Soweit die neuen Projekt - aber auch sonst gibt es bei SpringSource einges neues. Vor allem Spring Enterprise, unser neues Produkt, über das auch schon im News-Ticker des Java Magazins
etwas zu lesen war. Dieses Angebot umfasst neben Spring die SpringSource Tool Suite, mit der man Anwendungen gerade für das Spring-Framework sehr effizient entwickeln kann. Für die Tool Suite gibt es auch eine Beta, für die man sich
hier registrieren kann. Die SpringSource Application Management Suite bietet die Möglichkeit, Spring-Anwendungen zu managen. Dabei kann man die mitgelieferte Hyperic-Umgebung nutzen, um die Anwendungen zu überwachen und Alerts für bestimmte Situationen zu definieren. Oder man integriert es über JMX mit einer vorhandenen Management-Lösung. Mit dem SpringSource Advanced Pack for Oracle wird Spring um eine verbesserte Unterstützung von Oracle Real Application Cluster (RAC) und einigen anderen Oracle-Features ergänzt. Und schließlich umfasst SpringSource Enterprise auch unser Support-Angebot, das sowohl Produktions-Probleme als auch Entwickler-Fragen umfasst. Mehr Informationen zu SpringSource Enterprise steht auf der SpringSource Web Site
hier zur Verfügung.
Diese Neuigkeiten sind nur die Ergebnisse der letzten Monate - es bleibt aber spannend, denn wir haben noch viel vor....
Labels: Spring, Spring Portfolio
Vortrag JUG Berlin
Bei der Java User Group Berlin Brandenburg halte ich dann am Donnerstag, den 10.4., einen Vortrag über die Neuigkeiten im Spring Portfolio. Da hat sich eine ganze Menge getan, daher denke ich, dass der Vortrag ganz interessant wird. Es gibt einen
Flyer mit weiteren Informationen.
Labels: Spring Portfolio
Vortrag JUG Hamburg
Am 9.4. um 19:00 halte ich bei der Java User Group Hamburg einen Vortrag über Spring 2.5. Nähere Informationen gibt es bei der
JUG HH.
Labels: Spring 2.5
SpringSource ToolSuite beta
Unter
http://www.springsource.com/products/sts kann man sich zu der Beta der SpringSource ToolSuite anmelden. Sie basiert auf Eclipse und bietet folgende Features:
- Integration der Task-basierten Mylyn-IDE
- Task-orientierte Tutorials zu Spring 2.5, Spring OSGi und vielem mehr
- Spring Best Practises, die einen bei der Erstellung der Konfiguration und beim Entwickeln automatisch auf Optimierungs-Poentiale aufmerksam machen
- Runtime Error Analysis, die weitere Informationen über mögliche Gründe für Exception bieten.
Viel Spaß beim Testen!
Labels: SpringSource Tool Suite