Soirée retro-computing et AG au Yajug le 8 décembre

 

Stage attaque sur les points vitaux à Veymerange le 10 déembre 2011

 

Open internationnal Ne Waza à Saint Avold le 20 novembre 2011

open ne waza saint avold 2010

 

Soirée Hibernate OGM au Yajug par Emmanuel Bernard

 

Soirée Java EE 6 au Yajug par Antonio Goncalves

 

Rencontres Ju Jitsu de la saison 2011-2012

Chaque mois, une rencontre inter-clubs sur un thème de la pratique du Ju Jitsu, et plus généralement, celui des arts martiaux.

RJJ 2011-2012

L'objectif est de rassembler des enseignants et pratiquants ayant cette volonté d'échanger et de partager leur pratique et leur expérience.

Chaque mois, un thème est retenu et des intervenants présentent leur contribution pour l'animation de la séance.

Les clubs à l'initiative de cette démarche, le Budo Ryu Ay et le JuJitsu Ryu Metzervisse, espérent ainsi créer une dynamique locale et un réseau de pratiquants ayant la même vision des arts martiaux.

 

Soirée Java SE 7, the road Forwards, au Yajug le 12 septembre

 

Une journée exceptionnelle avec Ippon Technologies

Mes activités extra-professionnelles liées à Java m’ont déjà apportées de nombreuses choses notamment le fait de rencontrer de nombreux passionnés de cette technologie mais je n’aurais jamais imaginé qu’elles me permettraient un jour de vivre une journée exceptionnelle, et le mot exceptionnel n’est pas assez fort, dans le cadre de mes activités sportives durant laquelle je vais assister au Championnat du Monde de Judo à Paris en VIP.

Tout a commencé par une annonce sur le blog d’Ippon Technologies qui annonce l’arrivée de Frédérique Jossinet dans leur équipe grâce à un partenariat avec la Fédération Française de Judo. C’est pour moi, énorme, qu’une société de service en informatique recrute et sponsorise un athlète de haut niveau. Intrigué, je participe au quizz organisé pour Ippon pour l’occasion avec, à la clé, des places pour le Championnat du Monde de Judo à Paris.

Les questions sont très faciles surtout pour quelqu’un qui pratique le Judo depuis 24 ans et prépare sa ceinture noire troisième Dan. Finalement, je reçois un mail d’Ippon qui m’annonce que je suis un des gagnants et me propose plusieurs dates durant la semaine de compétitions. Le choix est vite fait, ce sera le jour de ma catégorie, celle des plus de 100 kilos, celle de Teddy Riner.

Après quelques heures de trajet, j’arrive à 8H30 au POPB et je suis les consignes données par Ippon : c’est l’entrée VIP, accueilli et accompagné par une hôtesse jusqu’à la loge Ippon Technologies, à quelques mètres seulement des tatamis : c’est énorme.

Geoffray Gruel, le directeur général délégué d’Ippon, m’accueille et nous en profitons pour faire connaissance et échanger sur des sujets IT et Judo.

Je fais la connaissance de Stéphane Nomis, le président d’Ippon, qui me propose de venir faire un tour dans les coulisses avec lui pour faire quelques photos. Stéphane est comme un poisson dans l’eau car il connait tout le monde et pour cause, il a été athlète de haut niveau en Judo avant de se reconvertir dans le secteur informatique.

Tout d’abord, honneur aux dames et quelles dames : Frédérique Jossinet (-48kg, nombreux podiums aux championnats d’Europe et du monde, 2eme au JO en 2004), Lucie Decosse (-70kg, championne du monde en 2005, 2010 et 2011, 2eme au JO en 2008) et Audrey Tcheuméo (championne d’Europe et du monde en 2011).

