La Keynote d’Oracle
Disclaimer : les propos qui vont suivre n’engagent que ma propre responsabilité, et ne représente pas les opinions de mon employeur. En même temps comme je suis indépendant et que je suis mon propre employeur, on s’en fiche pas mal non ? aaah ahahaah
(suite de la partie 1)
Oracle monte sur scène ensuite. Steven G.Harris est SVP Oracle Corpo
Steven G.Harris est Senior Vice President, Product Development, de la partie « Server Technologies » chez Oracle. Tout d’abord, nous sommes en novembre 2009 au moment où je vous écris ces lignes. L’acquisition de SUN Microsystems n’a pas été finalisé. Difficile pour Oracle dans ces conditions de nous donner une vision, si et seulement si, l’acquisition s’effectue. La présentation a donc été assez légère…
Ce que je retiens : plutôt une bonne impression de la démarche d’Oracle. Peut-être que mes gènes de développeurs ont du mal, mais mes gènes d’entrepreneur sont plutôt rassurés. Concernant la stack, l’engagement pour Java reste intact, et sera même encore plus développé. En fait, tant que la plateforme Java fera gagner de l’argent à Oracle, pour quelles raisons Oracle voudrait y toucher ?
Nous avons eu ensuite une démonstration de la modularité du moteur de Weblogic Dynamic Module. Ce micro-noyau permet avec de l’OSGi de démarrer des services, de faciliter l’administration. Bon je vais te le dire à toi mais ne le répète pas : OSGi je m’en fiche. Mais vraiment. Moi ce que je veux, c’est un système qui me permet de développer sans relancer mon serveur. Et j’ai été séduit par l’approche de Glassfish par rapport à OSGi. Pour moi, l’approche de SUN est plus intelligente. Je vois OSGi comme la caféine dans le café. C’est là, vous savez que cela vous donnera la patate, mais vous n’en faîtes pas une montagne. Je signe pour l’approche Glassfish. Et je me fiche de l’approche Glaçon d’Oracle.
En fait, il y aura du mouvement dans les nouvelles équipes. Oracle vient de terminer la digestion de BEA. Est-ce que le morceau SUN et toutes ses équipes, ce n’est pas un peu trop gros ?
Steven Harris nous donne quelques messages qui me semblent importants : Java en 2009 c’est une technologie, c’est une plate-forme et c’est une communauté. Lorsque vous dîtes « je fais du Java », vous ne vous rendez pas compte que vous dîtes aussi « …et je fais aussi partie de cette grosse communauté… ». Et ça, croyez-moi, c’est plus important. Oubliez un instant votre éditeur favori. Java c’est votre diplôme. Vraiment. Oubliez votre école avec un nom genre ESIAGEEEP. Dîtes que vous faîtes du Java…
Ah j’ai oublié de vous dire que la démo d’Oracle était écrite en Scala, avec le framework Lift. Certainement très intéressant… Mais bien éloigné de nos préoccupations de la vie quotidienne. Ce n’est pas parce que Scala rime avec Viagra que tous les vieux développeurs doivent s’y mettre.
La KeyNote de Sun Microsystems
Cette Keynote est animée par Roberto Chinnici et Ludovic Champenois de Sun Microsystems. Roberto est le specificaton leader de JEE6. Je l’avais rencontré à Jazoon, mais si, rappelez-vous ! Ludovic est l’un des leaders techniques et architecte sur la plate-forme GlassFish et sur Netbeans.
La présentation de 45mn, animée par une démonstration de codage en direct, était vraiment bien. Je vais vous dire un truc : faire du code et passer une démo lors d’une Keynote, c’est gonflé. 2 salles de 780 places remplies à bloc. Si à cette instant la démonstration foire… c’est la catastrophe. Bon, c’est arrivé pendant la démo Oracle lors de l’encodage de l’image. Dommage.
La grosse nouvelle : JEE6 Final Release sera là le 10 décembre 2009. Roberto a couvert les nouveautés et les mises à jour de JEE6. Je vous invite à aller voir les blogs des voisins comme SFEIR ou Xebia, qui couvriront en détail les nouveautés de cette version. Il y a de nouvelles APIs, l’introduction du Web Profile, une meilleur « Pluggability » et surtout un moteur d’injection de dépendance. Est-ce que ce n’est pas l’arrivée de l’automne pour les moteurs d’injections de dépendances qui ne seront pas certifiés ? (automne-printemps , printemps-Spring… blague… désolé)
Parmies les nouvelles APIs :
JAX-RS RESTful web services API permet de mettre en place des services de type REST très facilement. C’est une API qui est déjà très utilisée, basée sur des annotations, avec un modèle de programmation intéressant lorsque c’est nécessaire.
Le profil Web JEE6 est avant tout une bonne nouvelle pour simplifier le packaging des applications Webs. C’est aussi la possibilité d’introduire de la modularité, et de la souplesse.
Le fichier web.xml devient optionnel. Une très bonne démonstration de Ludovic Champenois montre d’ailleurs que quelques annotations sont suffisantes pour créer une Servlet (@WebServlet, @WebFilter). Et aucuns fichiers XML dans les environs, l’injection de dépendance par un conteneur JEE6, c’est simple et rapide.
La démonstration ensuite, qui a même reçu des applaudissements de toute la salle, était décomposée en 3 parties. Tout d’abord la création d’une Servlet, l’ajout d’un EJB3 et enfin l’appel d’un service branché via OSGi. Tout d’abord, Ludovic a montré qu’il n’était pas nécessaire de repackager toute l’application. Glassfish v3 permet de recharger votre Servlet à chaud sans perdre la session. Une Servlet dans le monde de JEE6 c’est très simple. Ensuite, nous avons vu la création d’un EJB3, et l’injection avec le moteur d’injection de dépendance dans la Servlet. Enfin Ludovic a terminé par une démonstration de l’intégration d’un service OSGi. Le tout en 5mn30, sans aucuns plantages.
Ce qu’il faut retenir : Java EE 6 est là. Pour une application d’entreprise et même pour migrer un ancien projet, il faut absolument que vous regardez cette nouvelle architecture. Simple, propre, mature, c’est aussi le résultat d’un effort de toute la communauté Java. La veille au soir j’ai aussi assisté à une Bird of a Father (BOF) à 20h00 avec des gens de SUN, des gens de RedHat, et le tout était très sympa. On peut dire que JEE6 est le résultat d’un effort commun. Enfin Glassfish, mais je l’ai déjà dit, est un très bon conteneur. Il démarre en quelques secondes.
Les gens qui ont spécifié JEE6 ont appris à ne pas reproduire les erreurs des vieilles versions de Java (J2EE 1.4 surtout). Il faut comprendre que si cette spécification est arrivée en 2009, c’est qu’elle représente le fruit d’un gros travail de plusieurs entreprises et de la communauté. Je vous recommande de vous jeter sur JEE6 comme vous vous êtes jeté sur Spring il y a 3 ans. Les choses changent, moi j’y crois.