Pour ceux qui n'y étaient pas, et bien vous avez raté un grand moment de geekitude :
le JugSummerCamp 2011 était un très, très bon cru !
Malgré le grand pavois qui a tenté de nous voller la vedette (et 90% des chambres d'hotel), le PoitouCharentesJug a démontré sa totale maîtrise de l'organisation de ce qui devient un rendez-vous annuel incontournable. Les speakers sont chouchoutés, avec un gite qui leur est dédié et qui permet de discuter jusqu'à très, très tard des sujets les plus variés, dans une ambiance bon-enfant qui fait du bien, autour d'un verre de pineau et d'une raclette (il parait que c'est un plat traditionnel).
Après une courte nuit à refaire le monde et à dire du mal des absents (niarc niarc), direction le vieux port dont le cadre magnifique illumine cette journée conférence. Petit café et viennoiseries nous attendent, l'occasion de retrouver quelques connaissances de la grande famille java-geek, et on attaque cette journée qui va être dense.
Keynote
Antonio Goncalves a passé sa nuit la veille à peaufiner ses slides, entre deux verres de pineau, et le résultat est réussi (est-ce grâce au pineau ?). Antonio retrace l'évolution de l'information, depuis les débuts de l'humanité jusqu'au chiffres hallucinants des datacenter Google. Son discours nous amène à réfléchir sur la maturité de notre domaine technique, et donc sur la nécessité de normes pour aller plus loin comme l'ont fait les autres activités humaines. Le Cloud est dont le buzz-word mais ne pourra devenir une option d'avenir qu'avec des standards, et JavaEE a son mot à dire. Antonio admet qu'il peut très bien se tromper, comme tant d'autres avant lui, mais nous promet un JavaEE @Cloud, même si le groupe d'expert qui pilote la norme n'est pas spécialement très pointu sur le sujet en dehors d'Oracle qui pousse fort dans ce sens et de la contribution de Spike Washburn (CloudBees). Pour conclure, Antonio continue dans l'esprit fresque temporelle pour remettre le cloud à l'échelle de l'histoire de l'univers (soit 23:59.999999999 rapporté à une journée de 24h) et nous encourage à faire la fête - philosophie simple mais bien accueillie par le public ;)
Architecture des applications de demain
J'ai suivi la session de Michaël Figuière sur les nouvelles architectures. Je suis très content qu'il ai insisté d'abord sur les nouveaux usages, l'ergonomie, la valeur d'une application dans un milieu où il existe toujours un concurrent. Exemple poignant : les cercles de Google+ qui ont bluffé tout le monde et fait un buzz impressionnant, alors que le back-end doit lui aussi valoir le détour ... mais n'intéresse qu'une poignée de hard-core-nerds. Pensez donc d'abord aux usages et aux utilisateurs, à Mme Michu devant son écran, avant de vous lancer dans des bench noSQL.
Michaël insiste ensuite sur la nécessité de profiter du buzz quand il vient enfin : deux mots à propos de votre site web sur Capital et c'est 100.000 visites sur le site dans les minutes qui suivent, iPad sur les genoux, juste par curiosité. Le site tombe ? Vous venez de rater la plus belle opportunité de votre vie !
La solution, c'est évidemment de profiter de l'élasticité du Cloud, et j'ai beaucoup apprécié que Michaël se démarque du discours évangéliste sur le 100% Cloud en nous montrant l'exemple du Guardian : le site principal (la charge nominale) est hébergé sur des plateforme privées. Amazon EC2 et Google App Engine sont mis à contributions pour les pics de charge (attentat en Norvège ou lancement de la tournée de Britney Spears). Une solution hybride très pragmatique et qui sera - amha - l'avenir proche pour le Cloud en entreprise.
Inspection Continue / développement Cloud
J'ai séché cette session, le temps de préparer ma démo de l'après midi qui avait quelques défauts. Je me rattraperais en invitant Olivier Gaudin à Rennes pour une soirée Sonar
La pause déjeuner est un nouveau moment de convivialité, l'occasion de discuter avec des personnes de tous horizons. Comme toujours, l'équipe organisatrice fait un sans faute, on est tellement habitués que ça parait banal.
Quickies
J'ai embarqué Arnaud dans un sketch qui ne sera pas diffusé sur Parleys, afin de nous éviter un procès en diffamation, mais qui a été un bon moment de rigolade et l'occasion d'offrir quelques exemplaires de notre livre. Nous l'avons donc eu entre les mains au moins un instant, je pense que vous l'aurez tous avant que je reçoive mes exemplaires auteur...
Ma forge on the Cloud
C'est le moment pour moi de vous présenter une suite à ma session de l'an dernier. On reprend ma jolie forge logicielle avec tout ce qu'il faut dedans, et on voit comment mettre ça en place de manière efficace. Entre les délais, les coûts, l'intégration et le manque de souplesse, une forge "faite main" est une solution bien lourde.
On passe alors à la démo : partant d'Eclispe (désolé) et d'un compte CloudBees, nous poussons une application web sur SVN (encore plus désolé), elle est buildée automatiquement par Jenkins, déployée sur RUN@Cloud et mise sous la surveillance de NewRelic. Ce que j'ai voulu démontrer, c'est la force de l'intégration de ces outils/services qui donne un ensemble très fluide, en quelques clics seulement.
CDI-OSGi
OSGi ne fait pas beaucoup rêver, vu la complexité et la remise en cause que cela implique. Mathieu Ancelin nous présente donc CDI-OSGi, une extension qui permet de développer des composants OSGi en utilisant le bon vieux @Inject, annotation qui va devenir universelle.
La démo est très sympa, il reste regrettable que les démos OSGi passent toujours par cette immonde console qui liste les dizaines de bundles en mode texte. Malgré ce point qui doit rebuter tout novice, j'ai vraiment aimé l'outil qui rapproche (enfin) OSGi des développements traditionnels.
Par contre, l'aspect dynamique de ces injections de dépendances reste difficile à assimiler pour le développeur, et découvrir qu'une dépendance n'est pas satisfaite au moment de l'appel de méthode est très perturbant. J'aurais préféré une approche bloquante, ce qui est peut être supporté, il faudra creuser la question.
Hibernate vs le Cloud
Sujet présenté au BreizhCamp, Julien Dubois remet à plat l'accès aux données persistantes en épluchant le catalogue des options existantes : Hibernate + base de donnée relationnelle, base de données hors de prix répartie/répliquée, caches, caches distribués, ou bien stockage noSQL qui fait revenir par la fenêtre le pattern DAO que nous avions sorti à coup de pieds par la porte JPA. Julien détaille avantages et inconvénients de chaque solution, et fait voter la salle.
Cette session est l'occasion de prendre un peu de recul sur nos habitudes de développement, où on est tenté de rajouter un outil pour compenser les défauts de ceux déjà en place. L'approche relationnelle ACID, rend les choses simples mais limite la scalabilité. Les solutions dédiées coutent un bras sans réellement résoudre le problème. Les caches apportent une solution en sacrifiant un peu de la pertinence de nos requêtes, et les solutions noSQL se focalisent sur une utilisation spécifique des données pour choisir leur mode de stockage.
La morale de l'histoire, c'est que la solution à tout faire n'existe pas. La solution de stockage dépendra de notre utilisation des données, alors que le modèle relationnel nous encourage à penser avant tout structuration fiable puis à greffer nos requêtes dessus en fonction des besoins.
Keynote de cloture
Donnez les commandes à Nicolas Martignole, il vous emmène en 2021 pour regarder la Touilleur TV. Complètement déchaîné malgré une santé un peu fragile, Nicolas démontre sa capacité à étonner et à faire passer un message très sérieux dans un écrin d'humour.
Nicolas nous prédit donc de nouvelles fusions/rachats entre les grands de ce monde, un métier de développeur qui touche le fond, laminé par la masse de diplômés qui sortent des écoles indiennes et chinoises, mais avec comme espoir que les quelques développeurs talentueux qui tiennent bon gagnent des salaires de joueur de foot. Dans ce monde virtuel, Antonio écrit un nouveau livre "comment arrêter le développement" et on passe une certification chef de projet en deux jours.
Comme tout message de ce type, la réflexion se fait après la session, quand les images reviennent à vitesse normale. Bravo Nicolas, le prochain aura une sacré pression pour faire aussi bien ;)
Rendez-vous l'an prochain !
En attendant la diffusion sur Parleys, voir aussi les blogs de Claude et Michel :
http://cfalguiere.wordpress.com/2011/09/17/le-jug-summer-camp-cest-fini-pour-cette-annee/http://mimah35.blogspot.com/2011/09/jugsummercamp.html