Je rencontre aussi deux jujitsukas, des combattants exceptionnels : Bertrand Amoussou (champion d'Europe par équipe de Judo, 4 fois champion du monde de JuJitsu expression combat notamment en 1996 à Paris où je l’ai vu pour la première fois, vainqueur au Pride FC au Japon) et Vincent Parisi (un palmarès incroyable, commentateur sportif des UFC sur RTL9).

Quelques judokas de « ma génération » qui ont marqué, parmi d’autres, l’histoire du Judo français : Frédéric Demonfaucon (3eme au JO en 2000, champion du monde en 2001, 6eme dan ) et Larbi Benboudaoud (Champion d’Europe en 2003, 2eme en 2006, 3eme en 2004, 2005, 2007, 2eme au JO en 2008).

Et enfin et non des moindre, Roger Vachon du Levallois Sporting Club, le club de Teddy Riner.

Je déjeune avec l’équipe d’Ippon dont Frédérique Jossinet qui, en plus de ses qualités d’athlète de haut niveau avec un mental de fer, est aussi très sympa et accessible : nous discutons et elle m’apprend qu’elle vient d’être promue au grade de 6eme Dan et qu’elle commente les championnats du Monde pour France télévision.

Un judoka se démarque très nettement des autres durant cette journée : Teddy Riner. Je présume que la pression doit être forte car il est chez lui, à Paris, il est le favori de sa catégorie et il brigue un cinquième titre mondial pour la première fois dans une catégorie masculine alors qu’il a que 23 ans.

Forcément avec 12000 spectateurs, majoritairement français, l’ambiance à chaque arrivée de Teddy et de ses victoires est indescriptible et mémorable.

Les éliminatoires pour Teddy sont une simple formalité : chaque combat est gagné facilement. Sa domination dans sa catégorie est littéralement phénoménale et probablement outrageante pour ses adversaires : il domine tellement que le néophyte pourrait croire que ces adversaires ne sont pas les meilleurs mondiaux. Deux de ses combats sont gagnés en moins de 35 et 45 secondes, le temps d’installer son kumikata et de lancer une projection foudroyante.

Dans la catégorie des +100kg, généralement les combattants rivalisent avec leur poids, Teddy Riner fait figure d’exception avec une corpulence athlétique affutée impressionnante : 2m03, 130 kg. Il a perdu 10kg pour préparer ces championnats.

Bien sûr, sa puissance doit expliquer la domination de Teddy mais c’est aussi et surtout un technicien hors pair, ce qui est plutôt rare dans cette catégorie. Lors de ses victoires, Teddy nous a fait un festival technique : uchi mata magistral avec une vitesse d’exécution digne d’une catégorie de léger, étranglement au sol, enchainement o uchi / ko soto … du grand Judo.

Cela doit aussi être dû à un mental d’acier : malgré la pression, Teddy semble décontracté et ne laisse exploser sa joie que lors de sa victoire en finale.

Teddy Riner est aujourd’hui la référence mondiale dans sa discipline et vu son palmarès actuel et sa jeunesse, il pourrait bien devenir le judoka le plus titré de tous les temps. Après David Douillet, si un second français obtient ce titre, le Japon pourrait préparer une journée de deuil national.

En tout cas, cette journée restera pour moi exceptionnelle et mémorable : un grand merci à Ippon Technologies et particulièrement à Stéphane Nomis et Geoffray Gruel pour m’avoir permis de vivre cela.

Ces dernières années, plusieurs SSII à taille humaine se sont démarquées en mettant l’accent sur la technologie, sa pratique pour leurs collaborateurs et leur investissement dans la communauté Java notamment dans les JUG. C’est notamment le cas pour Ippon mais Ippon Technologies va encore plus loin en proposant un investissement dans le sport mais aussi dans les études grâce à des implications dans certaines écoles. Je trouve cela particulièrement intéressant.

Si vous recherchez du conseil ou de la prestation de haut niveau, notamment dans les technologies relatives à Java, sur Paris, Nantes ou Bordeaux, vous pouvez consulter et solliciter Ippon Technologies.

 

Java EE 6 et CDI par Antonio Goncalves à l’ElsassJUG

Le 20 juin dernier, j’ai assisté à deux présentations d’Antonio Goncalves à l’ElsassJUG : une présentation de générale de Java EE 6 et une présentation dédiée à CDI.

En tant que membre des JSR 316 (Java EE 6), 317 (JPA 2), 318 (EJB 3.1), Antonio est toujours un aussi fervent speaker concernant la plateforme Java EE 6. Sa seconde présentation sur CDI était très pragmatique et intéressante.

L’ElsassJUG est le quatrième JUG dans lequel j’assiste à une présentation et comme pour les autres l’accueil y est très sympa, les informations et les échanges sont toujours très enrichissants. La session a eu lieu dans les locaux d’Alcatel-Lucent Enterprise qui a aussi offert aux présents un buffet sympathique (mignonettes, réductions sucrées et salées, macarons, … et bien sûre des bretzelles) : c’est toujours l’occasion d’avoir des échanges avec d’autres passionnés.

Si vous habitez en Alsace et que vous être passionné par le développement, particulièrement en Java, n’hésitez pas à assister aux prochaines sessions de l’ElsassJUG. Pour les autres régions, renseignez vous car il y a de plus en plus de JUG en France (plus d’une quinzaine actuellement)

En plus, la main innocente d’Antonio m’a désigné pour obtenir une licence d’Intellij IDEA.

Merci à Julien Herr, Sébastien Letélié et tous les membres de l'ElsassJUG pour leur accueil et l'agréable soirée que j'ai passé.

 

Soirée Spring Batch et Integration au Yajug

 

Soirée Stateful is beautiful au Lorraine JUG le 15 juin

Le Lorraine JUG (Java User Group de Lorraine) organie une soirée de conférence initulée «Stateful is beautiful». Dans cette présentation, Antoine Sabot Durant, consultant et architecte chez Ippon Technologies, propose un retour aux sources du Java EE prenant le contre-pied de la tendance actuelle du «tout stateless».

Mercredi 15 juin 2011, 18h30

Ecole Supérieure d'Informatique et Applications de Lorraine

193 av. Paul Muller, 54602 Villers-lès-Nancy (plan d'accès)

Au programme de la soirée :

18:15 - Accueil et enregistrement

18:30 - Stateful is beautiful, Antoine Sabot-Durant (Ippon Technologies)

Retour aux sources de Java EE : Stratégies de stockage des états dans une application Java EE, scope session de l'Api Servlet, CDI, EJB 3.X, sérialisation, passivation et résilience, scalabilité et design patterns...

20:30 - Tombola

1 licence JRebel à gagner, offerte par ZeroTurnaround.

Livres, t-shirts...

21:00 - Barbecue

Après la conférence, l'équipe du Lorraine JUG vous propose de prolonger la soirée par un barbecue sur la terrasse de la cafétéria de l'ESIAL. Si vous souhaitez y participer, envoyez un e-mail à info@lorrainejug.org avant le 13 juin. Une petite participation de 3€ sera demandée aux non-membres.

L'inscription à la conférence est gratuite et le nombre de places est limité alors n'attendez pas !

Inscription sur JUG Event

 

Soirée Scala au Lorraine JUG, le 18 mai 2011

Le Lorraine JUG (Java User Group de Lorraine) vous invite à sa soirée de conférence dédiée au language de programation Scala.

Mercredi 18 mai 2011, 18h30

Ecole Supérieure d'Informatique et Applications de Lorraine

193 av. Paul Muller, 54602 Villers-lès-Nancy (plan d'accès)


Au programme de la soirée :

18:15 - Accueil et enregistrement

18:30 - Scala par la pratique, Romain Maton (Xebia)

Scala est un langage alternatif pour la machine virtuelle Java. Fonctionnel, orienté objet et statiquement typé, ce langage rime avec productivité ! Découvrez ce qu’il faut absolument savoir de Scala, sa philosophie, son outillage, ses frameworks. Familiarisez-vous avec ce langage grâce à des exemples concrets.

19:30 - Drink & tombola des membres

1 licence JRebel à gagner, offerte par ZeroTurnaround.

1 pass pour les conférences Jazoon à gagner, offert par Jazoon.

20:00 - Scala par la pratique, (la suite) Romain Maton (Xebia)

21:30 - Dîner en ville

Après le conférence, l'équipe du Lorraine JUG ira dîner en ville avec les speakers de la soirée. Si vous souhaitez vous joindre à nous, envoyez un e-mail à info@lorrainejug.org. Les détails du dîner seront communiqués ultérieurement.

L'inscription est gratuite et le nombre de places est limité alors n'attendez pas !

Inscription sur JUG Event

 

Soirée annotations au Yajug par Olivier Croisier

 

Soirée «JMS et Bean Validation» au Lorraine JUG le 23 février 2011

Le Lorraine JUG (Java User Group de Lorraine) vous invite à sa soirée de conférence dédiée aux API JMS (Java Message Services) et Bean Validation.

Mercredi 23 février 2011, 18h30

Ecole Supérieure d'Informatique et Applications de Lorraine

193 av. Paul Muller, 54602 Villers-lès-Nancy (plan d'accès)

Au programme de la soirée :

18:15 - Accueil et enregistrement

18:30 - JMS : Java Message Services, Frédéric Renout (Kitry)

JMS (Java Message Services) est une API qui permet aux applications Java de s'échanger des messages asynchrones par le biais d'un MOM (Message Orieneted Middleware). Cette session passera en revue l'API Java Message Services et présentera quelques retours d'expérience sur sa mise en œuvre.

19:30 - JSR-303 : Bean Validation, Xavier Roy (C-Services)

La JSR-303 (alias Bean Validation) propose un mécanisme transversal de validation s'appuyant sur la définition de contraintes (métadonnées) au niveau des entités du domaine. Cette introduction couvre les concepts et l'utilisation de l'API Bean Validation ainsi que l'implémentation de contraintes spécifiques.

20:00 - Assemblée Générale

Présentation du bilan moral et financier du Lorraine JUG. Election du conseil d'administration : Candidatures ouvertes à tout membre de l'association en règle de cotisation, faites-vous connaître en envoyant un e-mail à info@lorrainejug.org.

20:30 - Drink : 2ème anniversaire du Lorraine JUG

L'inscription est gratuite et le nombre de places est limité alors n'attendez pas !

Inscription sur JUG Event

Pour en savoir plus consultez le blog http://blog.lorrainejug.org ou envoyez un e-mail à info@lorrainejug.org.

Stage de Jiu Jitsu Brésilien avec Carlson Gracie Junior à Luxembourg

J'ai eu l'honneur et le plaisir de suivre le stage de Jiu Jitsu Brésilien proposé par Calson Gracie Junior à Luxembourg le 11 décembre 2010.

De nombreux pratiquants de Jiu Jitsu Brésilien ont assisté à ce stage exceptionnel qui s'inscrit dans le cadre de la tournée européenne de Carlson.

Parmi ceux ci, il y avait quelques amis des Arts Martiaux Toulois http://artsmartiauxtoul.unblog.fr/ (notamment Manu, Christophe et Momo) et des PIRAÑIAS JIU JITSU BRESILIEN ACADEMIE de Freming Merlebach (Geoffray et ses élèves).

Ce stage fut aussi l'occasion de rencontrer d'autres pratiquants de la Grande Région notamment luxembourgeois et allemand.

Carlson Gracie Junior était assisté de son élève Ari Galo et Aguilera Bartolome (Fight Team Impact de Luxembourg)

Carlson Gracie Junior a abordé plusieurs thèmes avec pour chacun plusieurs techniques :

  • passages de garde
  • passages de gardes ouvertes
  • renversements à partir d'une garde ouverte : en finissant en immobilisation, étranglement et clé de jambes

Carlson Gracie Junior maitrise parfaitement la pratique du Jiu Jitsu Brésilien dont les membres de sa famille sont à l'origine du développement et de son engouement.

Parmis les messages importants donnés par Carlson je retiendrai que la pratique du BJJ est surtout technique et ne doit pas requérir de force et que le Jiu Jitsu est une grande famille.
D'ailleurs l'accueil qui m'a été reservé restera un souvenir inoubliable bien que n'étant qu'une ceinture noire deuxième de Ju Jitsu traditionnel pratiquant aussi le BJJ.

Suivre l'enseignement de Carlson Gracie Junior est exceptionnel (surtout en Europe) et je garderai un excellent souvenir de ce stage.

 

Soirée NO SQL au Lorraine JUG par Michaël Figuière

Après une intervention au Tours JUG et au Paris JUG, Michaël Figuière (consultant chez Xebia) nous a proposé au Lorraine JUG une très bonne introduction du mouvement NO SQL, le 8 décembre 2010.

NO SQL (Not Only SQL voir Not Only Relational) est un sujet d'actualité comme le confirme le nombre de présentations relatives au sujet à Devoxx.

C'est sujet récent (début au printemps 2009) qui est donc en plein essort avec un paradoxe notable : le sujet n'est pas encore mature et il est en pleine évolution mais il est déjà développé et utilisé par des grands du web (Google, Amazon, Twitter, Linkedin, ...)

Le titre de la présentation de Michaël "Des grands du Web aux entreprises" fournit un bon résumé de sa vision sur ces technologies.

No SQL permet d'avoir une nouvelle approche sur le stockage et la réplication de données. Cette approche ne s'oppose pas au modèle relationnel mais peut être un bon complément dans certaines situations.

No SQL a débuté avec des solutions développées pour besoins dont les solutions relationnelles n'étaient pas satisfaisantes notamment en ce qui concerne la performance, la disponibilité, la scalabilité et la résilience.

Michael nous détaille les concepts de base mis en oeuvre dans les base de données de type No SQL. La compréhension de ces concepts est essentiel avant de vouloir utiliser une solution de type No SQL.

Michael nous donne une sélection des principales solutions du marché par catégorie :

  • BDD orientées clé-valeur : Riak, 
  • BDD orientées document : MongoDB
  • BDD orientées colonnes : Cassandra
  • BDD orientées graphe : Neo4j

Michael nous propose quelques cas d'utilisation dont un vraiment interessant d'une application qui utilise pour chaque fonctionnalité une technologies adaptées :

  • Recherche des produits : Lucene
  • stockage du catalogue des produits : MySQL
  • Stockage des comptes clients : Cassandra
  • Stockage de données de sessions : Redis
  • L'idée est d'utilisé l'outil le mieux adapté au besoin

La présentation de Michael est téléchargeable à l'url :
http://www.slideshare.net/mfiguiere/lorraine-jug-dec-2010-nosql-des-grands-du-web-aux-entreprises

Suite à la présentation, les membres du Lorraine JUG ont été diner avec Michaël pour poursuivre les discutions autour de No SQL

et de quelques cocktails.


La soirée se termine par une visite de la place Stanilas, une des plus belle d'Europe.

 

Cinquième et dernière journée à Devoxx

La dernière keynote n’est pas faite par James Gosling mais par six représentants de la communauté Java de différents horizons pour débattre sur des questions relatives au futur de Java :

  • Joshua Bloch de Google
  • Mark Reinhold d’Oracle
  • Antonio Goncalves du Paris JUG
  • Jurgen Hoeller de Spring Source
  • Stephan Colleburn
  • Bill Venners

Plusieurs questions sont abordées : compatibilité des prochaines versions, impact d’Oracle sur la communauté, la licence du TCK, Android est il le standard sur les appareils mobiles, .Net peut il inspirer les évolutions de Java, l’utilisation d’OsGI pour la modularité de Java 8, le JCP, ...

 

Creating lightweight applications with nothing but vanilla JavaEE 6

Adam Bien est un excellent speaker possédant une excellente connaissance de Java EE 6 (Java Champion, Java Rockstar, homme Java de l’année).

Après quelques slides, Adam lance Netbeans et code en live pour démontrer la puissance et la simplicité de Java EE 6. L’idée importante à retenir c’est que les design patterns de J2EE ne sont plus adaptés à Java EE.

 

Voilà Devoxx est terminé : la semaine est passée très vite.

Le bilan est très largement positif : une organisation bien rodée, des speakers et des sujets intéressants, de nombreux francophones, les soirées de Devoxx mémorables, ...

Comme d’habitude, on repart de Devoxx avec de nombreux sujets à regarder avec entre autre pour moi : Google Caliber, Vaadin, ...

Comme l’année dernière, les universités et les conférences seront publiées gratuitement sur Parleys.com tout en long de l’année.  Pour les impatients et pour soutenir Devoxx, il est aussi possible de consulter très rapidement toutes les présentations moyennant le somme modique de 79 euros comparativement à la richesse et la qualité du contenu. 

 

Quatrième journée à Devoxx

The future roadmap of Java EE

Cette keynotes initialement prévue par Roberto Chinicci est animée par Jérome Dochez, Linda DeMichiel et Paul Sandoz.

Jerome Dochez nous propose les grands axes de réflexions des prochaines versions de Java EE dont la préoccupation majeure sera le cloud.

La modularité devra attendre Java SE 8 donc elle ne sera au programme que dans la version 8 de Java EE mais Java EE 7 devrait revoir les spécifications des classloaders.

Certaines API seront aussi enrichies :

  • JSF : la version 2.1 sera une release mineure mais la version 2.2 proposera un support d’HTML 5
  • JMS : une évolution de cette API historique et importante est prévue
  • JPA : support des procedures stockées, ...
  • JAX-RS 2.0 devrait comporter une API pour la partie cliente, utilisation de @Inject, ...

 

Comparing JVM Web Framework by Matt Raible

De l’aveu du speaker et d’une très large majorité de l’assistance présente dans la salle pleine, le nombre de frameworks pour le développement d’applications web en Java est trop important (JSF, Wicket, Tapestry, Spring MVC, Struts 2, Stripes, Vaadin, ...).

Matt a choisi un sous ensemble de ces frameworks.

Matt nous propose 20 critères de sélection : Developer productivity, developer perception, learning curve, project health, developer availability, job trends, templating, components, ajax, plug-ins/add-ons, scalability, testing support, i18n, validation, multi-language support, quality of documentation/tutorials, books published, REST support, mobile/Iphone support, degree of risk

Cette liste de critères est une bonne base même si quelques un me semblent moins importants que d’autres.

Matt nous livre une matrice de comparaison dont les meilleurs sont : Spring MVC, GWT, Grails, Wicket et Ruby on Rails qui ne fonctionne pas sur la plateforme Java mais il est très répandu.

Il nous précise cependant qu’aucune pondération n’est appliquée dans ces résultats. La définition des priorités dans les critères et l’application de pondérations correspondantes est cependant très importante lors de sa propre évaluation.

Matt nous livre les avantages et inconvénients des frameworks les mieux notés et quelques statistiques (offres d’emplois, représentativité chez Linkedin, Google trends, questions sur StackOverflow, ...).

Pour faire son choix, Matt nous recommande de mettre une priorité sur les critères de choix, de sélectionner quelques frameworks et de réaliser un même prototype avec chacun et d’utiliser les résultats pour choisir celui qui sera utilisé.

 

OpenJDK par Dalibor Topic

Dalibor Topic d’Oracle nous parle du projet Open JDK.

Oracle prévoit de fusionner la JVM Hotspot et JRockit (la JVM de BEA) et de contribuer à Open JDK avec le résultat.

Le JDK et le JRE seront toujours diffusés gratuitement. Oracle prévoit une version Premium payante qui inclus JRockit Mission Control, JRockit Real Time et Java for Business and Enterprise support.

En octobre, IBM a annoncé sa participation active au projet Open JDK.

Le JCP reste l’organisation en charge des spécifications des évolutions des API et des plateformes Java.

En Novembre, Apple a annoncé aussi sa participation à Open JDK pour permettre le développement d’une version 32 et 64 bits de la JVM sur Mac OS.

Le projet communautaire Open JDK , lancé en 2006, a pour but de fournir une implémentation open source de la plate-forme Java SE.

 

Extending VisualVM par Kirk Pepperdine

Kirk Pepperdine, expert en performance, nous propose dans sa présentation comment développer un plug-in pour l'outil VisualVM.

Kirk nous rappel que le tuning de la performance nécessite une bonne connaissance de la technologie, des outils et de la méthodologie. Il ne faut pas tuner une application mais un système dans son ensemble (hardware/OS, JVM, application, acteur). Il faut prendre en considération les activités de chaque strate mais aussi les interractions entre chacune de ces strates.

VisualVM est un outil qui permet de monitorer un JVM en combinant des fonctionnalités d’autres outils comme JConsole, jvmstat, JVMTI, JMX, ...

VisualVM utilise la plateforme Netbeans Rich Client et propose donc un système de plug-in.

Kirk passe en revu les API à utiliser pour développer un plug-in qui affiche des informations graphiques.

 

HTML 5 fact and fiction par Nathaniel Schutta

Une présentation de l’état d’HTML 5 et de ses perspectives.

Il ne faut plus tenir compte de IE6 qui ne concernerait que 5% des navigateurs utilisés : Google Apps et même Sharepoint 2010 ne proposent plus de support pour IE6.

Le support de HTML5 est partiel dans les différents navigateurs : il est important de détecter si une fonctionnalité précise est utilisable ou non. Cela peut se faire à la main mais il est préférable d’utiliser la bibliothèque Modernizer.

La guerre du ou des formats supportés par HTML5 est loin d’être terminée entre Ogg, H264 et WebM.

Les nouveaux types de saisies de données devraient faciliter leurs saisies notamment sur les appareils mobiles.

 

The Java modular Platform

Mark Reinhold nous présente la prochaine évolution majeure de la version 8 de Java SE : la modularité de la plateforme.

Ceci devrait mettre un terme au jar hell, améliorer les performances (téléchargement et démarrage) et utilisable sur les appareils mobiles.

L’idée de supprimer le classpath et de générer des modules natifs (rpm, deb, ...)

Le projet Jigsaw travail sur l’implémentation de cette modularité qui doit tenir compte de plusieurs fonctionnalités : grouping, dependance, versionning, encapsulation, optional modules et virtual modules :

  • Le grouping se fera en utilisant le mot clé module.
  • Les dépendances seront précisées avec le mot requires dans définition du module.
  • L’encapsulation sera précisées avec le mot permits dans définition du module.
  • Les modules optionnels seront précisés avec les mots requires optional dans définition du module.
  • Les modules virtuels seront précisés avec le mot provides dans définition du module.

Une nouvelle command, jmod, permettra de gérer les modules (add-repo, install, ...)

La commande jpkg permettra de créer des modules natifs.

La préoccupation principale est la compatibilité qui devrait être respectée sauf dans des cas spécifiques.

 

Java Puzzlers – scrapping the bottom of the barrel par Joshua Bloch et William Pugh

Les puzzlers de Joshua Bloch sont une session enrichissante et instructive. De surcroit Joshua est un orateur exceptionnel qui assure le show : la salle est donc pleine. William Pugh n’est pas en reste puisqu’il est co auteur de l’outil Findbugs.

6 puzzlers ont été proposés pour se rendre compte encore une fois que Java et ses API possèdent de nombreuses particularités.

 

Troisième journée à Devoxx

La keynotes "Welcome and Intro"

Stephan Jansen nous accueille pour cette première journée de conférences.

Ils nous proposent quelques chiffres qui confirment, même si cela n’est pas nécessaire, l’importance de Devoxx : 3000 participants, venant de 40 pays d’Europe bien sûre mais aussi Canada, Australie, Brésil, …, 110 speakers, 300 étudiants, 67 JUGs (dont le Lorraine JUG et le Yajug), 27 partenaires dont Oracle, JBoss et Adobe, 13000 repas, 7200 croissants, …

Face à ces chiffres, il y a une équipe de 25 personnes pour l’organisation qui est bien rodée.

Cette année, le réseau a été nettement amélioré grâce à 10 modems VDSL2 : utiliser le net n’était plus une contrainte et c’est très appréciable.

L’exposition des données, via des services Restful, concernant les informations relatives à Devoxx a permis le développement de clients dans différentes technologies (Vaadin, Scala, …) pour différentes appareils (IPhone, Android, …) par différents contributeurs.

Stephan nous parle ensuite de Parleys.com : comme l’année dernière toutes les sessions seront diffusées gratuitement tout au long de l’année et il sera possible de souscrire pour 79 euros pour les consulter toutes dans un futur proche pour une durée d'un an. Une nouveauté cette année, les keynotes sont diffusées en live sur Parleys. La version 4 apporte quelques nouveautés sympathiques (nouveau publisher, support mpeg4, client HTML5 pour IPad, …).

 

Java SE : the road ahead par Mark Reinold

La seconde KeyNotes est proposée par Mark Reinhold, chief architect of the Java plateform chez Oracle.

Mark nous propose un rapide historique de Java : de la version 1.0 (1996) principalement utilisé pour développer des applets, 1.1 (1997), 1.2, 1.3, 1.4, 5.0 avec de nombreuses évolutions dans le langage lui même, jusqu’à la version 6.0 (2006).

Les axes de développement des prochaines versions de Java sont : productivité, performance, universalité, modularité, intégration et servisability

Mark aborde plusieurs sujets concernant les évolutions du langage en cours de travail :

  • Le projet Coin propose quelques évolutions syntaxiques : diamond, try with resources, improved integral literals, string in switch, varargs warning, multi-catch et precise rethrow
  • La performance, elle devra être assurée en exploitant le nombre croissant de cœurs des processeurs.
  • Le projet Lambda : http://openjdk.java.net/projects/lambda/
  • La reification des generics pour faciliter leur utilisation
  • Les properties
  • Le projet DaVinci (JSR 292) concernant Invoke Dynamic
  • Le projet Jigsaw : la modularité est un vaste chantier qui vise à supprimer le classpath en utilisant des modules plusieurs formats (jar, jmod, rpm, deb) : un rapprochement vers Maven est envisagé au détriment de OsGi

Java 7 devrait être diffusé courant 2011 et devrait contenir entre autre : le projet Coin, Invoke Dynamic, fork/join framework, NIO 2.0, Unicode 6.0, JDBC 4.1, Swing Nimbus, …

Java 8 devrait être diffusé fin 2012.

D’ailleurs plusieurs JSR ont été soumises au JCP :

  • JSR 334 : Small langage ehancements (Project Coin)
  • JSR 335 : Lambda Expression (Projet Lambda)
  • JSR 336 : Java SE 7
  • JSR 337 : Java SE 8

Mark reprécise l’ordre des priorités concernant Java :

  1. : Maintenir Java comme le numéro un
  2. : Générer des revenus indirects
  3. : Générer des revenus directs
  4. : Réduire les couts

Le projet Open JDK prend de plus en plus d’importance notamment avec l’implication d’IBM et Apple.

 

La keynotes State of the web par Dion Almer et Ben Galbraith

Ben Galbraith et Dion Dalmaer nous proposent une seconde keynotes sur l’état du web avec en ligne de mire les apports d’HTML 5 et de ce qu’il va apporte dans un futur proche.

HTML 5 propose de nombreuses fonctionnalités : CSS3, géolocalisation, web workers, web storage, web sockets, canvas, Web GL, …

Les sites web ont évolués et évoluent encore, la preuve avec les sites web d’Apple et de Disney à la fin des années 90.

La montée en puissance d’HTML 5 est accélérée par l’accroissement des plateformes mobiles et donc des applications mobile. HTML 5 se présente comme la solution multiplateforme. Même Microsoft l’a bien compris avec son repositionnement de Silverlight, lui préférant HTML 5 pour les applications web.

 

Reflection Madness par Heinz Kabutz

Heinz Kabutz diffuse des articles périodiquement sur le site javaspecialists.eu : leur lecture est particulièrement enrichissante.

Heinz nous offre une session technique sur l’utilisation avancée de la reflection.

La reflection est parfois décriée notamment pour ses performances mais elle permet une flexibilité et de faire certaines choses impossible autrement. Le reflection n’est aussi pas utilisable sans risques (code complexe, performance, détections de certains problèmes uniquement au runtime).

Heinz nous propose quelques cas d’utilisation, pour certains potentiellement dangereux, avec du code en live :

  • accès à une variable private
  • violer l’intégrité des objets de type Integer
  • Exemple :

    Field value = Integer.class.getDeclaredField(« value ») ;
    Value.setAccessible(true);
    Value.set(42, 43);
    System.out.printf(“Six times seven = ”, 6*7); 
    // affiche Six times seven = 43
  • déterminer la taille d’un objet en utilisant la classe Instrumentation
  • déterminer la classe appelante en utilisant la classe sun.reflect.Reflection
  • utiliser la stacktrace d’une exception pour créer dynamiquement un logger pour la classe
  • modifier le contenu d’un champ déclaré final
  • modifier le contenu d’un champ déclaré static final (sur une JVM sun) en utilisant la classe sun.reflect.ReflectionFactory
  • créer dynamiquement une nouvelle valeur dans une énumération
  • créer un objet sans invoquer le constructeur (sur une JVM Sun) en utilisant la classe sun.misc.Unsafe

Cette session est surement une des plus avancée techniquement auxquelles j’ai pu assister.

 

The next big JVM language par Stephen Colbourne

Stephen Colbourne nous propose sur une réflexion sur ce que devrait avoir le prochain langage phare de la JVM.

Java a 15 ans, plus de 10 millions de développeurs l’utilise et est largement répandu en entreprise. Ces principaux buts lors de sa création étaient : simple, orienté objet, robuste, sécurisé, portable, interprété, multithread et dynamique : il est largement inspiré de C, C++, Smalltalk, Modula, … dont les enseignements ont été pris en compte dans Java (pas d’héritage multiple, pas de surcharge des opérateurs, utilisation des exceptions, …)

Parmi les principales fonctionnalités, on retrouve : OO, typage static, les interfaces, les packages, les exceptions checked, unicode, la reflexion, les classloaders, les threads, …

Les concepts de la JVM ne sont pas nouveaux mais ils assurent le succès de Java : portabilité, sécurité, gestion de la mémoire, ...

Mais Java souffre de son ancienneté : certains choix historiquement bon ne le sont plus forcement maintenant, par exemple :

  • les exceptions checked (bonne idée théorique mais mauvaise en pratique car le code ne peut pas savoir si l’appelant sera en mesure de gérer l’exception)
  • les primitives : utilisées pour des questions de performance
  • arrays
  • les monitors (utilisés avec le mot clé synchronized) : une approche simple mais maintenant peu adaptée
  • static
  • surcharge des méthodes : difficile pour les développeurs et le compilateur
  • wildcards dans les generics : avec une implémentation qui utilise le concept d’erasure pour maintenir la compatibilité ascendante
  • patterns : il y en a énormément dans Java (Javabeans, reflexion, immutability, factory, ...)

Java évolue difficilement car il faut maintenir la compatibilité même si elles sont possibles (voir Java SE 7 et 8)

Le prochain langage majeur de JVM devrait prendre compte les enseignements tirés de Java : avoir des propriétés, les closures, function type, method references, gestion des null, être bien outillé, ...

Le prochain langage majeur de la JVM n’est ni Scala, ni Groovy , ni Fantom : il n’est pas encore là mais cela pourrait être un « Java NG » incompatible avec Java.

 

Vaadin – rich web applications in Java without plug-ins or Javascript

Joonas Lehtinen est le fondateur et CEO de Vaadin.

Vaadin repose sur le concept de server-side RIA. Joonas nous expose les points forts et les points faibles de ce concept notamment la montée en charge puisque l’état est conservé côté serveur et qu’une application Vaadin ne puisse pas fonctionner en mode offline.

J’apprécie toujours lorsque l’on parle des points forts mais aussi des points faibles d’un produit, d’un outil ou d’une technologie.

Les points forts sont la vitesse de développement (vraiment démontrée lors de la démo) et la richesse de l’interface qui utilise GWT.

La démo live de 20 minutes m’a bluffé en développement from scratch une application web capable de lister des documents HTML contenus sur le serveur, d’en sélectionner un pour l’afficher ou le modifier.

La présentation m’a vraiment donné envie de regarder Vaadin dont j’entends parler depuis un moment.

 

Performance anxiety par Joshua Bloch

La salle est archi-comble avec de nombreuses personnes devant l’écran assises par terre (j’étais moi-même dans les escaliers). Joshua Bloch et le sujet de la performance font recette.

La présentation courte mais intéressante insiste sur le fait que la mesure de la performance est maintenant très complexe.

Le benchmarking est une activité très complexe. La performance peut revétir plusieurs aspects : disponibilité, temps de réponse, temps de latence, throughput, ...

La mesure de la performance peut prendre différentes unités : instructions par seconde, utilisation des ressources, utilisation de l’énergie, ...

De nombreux facteurs peuvent modifier les résultats de l’exécution d’un benchmark.

Il faut effectuer des séries de mesures et calculer des statistiques sur les résultats. Les benchmarks doivent reposer sur des outils qui mettent en œuvre des best practices comme Google Caliber par exemple.

 

Improve the performance of your Spring App par Costin Leau

Costin Leau nous présente l’intégration et l’utilisation de caches dans la prochaine version de Spring (3.1).

L’utilisation de cache est la solution la plus commune pour améliorer les performances et ce à tous les niveaux : OS, serveurs, applications (ORM, pages web, injection de dépendances, réplication de sessions, …)

Pour aller encore plus loin, notamment en permettant la distribution des caches, il y a les data grids (GemFire, Gigaspaces, GridGain, Terracotta, Coherence, …)

La prochaine version de Spring (3.1) propose de faciliter l’utilisation des caches dans les applications en offrant une abstraction utilisable via les annotations @Cacheable, @CacheEvict.

 

Une journée Java EE 6 à Devoxx 2010

J'ai consacré toute ma seconde journée à Devoxx à Java EE 6.

 

Java EE 6 Tutorial : Reloaded

La matinée a été consacrée à l'université d’Antonio et d’Alexis.

Comme l'année dernière, cette université propose un tour d'horizon de la version 6 de la plate-forme Java EE, un petit moins d'un an après sa sortie.

Pour avoir assisté à leur présentation l'année dernière, j'ai particulièrement apprécié les ajouts fait à leur présentation : couverture de CDI, démos avec Oracle Glassfish v3 bien sûre mais aussi RedHat JBoss AS 6 millestone 5, démos de différentes parties clientes (Java FX, GWT, Android) qui consomment des services web de type Restful.

Antonio termine par un bilan de l'adoption de Java EE 6, un an après sa sortie notamment avec le support en cours par un nombre croissant de serveurs d'applications notamment IBM Websphere, Oracle Weblogic, Apache Geronimo mais aussi Caucho qui travaille sur une implémentation du Web Profile.

Avec 15 démos réussies, une salle quasi remplie et des speakers excellents qui maitrisent bien leur sujet, l'université a été un succès.

 

Entre midi, j'ai profité de la session de dédicaces pour en avoir une du livre "Groovy in Action" par Guillaume Laforge.

 

HOL Java EE 6

L'après midi est consacrée à de la pratique avec Java EE 6 pour un hands-on lab dirigé par Alexis et Antonio.

3 sujets ont été couverts pour permettre d'utiliser Java EE 6 with Glassfish 3.0 et Netbeans 6.9.1 : JSF, JAX-RS et CDI

L'idée des hands-on labs proposée cette année par Devoxx est intéressante car elle permet de mettre les mains sur le clavier et de pratiquer en petit comité en profitant de l’expérience et des informations fournies par le ou les responsables du lab.

 

Java EE 6 tooling

Ludovic Champenois nous propose un rapide aperçu des outils disponible pour mettre en oeuvre Java EE 6.

Deux serveurs d'applications sont disponibles : GlassFish et TMaxSoft. D’autres sont en cours de développement.

Java EE 6 a de gros impacts sur les outils : nouvelles APOI, nouveaux concepts, nouveau packaging.

Les principaux IDE proposent un bon support de Java EE 6 :

_ Netbeans depuis la version 6.8 (decembre 2009) : livré avec Glassfish

_ Eclipse depuis la version 3.6 (juin 2010)

_ IntelliJ depuis la sortie de Glassfish 3.0

JDeveloper n'est pas Java EE 6 compliant pour le moment.

Oracle s'implique fortement dans les outils : glassfish et netbeans bien sûre mais possède aussi de nombreux commiters pour Eclipse et travaille avec JetBrain pour le support de Java EE 6.

Ludovic nous propose une démo avec les trois IDE.

 

- page 1 de 4