POXD

Mon retour sur Jazoon

Publié le

C’est dans le complexe cinématographique Arena Filmcity de Zürich que j’ai participé à ma toute première conférence internationale sur Java. Sur une durée de trois jours, c’est comme un petit gamin émerveillé par un mur de bonbons que j’ai navigué de session en session dont voici un aperçu1. La conférence s’est déroulée du 1 au 3 juin j’ai donc plus d’un mois de retard sur les faits mais ça prend du temps tout de même d’écrire un article pareil, non mais!

Toutes les présentations dans un zip ici

Le mardi

Ce premier jour restera mon préféré. De bonnes session d’introduction et de conclusion, un apéro bien sympa en fin d’après-midi et la découverte d’une conférence super bien organisée. Bien accueilli, bien nourri, tout est quasi parfait.

Java SE and JavaFX: The Road Ahead

La toute première présentation est donnée par Danny Coward, Chief Architect for Client Software chez Oracle. Membre du JCP, présent sur Java depuis la version 1.0, il a notamment mené la standardisation de l’api servlet. Il en connaît donc un bout.

Avec son accent british, l’orateur nous rappelle que Java a 15 ans, qu’il y a aujourd’hui 7 millions de développeurs Java et que Java se trouve partout des smartcards jusqu’aux téléviseurs. Petit clin d’oeil au green project avec un iphone des années 1990 dans les labos de Sun2.

En revenant sur l’actualité il parle ensuite des divers évolutions actuellement en cours de discussion au sein du jcp pour la version 7 du jdk. Il pointe du doigt pour commencer sur l’effort de refactorisation et de modularisation. Le jdk7 sera modulaire grâce à un système de class loading plus efficace en chargeant uniquement les classes nécessaires.

L’accent est ensuite mis sur le parallélisme. La version 7 du jdk améliorera les choses de ce côté-là notamment grâce à un garbage collector amélioré tournant selon les dire de Danny Coward quasiment en même temps que l’application. Un framework Fork/Join3 fera également son apparition permettant de séparer des tâches en petit bouts, les exécuter en parallèle et ensuite rassembler les résultats pour ainsi profiter de la présence de tous les processeurs de la machine. Ce framework est une extension du package java.util.concurrent apparu dans la version 5 du jdk.

La machine virtuelle étant l’un des grands atouts de Java, il existe aujourd’hui plus de 200 langages pouvant s’exécuter sur celle-ci. Le jdk7 apportera également des améliorations à ce niveau-là notamment en terme de performances.

Finalement concernant le code produit par les développeurs au jour le jour Danny Coward explique qu’ajouter de nouvelles fonctionnalités à ce niveau-là est pris très au sérieux et bien réfléchi car une fois ajoutées, ces nouvelles fonctionnalités restent présentes à jamais. On pourra néanmoins retrouver plusieurs ajouts:

Le but étant clairement d’alléger notre code, de le rendre plus lisible. On retrouve plusieurs idées venant du monde des langages dynamiques…

Pour finir Danny Coward nous parle de JavaFX. Une démo de ce qui a été fait pour le site des jeux olympiques de Vancouver, des composants compatibles du mobile à la tv, des performances améliorées, etc. Oracle ne lache donc pas le morceau concernant sa plateforme RIA. JavaFX fait d’ailleurs le sujet pas moins de six sessions.

Très bonne présentation donnée par Danny Coward, la conférence commence alors très fort.

Télécharger les slides de la présentation

The Java EE 6 Platform: Powerful, Productive, Extensible

Cette session présentée par Jérome Docher et Alexis Moussine-Pouchkine est là pour nous parler des nouveautés de JEE 6. Une nouvelle notion de profile, de nouvelles annotations, une api REST, un système de packaging simplifié et une version lite des EJB font notamment leur apparition.

Web Profile

La spécification de JEE 6 fait mention d’un sous-ensemble d’api4 disponible dans ce qui est appelé le web profile. Ce profile comme le démontre la liste des api disponibles fourni le nécessaire pour la plupart des applications entreprises sans inclure toutes les api entreprises existantes comme par exemple EJB 3.1. La notion de profile est extensible et tout un chacun peut créer son propre profile.

Packaging

