Les rencontres Spring 2008
Organisé par Julien Dubois de SpringSource et Didier Girard de Sfeir, une chouette matinée dense en contenu, au final pour les Geek & les Boss! L'idée fait son chemin...
La matinée a démarré par une présentation de Peter Cooper Ellis qui a passé 10 ans chez BEA et a rejoint SpringSource comme VP en Juin dernier. 10 ans chez BEA puis SpringSource, personnellement, ca me fait rêver...BEA, la 1rst Street, San Jose...bref je m'égare!
Mr Cooper Ellis nous a donc présenté le portfolio Spring ainsi que leur roadmap : adresser le " Build " et le " Run ". Sur les aspects " Build ", les projets et les améliorations continuent autour des outils d'aide au développement mais également l'intégration de Groovy et de Grails dans le portfolio (suite au rachat de G2One), des améliorations autour de Spring Integration (qui propose une partie des fonctionnalités que l'on peut rencontrer dans un ESB) qui devraient sortir fin 2008, l'apparition de Spring ROO qui propose un modèle proche de Grails à base de "convention over configuration", des évolutions de Spring Web visant à proposer une intégration avec Flex ou encore la version 2.0 de Spring Batch, le tout pour Q2 2009. Enfin, les sorties de Spring 3.0, Groovy 1.6 et Grails 1.1 pour Q1 2009.
Côté " Run ", SpringSource semble mettre l'accent sur dm Server et il y a fort à parier que Peter Cooper Ellis n'y est pas étranger. dm Server est un bundle Tomcat - basé et proposant OSGI - qui est enrichi de différentes offres (j'avoue ne pas avoir saisi si ces offres sont disponibles uniquement avec l'offre de support ou non. Peut être que Julien pourra nous donner quelques détails). Tout d'abord la possibilité d'utiliser des packs fournis par Spring et optimisés pour telle ou telle base de données, tel serveur d'application etc. Ensuite, l'offre Spring Application Management System qui propose a priori l'outillage de monitoring nécessaire. De prime abord, cela ressemble à JMX à la différence près que les sondes seraient capables de se brancher directement sur le framework Spring et donc dans l'application...Bref, une affaire à suivre. Enfin et non des moindres, une volonté affichée de Peter Cooper Ellis de ne pas refaire un serveur d'application mais de simplifier les problèmes de demain et faisant en sorte que le dm Server puisse simplement être utilisé dans des architectures distribuées et de type Grid (on rappellera le partenariat Spring et Terracota, et l'intégration du modèle de développement Spring dans Gigaspace...) : une roadmap produit qui nous emmènerait à Q4 2009 avec la version dm Server Orkney.
S'en est suivi une présentation très technique de Mark Thomas sur les optimisations des serveurs Tomcat. Du très "actionnables" avec du -Xmx, -XX:newSize, du blocking ou non-blocking IO.
Enfin et pour clore la matinée, la présentation de Juergen Holler s'est concentré sur les nouveautés qu'apportera Spring 3.0. J'ai retenu les points suivants :
- Spring 3.0 est dans la continuité de Spring 2.5
- les Spring Expression Langage pour par exemple injecter des propriétés de beans etc...
- le support de REST au niveau de Spring MVC via des annotations sur les beans. A priori Spring MVC ne supportera pas Jersey. De ce que j'en ai compris, les annotations Jersey/JAX-RS devraient être supportées mais pas directement dans Spring MVC...
- le support d'un modèle de validation également à base d'annotations sur les beans. Ce framework sera également compatible avec la JSR 303 et les annotations de validation proposées par Hibernate.
- la compatibilité ascendante ne serait assurée qu'avec la version 2.5 de Spring. Ainsi toutes les APIs dépréciées de Spring 1.2 et 2.0 risquent d'être supprimées...Certaines migrations restent d'être douloureuses...
L'après-midi a ensuite été consacrée à des discussions en petit comité avec Juergen Holler et Peter Cooper Ellis. Une discussion sur des sujets aussi riches et variés que Spring, JEE, l'avenir du marché des serveurs d'applications, l'acquisition de Groovy et Grails. Si je devais tenter un résumé de ces discussions : l'avenir est à la simplicité (pour les développements notamment) et à la modularité (n'utiliser et ne démarrer que certains services fournis par le serveur....). dm Server cherche à répondre à cela et repartant d'un existant léger comme Tomcat. Les éditeurs de serveurs d'applications JEE doivent chercher à rendre leurs solutions plus modulaires : les profiles amenés par JEE 6 y contribuent mais ces éditeurs doivent assurer la "backward compatibility", et c'est peut-être le plus complexe.