J and I and Me
2009-10-07
  JAOO: Dritter Tag
Heute habe ich nur wenige Sessions besucht. In der Keynote hat Cameron Purdy nocheinmal die Vorteile von Java gegenüber C++. Daraus wollte er dann die Probleme von Java ableiten, die eine neue Sprache lösen müsste. Dort kamen Themen wie Startup Time, Memory Footprint, Full GC Pausen usw - meiner Meinung nach nicht wirklich die großen Probleme.

Dann habe ich noch den Schluss von Beat Schweglers Vortrag über Microsofts Cloud-Pläne mitbekommen und mich geärgert, dass ich nicht früher bei dem Talk war.

Gregor Hohpe sprach über Googles Cloud Ansatz. Dabei ging es um das Google File System, Big Table für Datenhaltung und Map Reduce für die Verteilung von Arbeit. Wie auch Urs Hölzle vor ihm gab das einen guten und interessante Einblick darin, wie Google arbeitet.

Schließlich habe ich noch den Vortrag von Rod Johnson, dem Chef der SpringSource Division bei VMware angehört. Dieser Vortrag zeigt sehr deutlich, wo die Chancen von SpringSource un VMWare liegen. Die Folien gibt es hier - reinschauen lohnt sich. Fast alle anderen Folien finden sich im Schedule der Konferenz.

Labels: , , ,

  23:43 0 comments
Bookmark and Share
  JAOO: Tag 2
Zunächst ein Nachtrag zum ersten Tag: Ich war auch in einem Talk von Jonas Jacobi zu WebSockets. Interessant war dabei neben WebSockets auch das Stomp-Protokoll, mit dem man in JavaScript von ActiveMQ Mesages empfangen kann - und das sehr problemlos.

Der zweite Tag ging los mit einer Keynot von Simon Peyton-Jones (Microsoft Research) zu Haskell, einer funktionalen Programmiersprache, und zwar insbesondere zu dem Typ-System und der Modellierung von Klassen in dem System. Inhaltlich fand ich es sehr interessant, aber sicher auch eher schwer zu verstehen. Gleichzeitig zeigt die Keynote, dass Sprachen wieder ein Thema sind. Lustig ist vor allem, dass vor längerer Zeit ein Bekannter Haskell an der Uni lernen musste und sehr negativ dazu eingestellt war - weil es ihm akademisch und nicht praxisrelevant erschien. Jetzt scheint Haskell in der Nutzung auch außerhalb der Unix zumindest zuzulegen und Microsoft Research wird sicher nicht "einfach so" Experten in dieser Sprache eingestellt haben.

Den Start des von mir organisierten "Java Now" Tracks gab es auch eine Art Keynote. Rod Johnson, Erfinder von Spring und Chef der SpringSource-Division bei VMWare, sprach über den Trend zu Open Source und leichtgewichtigen Ansätzen bei Java. Ich fand diesen Vortrag vor allem wichtig, um auf die große Bedeutung von Open Source als Innovator bei Java hinzuweisen.

In diesem Sinne ging es dann weiter: Dalibor Topic (Sun) sprach über das OpenJDK-Projekt, dessen Leiter er ist. Neben den Innovationen wie Type Annotations habe ich vor allem mitgenommen, dass Java noch mehr Verbreitung findet, seit es Open Source ist. So steht es jetzt in jeder Linux-Distribution zur Verfügung und auch in vielen anderen Betriebssystemen wie beispielsweise BSD. Später zeigte Dalibor mir noch eine Grafik, die zeigt, dass es auch immer mehr Open-Source-Projekte gibt, die auf Java setzen. Also wird durch das OpenJDK-Projekt Java noch populärer.

Martin Lippert sprach dann über OSGi auf dem Server, meiner Meinung nach eines der wichtigsten Zukunftsthemen für Server-Java. Schön war, dass Martin auch der Meinung ist, dass der SpringSource dm Server in diesem Bereich im Moment die beste Lösung darstellt. Inhaltlich ging Martin neben den Grundlagen - also den Problemen, die man bei OSGi auf dem Server hat - auch auf die neuen Architektur-Herausforderungen wegen der Dynamik von OSGi ein. Ich denke, dass in diesem Feld noch einige interessante Ansätze möglich sein werden.

Kirk Pepperdine sprach über Latenzzeiten. Gerade bei automatisierten Börsen-Systemen können Latenzen sehr wichtig sein. In seinem Talk hat er dann einen vollständigen Ansatz zur Analyse von Performance-Problemen dargestellt - was für eine Stunde eine große Leistung ist.