Il n’est dorénavant plus impératif de créer un ear dès lors qu’un projet contient des EJB. Tout composant peut se retrouver dans une archive war. Une notion de web fragment apparaît également permettant une meilleure intégration des librairies dans les projets JEE. A noter également que le fichier web.xml n’est dorénavant plus obligatoire grâce notamment à l’ajout d’annotations telles que @WebServlet et @WebFilter. En parlant d’annotations une autre nouveauté intéressante: l’annotation @HandlesTypesqui permet d’ajouter depuis le code des mapping — entre autre — à chaud dans le container.

JAX-RS 1.1

L’implémentation de RESTful web services se fait grâce à la spécification JAX-RS à partir de JEE 6. Basée sur des annotations mais proposant également une api disponible depuis le code, l’implémentation de référence se nomme Jersey et elle est disponible conjointement avec glassfish.

EJB

Une nouvelle version mineure fait son apparition avec en nouveauté quelques annotations: @Singleton, @Startup et @Asynchronous mais également comme évoqué plus haut la possibilité dorénavant de créer un EJB au sein même d’une application web. Plus besoin forcément d’un ear.

L’EJBContainer voit également le jour permettant de lancer une instance d’un container EJB localement. Ce nouveau composant devrait notamment faciliter grandement les tests d’EJB mais aussi permettre aux applications jse d’acceuillir des EJB en leur sein.

La contrainte pour la version lite évoquée plus haut se trouve au niveau du type d’EJB qu’il est permis de déployer dans cette version. Uniquement les EJB de type local sont permis.

Bean Validation

Cette spécification permet la validation des propriétés au sein des beans au moyen soit d’annotations (ex: @NotNull) soit au moyen d’une api disponible. A noter également que cette api n’est pas dépendante du container, il est possible de l’utiliser depuis n’importe quel type d’applications.

DIDependency Injection

La notion d’injection de dépendances est maintenant prise en charge par le container. Ca va un peu plus loin que ce que fait par exemple Spring dans le sens que le container peut gérer la portée des propriétés injectées (ex: session, requête, etc.). L’annotation @Resource permet toujours d’injecter les composants configurés sur le serveur comme les ressources JNDI par exemple. @Inject fait son arrivée en proposant l’injection type safe. Autre arrivée: les qualifier qui sont des annotations définies par le développeur lui-même dans le but de spécifier quel type d’instance injecter. Les slides prennent comme exemple un objet User devant être injecté dans un CheckoutHandler et le qualifier LoggedIn permet de s’assurer que l’instance injectée sera l’utilisateur identifié à l’application dans ce contexte-ci.

Une autre possibilité de gérer les dépendances avec JEE 6 c’est avec les événements qui font leur arrivée avec l’annotation @Observe.

Et encore…

Des nouveautés aussi côté JSF avec support simplifié d’ajax, des événements systèmes mais aussi côté JPA avec l’arrivée d’une api Criteria permettant la création de requête type-safe et plus uniquement une suite de String source d’erreur à l’exécution.

La présentation se termine avec une démo utilisant glassfish l’implémentation de référence de JEE 6. Petit détail intéressant révélé durant la démo: la possibilité de redémarer une application tout en gardant la session dans le même état. Pour plus de détail n’hésitez pas à consulter les slides ou bientôt la session directement puisque cette session s’est déroulée dans la salle 5 qui était filmée.

Télécharger les slides de la présentation

CDI, Seam & RESTEasy: You haven’t seen REST yet

Dan Allen reprend ici les principes de REST tout d’abord en expliquant en trois points les aspects essentiels d’une architecture centrée sur les ressources:

  1. Uniforme: architecturer les URL pour adresser les besoins, les méthodes adressent les opérations (GET, PUT, DELETEPOST)
  2. Orienté représentation
  3. Communication sans état: plus scalable et plus cohérent avec le protocol HTTP

S’ensuit quelques extraits de code avec explications utilisant JAX-RS comme base de référence. Il termine par une démo de RESTEasy qui se trouve être l’implémentation de JAX-RS par JBoss. Cette implémentation propose entre autre l’avantage d’avoir un serveur embarqué pour les tests et une forte intégration au framework Seam.

Dan Allen résume finalement en citant les principaux bénéfices de REST:

  1. Respect du protocole HTTP
  2. Simplicité
  3. Exposition des données au travers d’une API standardisée

Télécharger la présentation

Objects of Value

Après un bon lunch je continue avec cette session présentée par Kevlin Henney. Si vous avez l’occasion de le voir à une conférence ça vaut le coup. C’est vraiment un excellent présentateur.

