DEVOXX 08

Un résumé condensé de ces trois jours, des sessions que j’ai suivi et sur lesquelles j’ai un mot à dire. C’était ma première, l’ambiance est bonne, l’organisation est nickel (petit bemol pour le Wifi un peu lent) et comme c’est dans un cinéma c’est très confort pendant les sessions (non non j’ai pas dormi 😉 ) […]

Un résumé condensé de ces trois jours, des sessions que j’ai suivi et sur lesquelles j’ai un mot à dire. C’était ma première, l’ambiance est bonne, l’organisation est nickel (petit bemol pour le Wifi un peu lent) et comme c’est dans un cinema c’est très confort pendant les sessions (non non j’ai pas dormi 😉 ).

Day 1
Présentation de JavaFX
De belles et impressionnantes démos (puzzle, swish, fox box), rien de vraiment neuf depuis la version preview que j’avais testé, à part le « encode once play anywhere » avec des appels natifs (mac, windows pas linux pour l’instant) et un format « cross platform » : FXM. Je continue à trouver l’approche intéressante depuis que j’ai découvert F3 et que je m’intéressais au représentation des UI mais je continue à penser que Sun se positionne mal par rapport à ses concurrents Flex et Silverlight. Ils devraient selon moi se dégager et offrir des solutions pour réaliser des composants RIA dédiée à l’informatique de gestion domaine mieux connu des développeurs Java. Il y aurait, peut être, plus d’accroches de la communauté.

IBM RFID
Pas convaincant du tout, présentation du RFID un peu barbante, peut être parce que je connais déjà bien la techno pour l’avoir mise en oeuvre. IBM a mis des antennes et des portes RFID partout et nous étions suivis par nos badge. Leur application est encore une grosse usine avec leurs outils compliqués c’est pas vendeur je trouve. Il y avait selon moi des démonstrations plus simples à faire et mettant en valeur cette technologie.
Je m’attendais au moins à voir une API Java pour lire RFID, que dalle, ils ont fait comme moi un wrapper JNI pour se connecter à leur lecteur RFID, bref déçu et dommage pour IBM pour faire adhérer les dévelopeurs à cette techno intéressante. On voit quand même la complexité de la détection et les erreurs de collision qui montre que cette techno n’est pas encore mure.

Envers : Entity versionning library
Sujet sur lequel je me penche actuellement avec EOF. Le principe est de pourvoir auditer les différentes modifications réalisées en base (comme avec le versionning de source) de manière à pouvoir tracer qui a fait quoi et pouvoir revenir en arrière. La technique présentée s’appuie sur la duplication de table (suffixées par _AUD), dans le future un stockage par champs et non par entité entière est envisagé (personnellement je pense que c’est plus pertinent).
La syntaxe est séduisante (annotations) et rend l’utilisation du framework complètement transparente. Le mode de requetage est aussi séduisant et a l’air puissant, ce sera difficile de refaire ça pour EOF. Le framework est prometteur pour ceux qui veulent auditer le traitement des données dans leur base, dans mon cas c’est obligatoire en médecine. A suivre donc bien que de toute façon je doivent refaire cela pour EOF.

Android par Romain Guy
Présentation orientée 3D et effets comme à son habitude ;). J’ai eu le plaisir de manipuler le G1 (merci Romain) et franchement en vrai ca rend mieux que sur les videos. C’est rapide et bien organisé. Il y a pas de multi-touch et la gestion du zoom et pas top mais les bascules entre applications sont rapides et je ne trouve pas qu’il ait grand chose à envier à l’iPhone. L’approche open de Google en fait vraiment un produit attirant, je sens venir un prochain article la dessus une fois que je m’y serais plongé pendant un week end.

Java Modularity with OSGi par Peter Kriens
Présentation d’OSGi par un de ses fondateurs, connaissant déjà la techno j’y suis allé en pensant y apprendre encore, mais c’était généraliste (historique, principes et fondements). Mais je me suis pas ennuyé pour autant car Peter connait bien son sujet et les exemples étaient pertinents. Je pense toujours que cette techno sera au coeur de nos futures applications.

Day2
Effective Java et Java 7
Meilleure keynote qu’hier, après les bons conseils de Joshua Blosh c’est l’annonce de Jigsaw ou la réconciliation de Java Modules et d’OSGi. Une bonne nouvelle pour la communauté Java et les architectures modulaires.

HTML 5
Jonas Jacobi et J.R Fallows de Kaazing présentait les spécificités HTML 5 : websocket, postmessage, server-sent. Déjà évoqué dans ce post, ces architectures sont intéressantes. L’approche de Kaazing à ce plus de mettre en oeuvre une gateway qui prend en compte la problématique du firewall.

NIO.2
Jean-François Arcand nous présente la nouvelle implémentation de NIO prévue pour JDK7. Cela concerne surtout l’AIO (asynchrone). Présentation complexe mais qui montre tout de même que cette nouvelle implémentation répond aux attentes de performances pour les serveurs web. L’approche asynchrone rend plus fiable le traitement des flux. Bien que complexe tout cela devrait être masqué dans des API et l’est déjà dans Grizzly.

Day 3
Amazon Web Services
Le cloud est un sujet d’actualité, il est temps de s’y pencher sérieusement. La première partie de la présentation portait sur les fondements de AWS : S3 pour le stockage, EC2 pour le « hosting » d’image virtuelles, … C’est tout de même attirant cette possibilité de déployer au fur et à mesure de ses besoins mais AWS reste une infrastrucuture et n’offre pas de service d’infogérance. Il y a un vrai marché à prendre, d’où la deuxième présentation sur Elastic Grid : un service de déploiement d’applicatifs basé sur AWS. A partir d’un fichier de configuration Elastic Grid vous propose de déployer vos applications en s’occupant des aspects de configuration et de disponibilité (si j’ai bien tout compris).

XML Persistence
La base de données relationnelle n’est pas adaptée au stockage de données hiérarchiques telle que XML. Bien que quasiment toutes les bases de données relationnelles existantes aient une offre de stockage XML il n’existe pas d’API Java pour manipuler ce type de BD. J’adhère à ce constat et je pense même qu’il est important de réfléchir au type de base de donnée à utiliser selon son besoin, le relationnel est trop souvent choisi par défaut. Il existe plusieurs types de stockage de données : relationnelle, XML/hierarchique, objet (db4o), multi-dimensionnelle (BigTable), orientée document (CouchDB)… Chacune à son API (propriétaire ou pas) et son langage de requête. Il serait intéressant dans un prochain article de détailler les spécificités de chacune. Une thread dans TSS et le récent article Martin Fowler montrent que ce sujet est effervescent.

Des sessions qui ne m’ont pas ému je dois dire, les speakers étaient pas mauvais mais j’ai pas appris grand chose car j’avais souvent déjà jeter un oeil à la technologie et ça ne descendait pas dans les détails, peut être ai-je fait trop de veille ;). Mais c’est tout de même une occasion de confirmer ou infirmer certains points et de se remettre en question. De plus c’est dans les couloirs et entre les sessions que c’est souvent le plus riche en discutant avec Didier, Nicolas, Romain, Florent, Jean-Laurent, Jerome… C’est le principal intérêt de ce type d’évènement.

  • Salut seb
    Merci pour ton compte-rendu, ce qui est sympa en effet c’est de se rencontrer en vrai, la communaute francaise/parisienne/java est finalement petite 🙂
    A bientot

    Nicolas