Am Abend gab es dann noch eine Diskussion mit James O Coplien und mir bei der JavaGruppen zur Zukunft von Java. An dieser Stelle nochmal mein Dank an JavaGruppen und Martin Boel für die Organisation. Insgesamt gab es eine lebhafte Diskussion und ich hoffe, dass dabei klar geworden ist, dass Java und die JVM eine sehr positive Zukunft haben werden.

Labels: , , , , ,

  07:27 0 comments
Bookmark and Share
2009-06-22
  JAOO Java Track
Ich habe dieses Jahr die Ehre, den Java Track auf der JAOO in Århus, Dänemark, zu organisieren. Das ist vor allem eine Ehre, weil die JAOO ursprünglich eine reine Java-Konferenz war und somit dieser Track sozusagen eine Art Kern der Konferenz darstellt.

Das Programm ist nun unter http://jaoo.dk/aarhus-2009/tracks/show_track.jsp?trackOID=264 online.

Erster Sprecher wird Rod Johnson sein, CEO von SpringSource. Dabei geht es um Innovation durch Standards und Open Source. Traditionell sind Standard bei Java ja wichtig gewesen, aber das ändert sich gerade. Und Open Source Projekte - wie Spring, Tomcat, Eclipse usw - werden langsam zu den wichtigsten Technologien im Java-Bereich. Die Details können sich aber durchaus noch ändern.

Wegen Open-Source-Thema freut es mich, Dalibor Topic als nächsten Speaker gewonnen zu haben. Er ist der Leiter des Open-JDK-Projekts und arbeitet dadurch an einer sehr zentralen Stelle im Open-Source-Java-Bereich. Gerade durch den Kauf von Sun durch Oracle ist es wichtig, sich noch einmal zu vergegenwärtigen, dass Java eben Open Source ist und kein Sun-Projekt. Außerdem sind für viele Java-Entwickler die konkreten Konsequenzen des Open-JDK-Projekts für ihre tägliche Arbeit noch nicht erkennbar. Das soll dieser Talk korrigieren.

Eine wichtige technische Innovation im Java-Bereich ist OSGi, vor allem auf dem Server. Zu diesem Thema konnte ich Martin Lippert gewinnen, der ja eine der herausragenden Größe in diesem Bereich ist. Themen wie Modularisierung und Dynamisierung werden Java-Server-Anwendungen sicher deutlich ändern und ich bin auf Martins Ausführungen diesbezüglich gespannt.

Schließlich gibt Gary Sevitsky einen Talk über speichereffiziente Java-Anwendung - ein konret uns praktisch wichtiges Thema. Den Abschluss bilde ich dann selber mit einem Überblick typischer Probleme in Java-Anwendung - ein Resultat der vielen Code-Reviews, die ich durchgeführt habe.

Und mein Kollege Arjen Poutsma organisiert dann noch den Spring-Track, siehe http://jaoo.dk/aarhus-2009/tracks/show_track.jsp?trackOID=274 .

Labels: , , , , , ,

  11:53 1 comments
Bookmark and Share
2008-04-22
  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:


  1. Es wird wieder echten Wettbewerb im Application Server Markt geben. Und zwar vor allem im Bereich der Profile A und B.


  2. 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.


  3. Die zukünftigen Application Server werden auf OSGi basieren und modular und leichtgewichtig sein.


  4. Die zukünftigen Application Server werden nicht nur die JCP Spezifikation implementieren. Es gibt weitere Quellen für relevante Standards.


  5. 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).


  6. Der JCP wird eher durch Open-Source-Projekte gesteuert werden. Sun ist schließlich auch auf dem Weg zu einer Open-Source-Firma.


  7. Der Markt wird die Lücke zwischen Tomcat und WebLogic/WebSphere füllen. Dabei geht es um APIs und auch um die Betriebs-Aspekte.


  8. Die Lücke zwischen ESBs und Application Server wird gefüllt werden. SOA ist dafür zu neu und relevant.


  9. 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: , ,

  15:06 1 comments
Bookmark and Share
2007-06-20
  SpringOne: Keynote Rod Johnson
Rod beginnt mit der Keynote. Als erstes führt er Mark Pollack ein, ein Core Spring Developer. Interessanterweise ist die Demo auf Spring.NET. Inhaltlich ist es eine typische Spring-Anwendung mit DAOs, die als Web Services angeboten werden. Auch XML-Schema (bekannt aus Spring 2.0) sind verfügbar und natürlich auch Transaktionen und Performance-Monitoring mit AOP. Spring.NET bietet außerdem das AdoTemplate (analog zum JdbcTemplate) und ein NHibernateTemplate. Auch Remoting ist vorhanden.