Il nous a parlé ici un peu philosophiquement de l’importance que nos objets aient une identité clairement définie. Trop souvent les String font office de fourre-tout.

Télécharger la présentation

Server-side OSGi with Apache Sling

Le présentateur était malheureusement pas assez à l’aise pour rendre le sujet intéressant. Soporifique à souhait, la pause café s’est faite désirer…

Le principe de Sling est de mapper une URL à une ressource et d’y apposer un script de traitement. Les ressources en question sont hierarchiquement disposées dans un repository JCR. Tout ça fournit une base solide à l’implémentation d’un CMS personalisable, d’ailleurs utilisé par Day Software au travers de leur solution commerciale CQ.

Télécharger la présentation

Servlet 3.0 — Asynchronous, extensibility, ease of development

La version 3 de l’api servlet — intégrée à JEE 6 — est vantée par Rajiv Mordani dans cette session suivie par une démo par Arun Gupta.

Extensibilité et asynchronicité sont donc les maîtres mots de cette nouvelle mouture. Il est dorénavant possible — comme vu plus haut — d’ajouter dynamiquement depuis le code de nouveau composants au container de servlet. Pour parler d’extensibilité la notion de fragment fait aussi son arrivée. Cela devrait faciliter la vie du développeur notamment lors de l’utilisation de frameworks tiers. En effet ces frameworks pourront se configurer d’eux-mêmes au sein de l’application, plus besoin de définir le nécessaire pour configurer un framework au sein du fichier web.xml.

En plus de ces points forts, l’arrivée de plusieurs annotations devraient également faciliter notre vie… Voir la présentation The Java EE 6 Platform: Powerful, Productive, Extensible pour plus d’info.

A noter finalement la possibilité de se passer complètement du fichier web.xml à partir de cette nouvelle version.

Télécharger la présentation

97 Things Every Programmer Should Know

A nouveau une présentation par Kevlin Henney et à nouveau un vrai régal. Pour cette dernière session de la journée on est tous rassemblée dans la salle principale. Et plus d’une fois les rires ont émergé de l’assistance, Kevlin est vraiment un bon orateur…

Cette session-ci présentait son dernier livre portant le même nom que la session. Ce livre est une compilation d’avis d’une ribambelle d’experts sollicités par Kevlin.

Comme conseils on a pu retrouver par exemple:

Télécharger la présentation

Le mercredi

Que ce soit pour ce deuxième jour ou le troisième et dernier je serai certainement moins prolixe. Moins enthousiaste, moins de sessions de qualité…

Total cost of ownership and return on investment

Ken Schwaber, co-créateur de la méthodologie Scrum, est l’orateur de cette première session du matin. L’idée est de pointer du doigt les méthodes traditionnelles de développement ne prenant pas forcément en compte les coûts à long terme d’un projet logiciel.

Cette session aura été la toute première à nous faire participer puisque durant celle-ci, l’orateur nous demande d’échanger entre assistants notre conception de ce qu’est “done“. Autrement dit que doit contenir un projet terminé. Les tests d’intégrations doivent en faire partie? Les tests de performance? De charge?

Si la notion de done n’est pas complète toute une série de travail à faire est reporté en fin de projet ou du moins à plus tard. Si l’on reporte trop de choses à plus tard — dû à une mauvaise notion de ce qui est done — forcément qu’un gros boulot restera à faire. Cela ressort bien de la slide 12:

Stabilization is when you do all the “undone” work

La suite de la session n’est que publicité pour le nouveau cours scrum disponible. Si cela vous intéresse rendez-vous sur le site officiel: http://www.scrum.org/

Télécharger la présentation

iPhone/iPad development from the Java perspective

Carrément impatient d’assister à cette présentation, je ne suis visiblement pas le seul vu l’assistance en nombre venue pour écouter Ognen Ivanovski prodiguer ses conseils sur le développement iPhone/iPad.

L’expérience utilisateur

Premier élément évoqué: le hardware. Développer sur mobile signifie davantage de contraintes à ce niveau-là par rapport à du développement JEE sur de gros serveurs. Petit récapitulatif provenant de la présentation:

iPhoneARM11 ~400MHZ
iPhone 3G128MB RAM (~50MB for an application)
iPod TouchHardware Graphics Accelerator
iPod Touch 2nd generationslightly faster
iPhone 3GSARM Cortex V8 ~600MHz / 256MB RAM
iPadApple A4 SoC (ARM) ~1GHz / 256MB RAM

