mardi 6 mai 2008

Premier jour à JavaOne

La première chose que je peux dire est que la journée fut bien remplie ! 8H à 22H30 avec 30min de pause déjeuner :-)

La journée a commencé par la session générale, présentation à l'américaine comme on aime dire en france, avec un show d'entrée plutot sympa ! La session était à mon goût un peu trop commerciale : on a pu voir défiler des acteurs du commerce qui je trouve se servent un peu de Java comme un prétexte, comme par exemple Amazon avec leur ebook Kindle, ou encore Sony Ericsson. Les principales présentations tournaient autour de JavaFX avec quelques "effets démo". Le rendu est très sympa, et semble offrir une réconcialiation entre les designers et les développeur (ce que semble faire Flex également chez Adobe). L'évolution du plugin Java pour navigateur était aussi à l'honneur avec une démo sympa d'une applet pouvant être glissée-déposée en dehors du browser, ers le bureau, et devenir ainsi une application Destok indépendante sans aucune autre action nécessaire. Le tout en techno JavaFX pour une interface utilisateur du plus bel effet (enfin, moi j'aime bien ;-) )

Ma première session fut un peu décevante, en même temps le topic était un peu flou : "Java Platform Standard Edition : A Youthful Maturity". On a eu droit à quelques mots sur les apports des prochaines versions : la 6u5p (!) qui est simplement une release pour augmenter les performances sur plate-forme 64 bits. La 6u10 "Consumer JRE" qui apporte un plugin complètement refondu, et qui est "JavaFX ready".
Quelques infos intéressantes concernant le support par la JVM des langages de scripting avec le ScriptEngineManager. Le support de JavaScript est assuré aujourd'hui et JRuby le sera dans la version 7. Un mot aussi de Java Modularity, qui se veut une abstraction des frameworks de module tel que OSGi, et le JAM qui est une sorte de manifest pour les modules (comprenant la version, la mainclass, les modules dépendants, etc.). Ainsi, le module repository de Java pourra se reposer à la fois sur une repository JAM et sur OSGi (JSR 277).
Java SE lui-même sera modularisé, donnant lieu à différents profiles.
Les deux autres updates importantes sont les I/O et JMX 2.0. Il sera également question de WebService Connector for JMX Agent, permettant de manager des MXBeans via WebService.
Le tout terminé par une démo de VisualVM qui permet d'interagir avec une VM via une interface graphique. L'utilisation démontrée ici consistait à identifier une fuite mémoire. A terme, le but est d'intégrer cet outil avec JConsole (ou l'inverse !).


Seconde session sur Eclipse. Session très succinte abordant 2 thèmes : la prochaine release Ganymede, en insistant sur le fait que le process de release est éprouvé, planifié et tenu au jour près, et que ces release sont cohérentes dans la version et compatibilité des 24+ projets formant Eclipse. Le second thème était une démonstration de l'utilsation d'OSGi côté serveur (Equinoxe en l'occurence) et du développement en ciblant les 3 environnements cibles que sont RCP, RAP et eRCP sans changer plus de 10% du code. On a eu droit à une séquence "Blair Witch" selon le speaker car pour la cible eRCP qui était un téléphone Nokia, au lieu de se servir d'un émulateur, il a utilisé un vrai portable, qu'il filmait sous la table (pour la pénombre) avec une webcam qui tremblait ! d'où l'effet Blair Witch :-)

La troisième session concernait JBI et SCA, où comment utiliser le meilleur de ces 2 mondes. L'implémentation SCA utilisée était Tuscany et celle de JBI ServiceMix. Rien de bien nouveau, juste du bon sens ;-)

Ma session préférée fut celle de GlassFish v3. Autant pour le contenu que pour sa présentation. Cette nouvelle version est basée principalement sur Maven 2 (pour le build mais aussi pour la description des modules via des pom), Felix pour la partie OSGi et Eclipse Link comme implémentation de JPA.
La partie modularisation est assurée par HK2, qui apporte des services supplémentaires à OSGi tout en se basant dessus. Il offre notamment des fonctionnalité de ServiceMapper et gère les dépendances par des annotations. Pour les I/O, le framework Grizzly est utilisé.
La distribution basique se contente de tenir en 2Mo, avec le module de configuration, de module management et tout ce qui relève du life cycle (deployment, undeployment, etc.)
La demo qui a suivi était bluffante, il s'agissait de la version Embeddable. Celle-ci peut être fournie sous forme d'un seul JAR, lancée et configurée de manière programmatique, facilitant ainsi les tests unitaires (peut être lancée depuis JUnit) et augmentant la productivité. Il fallait voir avec quelle agilité la démonstration était faite ! Le bootstrap de cette version dure moins d'une seconde !

J'ai ensuite participé à un Lab sur Les WebService avec OpenESB et NetBeans. Tout se fait ou presque via l'IDE sans avoir à écrire de code, surtout sur la partie orchestration BPEL, très visuelle. Les exercices fait dans ce Lab seront dispo sur le site de JavaOne après la conférence, je ne peux que vous les conseiller. Ils sont très dicactiques et instructifs !

Dernière session, celle qui s'est vidée la plus rapidement, était sur la fusion des architecture "Event Driven" et "Service Oriented". Il s'agissait d'une plateforme WebLogic, basée en partie sur Spring, et qui propose un modèle de développement pour une architecture EDSOA donc !
Le concept est très intéressant et comporte même un langage de sélection d'évenement similaire au SQL mais adapté aux flots d'événements, l'EPL (Event Processing Language).
Leur produit s'exécute sur JRockit, seul Runtime selon eux permettant de gérer suffisamment le Garbage Collecteur pour ne pas perturber le flow d'événements et ainsi approcher le temps réel.

J'ai enfin fini la journée sur un Lab de 2H (de 20H30 à 22H30 !) sur le grid computing avec des exercices mettant en pratique la technologie GridEngine et DRMAA. Impressionnant de facilité avec les outils NetBeans et plugins qui vont bien ! Le résultat au bout de 30 minutes permettait de calculer le nombre PI sur les 100 postes Solaris que comportait la salle. Idem, c'est un Lab à refaire dès que les materials seront disponibles sur le site. En attendant : http://gridengine.sunsource.net/

Voilà pour la journée bien remplie... on remet ça demain !

1 commentaire:

Alexis MP a dit…

Content d'avoir fait ta connaissance. merci pour ces rapports détaillés. je suis persuadé que les absents apprécient.