Rod ging dann auf das Venture Capital ein. Die Analogie für ihn ist ein doppelter Espresso. Mit den 10 Mio $ Venture Capital kann man einiges anfangen: Raketenabwehr bauen, Tuberkulose auf den Philipinen bekämpfen usw. Aber was macht Interface21 mit den 10 Mio $? In Spring investieren natürlich. Spring ist das de Facto Programmier-Modell im Enterprise-Java-Bereich. Die Idee ist nun, die Werte von EInfachheit und Mächtigkeit in andere unnötig komplexe Bereiche zu bringen - es wird nicht einfach in jedem Bereich eine eigene Spring-Technologie geben, nur um eine Spring-Technologie zu haben. Außerdem muss man die Qualität von Spring als wesentlichen Faktor weiterhin erhalten.

springframework.org war im Februar die 4. wichtigste Java-Seite laut Alex, mittlerweile ist es die 3. wichtigste. Spring ist außerdem ein wichtiger Punkt bei Job-Anzeigen. Die Qualität ist ebenfalls belegbar: Forrester hat uns das bestätigt und auch Firmen wie Headaway Software, die sich auf Software-Metriken spezialisiert haben, unterfüttern das. Das meiste Geld wird daher in Produkt-Entwicklung gehen. Das bedeutet Spring Web (Web Flow + MVC) und Spring Core werden statt jeweils einem Entwickler dann von drei Entwicklern (Spring Core) und fünf Entwickler (Spring Web) weiter entwickelt. Das ist natürlich eine deutliche Vergrößerung.

Spring wird ein Ökosystem, d.h. es gibt eine Menge Firmen, die ishc mit Spirng beschäftigen. Er stellt eine Analogie zu Eclipse dar: Durch einen zentralen Marktplatz gibt es eine Möglichkeit, sich zu standardisieren und auf dieser Basis zu verbessern. Spring hat genauso wie Eclipse viele Extension Points, mit denen die Basis mit eigenen Dingen erweitert werden kann. BEA beispielsweise verwendet Spring als zentrale Technologie. In WebLogic 10 ist jede EJB und jede Java EE Komponente auch eine Spring Bean. Hauptgrund war, dass WebLogic so schneller zur Marktreife gebracht werden konnte. Und natürlich bietet BEA dadurch ein einfaches Programmier-Modell für die Entwickler an. Ein anderes Produkt ist der WebLogic Event Server. Es fokussiert auf Systeme mit vielen Events aus verschiedenen Streams - Anwendungen, die sonst mit C++ entwickelt werden. Spring und Spring OSGi sind die bevorzugten Programmier-Modell in diesem Bereich. Auch Oracle Fusion basiert auf Spring, wie Thomas Kurian (SVP bei Oracle) in seiner JavaOne-Keynote dargestellt hat. Das Oracle Developer Depot, eine Anwendung für das Herunterladen von Samples, basiert ebenfalls auf Spring. Die JavaSpaces-Implementierung Gigaspaces hat ebenfalls nativen Support für Spring. Vorteil ist dabei, dass der Entwickler POJOs schreiben kann, die dann per JavaSpaces verteilt werden. Dabei kann man das bekannte Spring-Remoting-System verwenden. Mit IBM haben wir im letzten Jahr zusammen gearbeitet, um Spring auf WebSphere zu zertifizieren - was für viele große Kunden sehr wichtig ist. Dahinter steckt eine Menge Arbeit mit Tests auf den verschiedenen Plattformen, die es so gibt. Fokus war dabei die Transaktions-Verarbeitung.

Das sollte die 10 Mio $ rechtfertigen - außerdem haben wir einige nicht-technische Leute eingestellt. Dazu zählen Richard McKern (Sales Director, Americas), Amyli McDaniel (Juristin), Greg Southey (Manager in UK), Sigrid Haberkorn (Vertrieb in Deutschland), Missy Warnkin (Asisstenz) und Neelan Choksi (COO). Das bedeute, dass wir die Anzahl technischer Leute mehr als verdoppelt haben. Das Venture Capital kommt von Benchmark, eine Firma die schon in Red Hat, JBoss und MySQL sowie eBay und Second Life investiert haben. Betreut wird es von Peter Fenton, der auch der Meinung ist, dass man eine Open Source Community nicht kaufen kann - was bedeutet, dass Interface21 auch in Zukunft die Community pflegen wird. Ingesamt ist dadurch die Basis gelegt, um die Technologie durch eine entsprechende Business-Seite zu ergänzen.