Si les contraintes au niveau matériel sont bien réelles il faudra également reconsidérer nos préconceptions par rapport à l’utilisation de l’application. Une application sur iPhone qui demande beaucoup d’interactions avec l’utilisateur pour atteindre un résultat n’est pas une bonne application. L’iPhone s’utilise dans le bus, en marchant, dans l’ascenseur, le canapé, dans quasiment toutes situations si ce n’est à un bureau, tout l’inverse des applications dont on a l’habitude de développer. Il faudra par conséquent bien réfléchir l’interaction utilisateur, qu’elle se fasse le plus simplement possible et ce avec le minimum d’information entrée par l’utilisateur. Lorsqu’il se doit d’interagir, il faut aussi penser à afficher des contrôles suffisamment grands, l’utilisateur entre les données avec ses doigts et non plus avec une souris… Autre préconception à s’enlever de la tête.

Une bonne utilisation du multi-touch et des animations permettront également de rendre l’application plus responsive et de faire comprendre à l’utilisateur où il en est, ce qu’il peut faire et comment. Même si l’on peut y être un peu habitué au sein des applications web au travers par exemple des progrès réalisés au sein des frameworks javascript, l’iPhone pousse l’expérience encore plus loin.

L’écosystème

L’image du Walled Garden est bien connue lorsqu’on parle d’Apple et on y revient automatiquement dès lors que l’orateur commence à nous parler de l’écosystème d’un développement pour iPhone. Des licences qu’il faut garder à l’oeil du fait de leurs variations incessantes, un risque de rejet de son application dès le départ ou encore sur une évolution ultérieure, tels sont quelques points à risque lors qu’on attaque ce marché. Une des dernières évolutions de licence en dates ayant fait le plus de bruit a été l’interdiction pur et simple d’utiliser des outils de cross-compilation permettant de développer une application par exemple sous Flash pour au final fonctionner en Objective-C le langage d’Apple. Par rapport au processus de validation l’orateur en faisant part de son expérience nous explique que l’approbation est d’habitude prévisible. A noter tout de même que ce processus de validation à un côté très positif: l’utilisateur donne une grande confiance aux applications présentes dans l’AppStore.

Le côté hype

Pouvoir proposer ses solutions au travers de l’AppStore ajoute un côté marketing certain aujourd’hui avec tout l’effet de mode auprès du grand public que l’iPhone a pu engendrer. Dès lors si le produit est bon tout ça peut devenir une mine d’or, par contre un solution bancale risque de faire mal à l’image de marque.

A se remémorer

Une bonne application iPhone devra répondre à un besoin typique d’utilisateur mobile. Typiquement vérifier les horaires de train fera une très bonne application du moment qu’elle est pensée de manière ergonomique (notion de minimum input/maximum output). L’idée sera donc d’identifier ces situations où une utilisation de manière mobile d’une application pourrait combler un besoin.

L’idée vraiment ressortie durant cette session c’est de se rappeler que sur un appareil de ce type les contraintes mémoires sont à prendre bien plus au sérieux par rapport à un développement sur serveur ou machine de bureau. Autre point important, réfléchir à l’utilisation mobile faite par l’utilisateur. L’utilisateur n’est pas assis devant son écran. Il ne faut pas manquer également la phase de test réelle sur l’appareil directement. Les tests sur émulateur pouvant effectivement être parfois trompeurs…

Et l’iPad?

Vu le titre de la session je m’attendais à un peu plus de contenu concernant l’iPad mais c’est vrai que début juin il était vraiment à peine sorti en Suisse. Malgré cela l’orateur en a tout de même parlé succinctement en mentionnant un projet qu’ils ont pu mener avant même que l’iPad soit sorti. Pour s’en sortir ils ont sorti des maquettes 1:1 par rapport à la résolution de l’appareil. On en saura pas plus.

Les outils

Sur la fin de la session, les outils permettant le développement d’applications iPhone nous sont succintements présentés ainsi qu’un petit aperçu de ce à quoi ressemble Objective C.

Télécharger la présentation

What’s new in Hibernate: a JPA 2 perspective

Emmanuel Bernard prend place dans la salle numéro 5 pour nous parler des nouveautés sur Hibernate. Session intéressante par l’initiateur du podcast des Cast Codeurs j’y ai appris une chose ou deux vraiment intéressantes.

