Devoxx – Day 3
La troisième journée est assez différente des deux précédentes. Le planning des journées change. Le matin, plus de session de 3 heures mais une Keynote de deux heures suivie par une conférence d’une heure.
Après un rappel de quelques chiffres (2500+participants, 56 jugs …), Stephan Janssen, l’organisateur de Devoxx nous présente la prochaine version de parleys.com . Parleys.com permet de voir de chez soi l’ensemble des conférences de devoxx mais également d’autres évènements, comme par exemple certaines présentations des différents JUG. Le service est également proposé aux entreprises pour héberger leurs vidéos. Outre cette nouvelle version, les présentations de devoxx 2009 sont déjà arrivées en grand nombre, les versions gratuites des conférences seront disponibles au compte goutte tout au long de l’année. Toutes les conférences seront disponibles gratuitement à la fin 2010. A noter qu’il est possible de télécharger les présentations sur son PC très facilement avec ce site et de les revoir à volonté.
Oracle
Le deuxième sujet est une présentation d’Oracle. J’avoue avoir envisagé quelque chose de plus grand, mais l’acquisition de Sun par Oracle n’étant pas finalisé, il n’y aura rien de croustillant de ce côté là. On a le droit à la place d’une démo du moteur de module dynamique de Weblogic.
Sun
La présentation de Sun a été plus intéressante. Outre le fait que la final release sortira le 10 décembre 2009, une belle démo, bien rodée, a pu démontrer la puissance de JEE6. Création d’une Servlet, intéraction avec EJB et ensuite avec un service OSGi. La simplicité de l’ensemble est vraiment à remarquer, aucun plantage lors de la démo. Certaines fonctionnalités de Glassfish V3 notamment le rechargement à chaud … sans perte de session a vraiment eu un impact chez tous ceux qui auront essayés de debugger un problème liée à une session.
Flash Catalyst
La dernière présentation fut celle d’Adobe. Une démonstration de Flash Catalyst et son intégration avec les différents outils Adobe très bien ficelée, avec un vrai show des deux présentateurs. La puissance de Flash Catalyst et son intégration avec la suite Adobe donnent une réelle impression de simplicité, que ce soit pour mapper deux vues, pour modifier un bouton, pour permettre d’envoyer le code vers Flash Builder, qui est plus à destination des développeurs. A voir ce que cela donne dans la réalité.
JDK 7 Update
Place ensuite à JDK7 update. Les plus grandes nouveautés sont le project Jigsaw, qui permet une grande modularité de la jdk, avec la possibilité de n’embarquer que les librairies utiles à notre application. Le project coin qui regroupe quelques évolutions du langage :
L’apparition de l’opérateur diamond qui nous permet d’écrire :
Map<String,String> myMap = new Hashmap<>();
Il sera également plus simple de construire des collections sans avoir des myList.add(…) à la chaine, la solution implémentée aura une syntaxe proche de celle des tableaux. D’autres nouveautés, comme la possibilité de faire un switch sur des String ou l’apparition de closures (simples). Un point à également été clarifié sur la différence entre Java SE et le jdk, le Java SE représentant la spécification, le jdk7 l’implémentation. A noter que bien qu’il y ait un open jdk 7, il n’y a pas de Java SE 7.
Comet
Jean-Francois Arcand présente ensuite le framework Atmosphère qui permet de pousser un message du serveur vers le client.
Il existe trois types de méthodes pour pousser ce message :
- Le Polling
- Le long Polling
- Http Streaming, souvent utilisé dans les jeux mais qui devient compliqué dans certaines situations.
Atmosphère se veut un framework simple, basée essentiellement sur des pojos et disponibles sur de nombreux serveurs (de tomcat à google app engine) et supporte certains frameworks de présentations (GWT/Wicket). La démo, très simple, se déroule bien. Encore une fois, il faut voir ce que cela donne dans la réalité de nos environnements.
Distributed programming the google way
Gregor Hohpes présente ensuite une conférence d’une heure sur « Distributed programming the google way ». Cette conférence se révèle être une des plus intéressantes conférences de Devoxx. Il détaille le fonctionnement de BigTable, de MapReduce, de Sawzall et de Google File System au travers de 8 recommandations :
- Utilisez la fragmentation, ne pas hésiter à partionner les données.
- Rester simple et n’implémentez que les fonctions de base
- S’attendre à l’échec
- Faites des processus autonome, pouvant poursuivre sans supervision
- Le runtime est le plus important. Mieux vaut une circulation fluide à des règles très strictes.
- Préférer la vitesse à la précision. Plus c’est rapide, mieux c’est.
- Privilégier tout ce qui est sans état. Les processes qui conservent un état sont plus couteux que les opérations sans états
- Tout est affaire de compromis
L’importance de ces 8 règles permettent d’avoir une bonne scalabilité. Il n’est souvent pas nécessaire de produire toutes les fonctions possibles pour avoir un outil scalable. Ainsi, les différents outils présentés ont chacun leurs limites : par exemple, Sawzall permet de faire des aggrégations extrêmement rapide mais ne permet pas de faire de traiter la duplication.
Les deux BOFs auquel j’ai assisté de la soirée n’ont pas été interessante du tout. Trop de monde, impossible à entendre.
> « A noter que bien qu’il y ait un open jdk 7, il n’y a pas de Java SE 7 »
S’il n’y a pas de JSR, comment IBM J9 et Oracle JRockit pourront-ils implémenter Java 7 ?
La compétition sur les JVM a été déterminante pour le succès du langage Java et, maintenant, de notre virtual machine qui est utilisée par de nombreux autres langages.
Au risque d’être polémique, l’absence de JSR Java 7 est un mauvais signe, surtout au moment où certains craignent pour l’avenir de Java sous gouvernance Oracle.
Patrick Curran nous racontait sa vision d’un JCP indépendant de Sun, gouverné par un consortium …
Finalement, il y a aura bien un Java SE 7 qui sortira avant le JDK7, dixit Mark Reinhold.
http://blogs.sun.com/mr/entry/closures_qa
A The schedule was pushed out, to at least September 2010, so that we can finish several critical features as well as have time to submit an official Java SE 7 Platform JSR, form an Expert Group, and allow all the appropriate deliberations to take place. JDK 7 will not ship until the Java SE 7 JSR goes final.
Voici une bonne nouvelle. La compétition reste ouverte :-).
Cyrille.