Spring schafft Jobs....
Jedenfalls wird es offensichtlich immer wichtiger bei Job-Anzeigen:
http://jroller.com/page/RickHigh?entry=stack_of_choice_jsf_hibernate
Multi Media WJAX
Hier gibt es noch einige Multimedia Sachen von der WJAX:
Interview mit Tim Bray auf YouTube, an dem ich mitgewirkt habe. Von ihm gibt es auch eine
Keynote. Und
hier ein Foto von mir mit geschlossenen Augen...
Neue Spring Trainings Termin
Wir haben neue Spring Trainings Termine:
Training |
Datum |
Preis |
---|
München
|
21.-24. November |
€2,495 (€2,195 bei Registrierung vor dem 20. Oktober) |
Frankfurt
|
20.-23. Februar |
€2,495 (€2,195 bei Registrierung vor dem 20. Januar) |
Karlsruhe
|
3.-6. April 2007 |
€2,495 (€2,195 bei Registrierung vor dem 3. März) |
Berlin
|
12.-15. Juni 2007 |
€2,495 (€2,195 bei Registrierung vor dem 12. Mai) |
München
|
25.-28. September 2007 |
€2,495 (€2,195 bei Registrierung vor dem 25. August) |
Hamburg
|
23.-28. Oktober 2007 |
€2,495 (€2,195 bei Registrierung vor dem 23. September 2007) |
Stuttgart
|
20.-23. November 2007 |
€2,495 (€2,195 bei Registrierung vor dem 20. Oktober 2007) |
WJAX: Fazit
Ich habe heute noch auf der WJAX einige Vorträge angehört. Das interessante ist, dass man dem Spring-Thema fast nicht entgehen kann. Es gibt eine breite Abdeckung des Themas und so habe ich mir einen Vortrag über "Architekturzaubereien - Zauberformeln für Spring, Maven & Co." von Papick Taboada angeschaut, in dem er ein interessantes Konzept für ein Komponentenmodell auf Basis von Spring und Maven vorstellte und "Ruf mich an! - Eine Callcenter-Anwendung mit JSF und Spring" von Werner Eberling und Sascha Groß war ein interessanter Vortrag mit einer Case Study.
Mein Fazit also: Ich hatte leider viel zu wenig Zeit für die vielen interessante Vorträge. Positiv kann man sagen: Es gab so viele interessante Gespräche mit den anderen Teilnehmern, dass für die Sessions keine Zeit mehr blieb. Eine gute Idee war auch der Ballroom, in dem sich die Teilnehmer jeweils an Themen-Tischen zusammen gefunden haben, um etwas zu diskutieren (wie Spring in meinem Fall). Ingesamt ein gutes Konzept, um das ganze interaktiver zu machen.
Also: Ich komme gerne wieder und der Veranstaltungs-Ort ist auch toll!
WJAX: Keynote TIm Bray
Tim Bray arbeitet bei Sun und hatte eine sehr interessante Keynote. Er untersuchte in dem Vortrag verschiedene Themen, die aus seiner Sicht die Zukunft von Java beeinflusssen können.
Erster Punkt war, dass Java Open Source wird. Und zwar echtes Open Source mit Forks und anderen Sachen. Allerdings wird es ein Technology Compatbility Kit geben, mit dem man testen kann, ob das entstandene immer noch wirklich Java ist und nur dann bekommt es auch diesen Namen. Einige andere Autoren des Java Magazins und ich haben ihn anschließend noch interviewt und dabei sagte er allerdings, dass die Auswirkkungen für die Java Entwickler eher gering sein wird.
Als nächstes sprach er dann über Concurrency. Nur durch mehrere parallele Threads wird es in Zukunft noch möglich sein, bessere Performance zu erreichen. Die Frage ist nun, ob die Vereinfachung druch java.util.concurrent ausreicht oder ob man hier mehr benötigt. Er zeigte dann Code in Erlang. Relativ spannend, weil ich nicht gedacht hätte, dass ich mal jemanden treffe, der darüber redet. Erlang ist mittlerweile Open Source und wurde vor allem von Ericsson zum Beispiel bei der Entwicklung von Software für Netzwerk-Switches benutzt (und das sind zum Teil sehr große Projekte). Es ist eine rein funktionale Sprache, was es eher zu einer Nischen-Technologie macht. Eine weitere Technologie, die er vorstellte, war
Hadoop, die Technologie, das im Yahoo-Kontext entstanden ist.
Weiteres Thema waren dann Web Frameworks. Ich dachte, er würde auf neue Java Web Frameworks eingehen, aber er sprach dann über PHP und Rails und dann auch bald über dynamische Sprache. Das Rails Video, in dem ein Blog entwickelt wird, zeigte er auch.
Dann kam das interessanteste für mich: Er ist wirklich der Meinung, dass Java eine Plattform für die verscheidenen dynamisch typisierten Sprachen werden soll. Java und statische Typisierung hat seiner Meinung nach den Vorteil, dass man Performance durch die staische Typisierung gewinnt und bessere Unterstützung in der IDE.
Seiner Meinung nach sollte Java vor allem JRuby, Pyhton und PHP unterstützen. An PHP arbeiten Caucho, den wir schon Resin, Hessian und Burlap zu verdanken haben.
Die WS-* Standards (WS Death Star) sind seiner Meinung nach zu komplex, vor allem, wenn man eine Skripting Sprach e als Clients verwendet und wenn man beachtet, dass sie mal als eine "einfache" Technologie gestartet sind. Er bevorzugt dann eher einfaches XML und Rest.
WJAX: Spring Day: Fazit
Mein größtes Problem beim Spring Day war dieses Mal, dass ich leider nicht bei allen Sessions anwesend sein konnte, weil ich zu viel mit der Vorbereitung meiner eigenen Sessions zu tun hatte und ich hatte auch parallel noch eine Session im SOA Tag. Daher kann ich auch leider nicht dem Spring Tag vollständig folgen. Aus diesem Grund habe ich in meinem Blog auch nicht alle Sessions erwähnt, was mir für die unerwähnten natürlich leid tut.
Die Teilnehmerzahl war jedoch sehr ermutigend und außerdem sind auch viele Leute extra wegen des Spring Days gekommen, so dass es offensichtlich ein wichtiger Teil der Konferenz ist. Auf jeden Fall wird es auf der JAX auch wieder eine Spring Day geben. Also: Stay Tuned!
WJAX: Spring Day: Spring & JPA
Jürgen hat dann mit mir zusammen auch noch die Integration zwischen JPA (Java Persistence API aus JSR 220) und Spring vorgestellt. Dies ist ebenfalls eine der wichtigeren neuen Technologien aus unserer Sicht, da früher oder später der O/R-Mapper-Markt sicher von JPA dominiert wird. Spring hat hier wieder die angestammte Rolle der Vereinheitlichung zwischen Java EE und Java SE, der leichteren Integration mit anderen Persistenz-Technologien durch die Nutzung gemeinsamer Exceptions und der Integration in eine gemeinsame Transaktions-Infrastruktur. Außerdem kann nur mit Spring JPA-Anwendungen sinnvoll mit JUnit getestet werden und auch nur mit Spring kann man JPA in Tomcat voll nutzen.
Spring Day WJAX: Spring Web Service
Arjen Poutsma von Interface21 hatte als letzten Vortrag auf dem Spring Day das Thema Spring Web Services. Dieses Framework fokussiert auf Contract First Web Services. Wenn man sich zuerst mit der öffentlichen Schnittstelle beschäftigt, hat man das Problem, dass man sich natürlich auch explizit mit XML beschäftigen muss. Man kommt - analog zu dem O/R Mismatch, dass es bei der Persistenz zwischen Objekten und der relationalen Datenbank gibt, zu einem O/X Mismatch zwischen Objekten und XML.
Spring Web Services nutzt nun im wesentlichen ähnliche Features wie Spring MVC, um mit diesem Problem umzugehen. Das bedeutet, auch hier wird ein Command mit den Daten aus dem Request versorgt und dabei kommt das bekannte Spring Binding zum Einsatz mit Validators und PropertyEditors.
Außerdem gibt es dann Content Based Routing, EndpointInterceptors (analog zu HandlerInterceptors). WS-Security ist dann mit Acegi integriert und es gibt auch die Möglichkeit, Exceptions durch einen ExceptionResolver bearbeiten zu lassen.
Ingesamt denke ich, dass gerade Contract First bei Web Services ein Schattendasein fristet. Mit Spring Web Services wird dies besser unterstützt und durch das Vorbild von Spring MVC gibt es nicht nur eine sinnvolle technische Grundlage, sondern die Prinzipien sind auch leichter zu verstehen.
WJAX: Spring Day Spring & OSGi
In diesem Talk von Martin Lippert, Bernd Kolb und gerd Wütherich ging es um die Technologie, die wir als nächstes pushen wollen, nämlich Spring und OSGi. OSGi ist ein Komponentenmodell, das zum Beispiel auch die Basis von Eclipse bildet. Gründe für den Einsatz von OSGi sind:
- Modularisierung auf einer grobgranulareren Ebene als Klassen durch OSGi Bundles mit klaren Schnittstellen. Gerade für größere Systeme ist das natürlich ein Vorteil.
- Man kann mit OSGi solche Bundles hot deployen und auch mehrere Versionen gleichzeit aktiv halten.
- Man hat eine globale Registry für Services.
OSGi Bundles bestehen dann intern aus Spring Komponenten und es gibt für ein OSGi Bundle dann einen ApplicationContext.
Interessant ist, dass die Spring-Patterns wie Exporter und Proxy auch im Kontext von OSGi nutzbar sind: Man kann damit Spring-Beans als OSGi Services exportieren oder mit Hilfe eines Proxy auf OSGi Services zugreifen. Jedes Bundle hat außerdem einen eigenen ClassLoader, so dass es Problem mit der Sichtbarkeit der Klassen geben kann und auch Probleme, falls eine Anwendung denkt, ihr Klassenpfad sei vollständig.
Ingesamt hat der Vortrag einen ganz guten Eindruck davon vermittelt, was man mit Spring OSGi anfangen kann. Einen Einstieg hat Adrian Colyer
hier zusammengestellt.
WJAX: Spring Day Intro
Auf der WJAX fand der Spring Day zum zweiten statt. Ich habe leider nicht so viel von dem Tag mitbekommen, wie ich mir gewünscht hätte, weil ich parallel auf dem SOA Tag noch einen Vortrag zum Thema "SOA - Eine nicht technische Betrachtung" gehalten habe. Der Tag war mit über 100 Leuten gut besucht, zumal er außerhalb der eigentlichen Konferenz stattfindet.
Der Tag begann mit einer Einführung von mir, in der ich eine Bestandsaufnahme über den Stand von Spring. Mittlerweile ist Spring das beliebteste Java EE Framework und mittlerweile gibt es einen umfangreiches Set an Frameworks und Tools, die auf Spring aufbauen. Es gab dann einen Hinweis auf die deutsche Community (eben zum Beispiel mit dem Spring Day oder mit der
Spring User Group Germany). Ein weiterer Indikator ist die Untersützung der Spring-Technologie durch Firmen wie BEA, IBM oder Oracle. In diesem Bereich sind sicher in Zukunft noch weitere Partnerschaften zu erwarten. Außerdem hat Spring dieses Jahr den JAX Innovation Award gewonnnen als die wichtigste europäische Innovation im Bereich Java und Eclipse.
Als Ersatz für die Case Studies auf dem letzten Spring Day habe ich kurz das französische Online-Steuersystem und Voca als die Firma, die 5 Milliarden Transaktionen mit 4,5 Billionen € auf Spring abwickeln.
Abschluß war dann ein Blick in die Zukunft. Was wollen wir noch? Nun ja:
- (Even more) Power to the POJO!
- Weitere Vereinfachung
- Enterprise OO
- Integration neuer Technologien (z.B. dynamische Sprachen, JPA)
- Mehr auf Spring basierende Frameworks schaffen
- Spring & OSGi als neue Plattform zusammenbringen
Mein persönlicher MacBook Test
Ich bin wortbrüchig geworden und habe mir als neuen Rechner doch ein MacBook und kein MacBook pro zugelegt. Nach den Erfahrungen mit meinen iBooks wollte ich eigentlich nicht wieder ein non-professional Laptop von Apple kaufen. Zum Überdenken der Haltung hat der Eindruck verleitet, dass die MacBooks in Bezug auf meine Ansprüche für eine dauerhaften mobilen Einsatz gegenüber den iBooks deutlich nachgelegt haben:
- Die Füße sind jetzt im Gerät so integriert, dass sie im Gegensatz zum iBook / Powerbook garantiert nicht mehr abgehen können.
- Es gibt einen magnetischen Verschluß, so dass keine mecahnischen Komponenten mehr daran beteiligt sind.
- Das gesamte Gehäuse macht einen stabilen Eindruck.
Ich habe jetzt gut zwei Wochen mit dem Gerät hinter mir und hier sind meine Eindrücke:
- Mac OS X mit 512MB macht wirklich keinen Sinn, daher habe ich jetzt 2GB. Beindruckend ist, dass bereits Office Benutzung (Skype, Mail, Word) die Maschine bei 512MB wegen Swapping praktisch unbrauchbar macht.
- Die Intel Core Duo sind wirklich schnell.
- Das Display, von dem ich gedacht hatte, das es ein großes Problem wegen Spiegelungen sein würde, ist der größte Vorteil in meinen Augen. Es ist wirklich brilliant und die Spiegelungen beeinträchtigen den Ntuzen nicht. Mein Monitor langweilt sich mittlerweile...
- Das Schlafverhalten ist gewöhnungsbedürfig: Mein PowerBook war sofort eingeschlafen, wenn man den Deckel zumacht. Das MacBook benötigt ca. 10 Sekunden und wacht anscheinend manchmal auch auf. Zu merken daran, das es dann sehr warm in der Tasche wird. Und manchmal zeigt es beim Aufwachen kein Login an, so dass man sich nicht einloggen kann. Apple hat ein Firmware-Update rausgegeben, dass aber die Probleme nicht endgültig gelöst hat.
- Heute hatte ich zum ersten Mal seit wahrscheinlich Jahren ein Kernel Panic auf einem Mac.
- Es ist endlich auch für Normalsterbliche möglich, ohne Probleme die Festplatte zu tauschen. Beim iBook war das nur durch komplettes Auseinandernehmen des Geräts möglich.
- Die Akku-Laufzeit ist bis jetzt eher enttäuschen, ungefähr 3 Stunden. Ich bin aber nicht sicher, ob die Akkus sich erst noch einlaufen müssen.
- Die Tastatur macht einen guten Eindruck - wie gut sie ist, habe ich erst gemerkt, als ich wieder mal mein PowerBook in Händen hielt.
Also: Ein recht schönes Gerät mit noch einigen Macken.
J for Java |
I for Internet, iMac, iPod and iPad |
Me for me