Envers

La première chose c’est le projet envers. Ce projet a pour but de fournir une historisation automatique des entités gérées par Hibernate. Pour se faire, Hibernate crée un nouveau schéma en parallèle complètement géré par Hibernate et permettant de stocker toutes les différentes versions de chaque entité. Le produit permettra de remonter dans le temps sur ses entités. Bigrement intéressant!

Recherche

Deuxième point super intéressant, la possibilité dorénavant de faire une recherche fulltext sur le schéma d’entités. Cette fonctionnalité s’appuie sur le projet Lucene d’Apache. L’avantage étant que le développeur n’a pas besoin de configurer ce dernier, Hibernate prend tout en charge au travers du sous-projet Hibernate Search.

Et aussi

Clustering amélioré, de nouvelles possibilités de mapping, compatibilité JPA 2.0, la validation, tels sont d’autres sujets abordés durant cette présentation.

Télécharger la présentation

Java persistence criteria API

Après le repas, très dur d’assister à cette présentation pour faire poli… Soporiphique.

Je n’ai pas grand chose à dire sur cette présentation puisque l’oratrice n’a pas apporté de réelle plus-value par rapport aux slides de la présentation.

En résumé la Criteria API permet au développeur de créer une requête typée. Autrement dit pas de type String comme le sont les requêtes JPQL. L’avantage de cette solution c’est qu’une erreur sera directement découverte à la compilation et non plus uniquement au moment de l’exécution.

Pour plus de détails, jetez un oeil aux slides.

Télécharger la présentation

Patterns in practices in Hibernate

Dans ma lancée j’assiste à nouveau à une présentation plutôt désagréable. La session a été inlassablement obstruée par des “eeeeee”, “aaaaaaa”, “meeeeeuuuuuuu”, typiquement le genre de choses qui me fait péter un plomb!

Bref du coup j’ai eu pas mal de peine à suivre. Cette session avait pour but de démontrer quelques pièges à éviter lors de l’utilisation d’Hibernate.

Je ne peux malheureusement rien ajouter de plus par rapport à ce que disent directement les slides.

Télécharger la présentation

How Java powers large online retail sites

Retour d’expérience intéressant du CEO de ATG gros fournisseur de solutions e-commerce. L’orateur nous explique son expérience avec Java qui a été choisi dès le début pour leur solution. On parle ici de gros système e-commerce traitant (cf slides) plus d’un million de visiteurs par jour et des dizaines de milliers de commandes par jour.

Que ce soit la partie content management, la partie analytics, les interfaces de paiement, l’intégration back-office avec la gestion du stock, des commandes d’approvisionnement etc. ou encore les différents systèmes service clients toute partie fait bon sujet à implémentation avec Java selon l’orateur.

Durant la session, les composantes mobiles et sociales ont été identifiées également comme tendances de marchés. Oui, du social même dans le e-commerce, jetez un oeil par exemple à tor.com pour vous en convaincre. Ou encore ce système qui permet aux commerçants de proposer directement sur la vitrine de leur boutique un barcode qui lorsqu’il est scanné par un mobile type Android ou iPhone redirigera directement sur la page google personnalisée de la boutique où le client pourra critiquer les produits et partager avec la toile entière ses impressions et bons plans… The Web is watching you!

Bref, intéressante session avec ces retours d’expérience et cette vérité toujours évidente que Java est bien un langage, une plateforme même qui tient un bon avenir.

Quelques conseils d’architecture

Durant sa présentation on sent le besoin de définir une bonne architecture pour tenir la route sur ce genre de produit si l’on veut supporter la masse.

Sur de tels système, il conseil d’avoir des experts plus ou moins par domaine ou par composant (ex. catalogue, profiles utilisateurs, etc.) et de fournir des composants réutilisables. Rien de révolutionnaire mais certainement d’autant plus important sur un produit devant supporter autant de charge.

Autre point important: garder un modèle de données propre et simple afin de permettre des performances acceptable et une bonne gestion et une possibilité facilitée de grandir.

Il a également donné plusieurs conseils d’architecture physique en parlant notamment du sujet bouillant u moment, le cloud. Référez-vous aux slides pour plus d’infos sur le sujet.

Télécharger la présentation

La deuxième journée se termine…