Interface21 wird eine neue Zentrale in den USA haben. Dort ist Interface21 näher an den Partnern und den Investoren. Das neue Zentrum für Entwicklung ist Southampton in UK. Dabei wird die Entwicklung zentralisiert, um dort gemeinsam zu arbeiten, was der Kommunikation zugute kommt.

Neben Training und Consulting wird in Zukunft Support wichtig werden. Dies wird sowohl die Entwickler als auch den Betrieb und das Management zugute kommen.

Seit der letzten SpringOne haben wir auch unser Portfolio erweitert: Spring OSGi, Spring Batch, Spring Java Config und ROO sind hinzugekommen.

Rod sprach dann noch über einige Projekte, so zum Beispiel Spring Batch. Es gibt immer noch eine Menge Mainframes und es gibt Milliarden Dollar, die in diese Bereich investiert werden. Interessanterweise gibt es in Java EE einfach keine Lösung für Batches - und auch im Open-Source-Bereich gibt es nichts. Die Entwicklung findet zusammen mit Accenture statt.

Spring Web Flow kann benutzt werden für komplexe Abläufe in Web-Anwendung, ist aber nicht abhängig von einer bestimmten View-Technologie, Web-Framework oder gar der Servlet-Umgebung. Seit 1.0.3 wurde Spring Web Flow vor allem im Bereich JSF erweitert. Ben Hale zeigte dann eine Demo zu Spring Web Flow und JSF mit grafischer Darstellung in Spring IDE.

Spring IDE war dann auch das nächste Thema. Die Demonstration von Christian Dupuis zeigte den neuen Beans Explorer und die Integration in den Project Explorer. Spring IDE 2.0 wird möglicherweise schon Montag rauskommen. Spring IDE wird dabei auch Springs neue XML-Namespace unterstützen und dort auch die Möglichkeit zum Beispiel für Classname-Completition geben. Cool ist vor allem auch die Möglichkeit, Spring AOP Pointcuts zu visualisieren. Das geht sowohl mit Pointcuts in der XML-Konfiguration wie auch mit der @Aspect-Notation. Sogar die neuen Konfigurations-Möglichkeiten aus Spring 2.1 und Spring JavaConfig werden unterstützt.

Genau dort setzte Rod dann an: Einige User wollen halt Annotations-basierte Konfiguration - also bauen wir das ein. Die Idee ist, dass die Klassen nach solchen Annotationen durchsucht werden und dann die Bean entsprechend konfiguriert werden. Neben @Component werden auch @Aspect und @Repository entsprechend ausgewertet. In der Spring-Konfiguration gibt es dann nur noch eine EInstellung, welche Klassen gescannt werden sollen. Spring kann Annotationen und XML-Konfiguration mischen - es muss kein Widerspruch sein.

Labels: , , ,

  11:36 0 comments
Bookmark and Share
J for Java | I for Internet, iMac, iPod and iPad | Me for me

ARCHIVES
Juni 2005 / Juli 2005 / August 2005 / September 2005 / Oktober 2005 / November 2005 / Dezember 2005 / Januar 2006 / Februar 2006 / März 2006 / April 2006 / Mai 2006 / Juni 2006 / Juli 2006 / August 2006 / September 2006 / Oktober 2006 / November 2006 / Dezember 2006 / Januar 2007 / Februar 2007 / März 2007 / April 2007 / Mai 2007 / Juni 2007 / Juli 2007 / August 2007 / September 2007 / Oktober 2007 / November 2007 / Dezember 2007 / Januar 2008 / April 2008 / Mai 2008 / Juni 2008 / August 2008 / September 2008 / November 2008 / Januar 2009 / Februar 2009 / März 2009 / April 2009 / Mai 2009 / Juni 2009 / Juli 2009 / August 2009 / September 2009 / Oktober 2009 / November 2009 / Dezember 2009 / Januar 2010 / Februar 2010 / März 2010 / April 2010 / Mai 2010 / Juli 2010 / August 2010 / Oktober 2010 / Januar 2011 / Februar 2011 / März 2011 / April 2011 / Mai 2011 / Juni 2011 / August 2011 / September 2011 / November 2011 / Februar 2012 / April 2012 / Mai 2012 / April 2013 / Mai 2013 / Juni 2013 / Januar 2015 / Juli 2015 / Februar 2016 /

Links

ewolff.com

Feeds

Feedburner


Impressum
Betreiber und Kontakt:
Eberhard Wolff
Karcherstrasse 22
67655 Berlin

Verantwortlich für journalistisch-redaktionelle Inhalte:
Eberhard Wolff