Avec les présentation rookies mettant en scène des jeunes de moins de 26 ans qui ont l’opportunité d’appréhender pour la première fois la scène. Une grande chance d’autant plus qu’ils ont pu profiter des critiques d’un jury de professionnels5. Le contenu a été intéressant et j’ai impressionné par la qualité de leur prestance. Ca valait bien certaines sessions officielles.

Le jeudi

The Gaia satellite and data processing

Présentation vraiment dur à suivre au sortir du lit. William O’Mullane a présenté ici le projet de de l’European Space Astronomy Centre avec un zoom sur la partie développement bien sûr.

Java est aussi utilisé dans le domaine de la recherche spatiale et cette session en a donné un joli aperçu.

Je vous suggère de voir les slides si le sujet vous intéresse ou bien d’attendre la publication de la vidéo sur parleys.com

Télécharger la présentation

Essentials of testing: the tools you need to know

Beaucoup de monde pour cette session, à tel point qu’il n’y avait pas assez de sièges disponibles.

Cette session avait pour objectif d’offrir un retour d’expérience partagé par deux expert de gestion qualité à propos du challenge de mettre en place et de garder à jour un ensemble d’outils permettant d’améliorer la qualité d’un projet de développement.

Une série d’outils étant à disposition et ce pour chaque couche d’un logiciel il peut devenir difficile de faire son choix et ensuite de les intégrer tous ensemble. Ces employés d’AdNovum ont donc passé cette session à présenter tout d’abord la liste des outils disponibles par couche logiciel et ensuite ce qu’il est possible de faire avec ces outils notamment au travers de quelques démos.

Premier conseil d’importance: la notion de pyramide que l’on retrouve en slide 11. Cette pyramide encourage une large part de tests unitaires. Ces tests succins et dirigés clairement sur une fonction précise doivent être rapidement exécutables et devraient faire partie du livrable de l’application. Vous vous rappelez de la notion du done défendue dans la session sur Scrum? Les tests unitaires doivent être inclus à part égale avec le code applicatif. Concernant les tests d’intégration, fonctionnels et d’interface graphique bien qu’ils soient aussi très importants leur lourdeur demandera davantage de temps à développer et à exécuter un équilibre sera donc de mise pour mettre en oeuvre une batterie de tests couvrant tous les cas et donnant le plus de garantie possibles au client que tout est sous contrôle.

La slide numéro 13 vaut également le détour offrant une petite vue d’ensemble de la solution qu’ils ont choisi avec la possibilité de voir quelles couches sont testées avec quels outils. Au delà de ça je trouve vraiment bien que les notions de qualités et plus particulièrement de tests fasse l’objet de sujet de conférences. Bien trop souvent dans les projets, parler de tests applicatifs rime uniquement avec tests unitaires. Aujourd’hui il est possible de pousser bien plus loin et la qualité de nos projets augmentera j’en suis certain si l’on fait l’effort de démocratiser ce genre de connaissances.

D’un point de vue technique les orateurs ont pu dire que HtmlUnit est bien plus rapide que Selenium, à tester, je ne connaissais pas ce framework…

D’autres notions intéressantes ont été abordées, je vous laisse visionner les slides pour plus d’informations.

Télécharger la présentation

Rapid application development with Apache Wicket

Wicket est un framework né en 2005 proposant de faire du développement web un peu à la manière d’un développement Swing. Ce projet profite d’une communauté très active et d’une certaine simplicité rafraîchissante. Rien qu’à voir comment on commence un projet wicket: un jar wicket et slf4j pour le logging et c’est parti! Maven propose d’ailleurs un archetype de démarrage, tout semble fait pour du simple et efficace.

L’idée donc derrière ce framework est de proposer des composants réutilisables et de les insérer dans des pages html grâce à des attributs spécifiques au éléments formant la page mais sans jamais utiliser de langages particulier. On s’appuie uniquement sur des attributs html. Pas de langage EL ou autre, rien. Cela peut être un sacré atout dès lors que l’on veuille travailler avec des webdesigners ne connaissant justement pas toutes les particularités du développement java et en particulier le langage EL ou autre scriplets (beurk).

Après avoir défendu ces quelques avantages et d’autres encore que j’ai certainement oublié de noter, plusieurs démo s’en sont suivies et je dois dire que c’est plutôt séduisant comme idée…

Télécharger la présentation

Exploring HTML5 with JavaServer Faces 2.0

Après un nouveau bon lunch je retrouve une session sur HTML5 et JSF2.

Connaissant un peu les nouveautés de HTML5, enfin les grandes nouveautés en tout cas avec l’arrivée des tags audio, video et d’autres plus sémantiques comme section ou encore article le début de session ne m’a rien appris à ce sujet. Je fondais alors mes espoirs sur ce qu’allais nous apprendre l’orateur sur JSF2 à ce niveau-là.

Malheureusement j’ai été un peu déçu puisqu’il a majoritairement parlé de ce qui était possible de faire avec HTML5 et ensuite s’est visiblement aperçu qu’il avait pris trop de temps à le faire pour finalement parler qu’en vitesse de l’intégration à JSF2. Ce qui au final semble donc être simplement des composants composites utilisant les tags HTML5 derrière, rien de bien passionnant donc.

Télécharger la présentation

Search, Find, Classify - A short tour through Apache Solr

Un orateur tout simplement pitoyable, j’ai quitté la session tellement c’était agaçant à écouté, à nouveau des “mmmmmm”, “aaaaaa”. Pas bon pour moi en plus je commence à fatiguer après toutes ces sessions à me concentrer à comprendre ce qu’on dit en anglais…. Je pars assister à la session sur les hautes performances en accès aux bases de données relationnelles avec comme contenu la présentation de la librairie cliente de MySQL ClusterJ. Plusieurs benchmarks et quelques chiffres intéressants, cette librairie n’utilise pas JDBC mais optimise de son côté les accès aux bases donc MySQL. Intéressant, si le sujet vous intéresse n’hésitez pas à consulter les slides.

Télécharger la présentation Télécharger la présentation sur les performances d’accès aux bases de données relationnelles

Real Java EE testing with Arquillian

Cette dernière session à laquelle j’assiste est une session programmée sur 20 minutes faite quasiment uniquement de démos.

En deux mots, Arquillian est un framework développé au sein de JBoss permettant d’effectuer ses tests au sein d’un container distant ou embarqué. Le projet en est à ses débuts, les démos ont démontré en tout cas que cela fonctionne mais ça me fait quand même furieusement rappeler le projet cargo, je me trompe?

Télécharger la présentation

Mon retour final

Je finis ces trois jours de session fatigué. Fatigué par le fait que je dois encore trop me concentrer pour comprendre ce que disent les orateurs. C’est pas encore assez fluide dans mon esprit pour pouvoir le faire plus librement, avec moins d’énergie.

Je rentre donc un peu fatigué mais au-delà de ça j’ai passé 3 jours exceptionnels, c’était ma toute première conférence de ce genre et j’ai été servi en contenu et en rencontres. Entre les lunchs et apéros offerts par Jazoon, j’ai pu rencontrer plusieurs développeurs sympas partageants la même passion. Je peux assurément encore faire des efforts pour dépasser ma timidité et aller encore plus à la rencontre des autres mais j’ai tout de même fait la connaissance de plusieurs gars bien sympas!

Autre point super positif, l’organisation. Lunchs, apéros, sessions intéressantes, wifi (même si un peu récalcitrant le 1er jour) tout était quasiment parfait. Tout ça dans un complexe de cinémas, c’est génial! J’ai pu découvrir un peu plus la ville de Zürich et ça vaut le coup de visiter, c’est aussi ça qui n’a peut-être pas arrangé le coup de fatigue du jeudi :)

Bref je suis vraiment super content d’avoir pu profiter de cette opportunité de rencontres et de veille technologique parce que c’est vrai ce genre de conférence permet merveilleusement de voir ce qu’il se fait dans beaucoup de domaines, c’est très enrichissant et je ne peux qu’encourager tout à chacun à tenter l’expérience.


  1. gardez un oeil sur le site de Jazoon qui petit à petit met en ligne les conférences  

  2. retrouvez la vidéo diffusée durant la session à propos de ce projet ici  

  3. le blog insideIT.fr en fait l’objet d’un article  

  4. JSF 2.0, JSP 2.2, EL 2.2, JSTL 1.2, JSR45 1.0, Servlet 3.0, CDI 1.0, EJB 3.1 Lite, DI 1.0, Managed Beans 1.0, Bean Validation 1.0, Interceptors 1.1, JSR250 1.1, JPA 2.0 pour être précis  

  5. jury composé de Danny Coward, Ken Schwaber et William O’Mullane  

Publié sous dev .
Abonnez-vous au flux rss ou suivez-moi sur twitter pour être tenu à jour.

Ajouter un commentaire