mardi, juin 24 2014

Honoré d’être nommé Java Champion

Il arrive parfois des événements exceptionnels dans sa vie : je viens d’en avoir un incroyable, probablement le quatrième plus important après la rencontre avec ma femme et la naissance de mes enfants.

Le 11 juin 2013 à 23:15, je reçois un mail intitulé « Java Champion acceptance », envoyé par une personne qui est « Senior Manager, Community Programs, Oracle Technology Network ». Cet email m’informe que ma nomination pour être Java Champion, soumise par Antonio Goncalves, est acceptée et que de fait je rejoins donc la communauté des Java Champions. C’est énorme ...

Aujourd'hui, c'est officiellement annoncé sur le blog Java d'Oracle.

Après Olivier Schmitt (Membre fondateur), Valere Dejardin (Membre fondateur), Vincent Massol (2005), Antonio Goncalves (2009), Agnes Crepet (2012) et David Gageot (2014), je suis le septième français à rejoindre ce groupe.

Forcément, ma première question est : comment puis-je être incorporé dans un groupe de personnes exceptionnelles telles que celles citées précédemment ou Adam Bien, Joshua Bloch, Stephen Chin, Stephen Colebourne, Bruce Eckel, Ben Evans, Dr. Neal Gafter, Brian Goetz, James Gosling, Arun Gupta, Romain Guy, Juergen Hoeller, Stephan Janssen, Rod Johnson, Dr. Heinz Kabutz, Gavin King, Angelika Langer, Dr. Doug Lea, Bob Lee, Kirk Pepperdine, Lars Vogel, Dick Wall, Jim Weaver, … pour n’en citer que quelques unes dans un ordre alphabétique.

Tous ont réalisé des choses remarquables pour la promotion et le développement de Java : des contributions aux JDK, le développement d’un framework largement utilisé, l’organisation de conférences, ... et bien d’autres choses qui ont contribué au développement de Java.

Personnellement, je parle finalement peu mais, par contre j’écris beaucoup et uniquement en français (ce qui n’est pas forcément un avantage concernant un programme international) : plus de 3000 pages dans la version 2.0 en mai 2014. Et c’est vrai que je contribue depuis plus de 15 ans à partager ma passion pour les plateformes Java SE, EE et ME et l’écosystème Java à une communauté francophone qui semble apprécier la littérature qui ne soit pas que dans la langue de Shakespeare, ...

Et voilà, comment Antonio a proposé et soutenu ma nomination afin que celle-ci soit validée. Il est vrai que cela représente beaucoup de travail pour un document consulté par de très nombreuses personnes (plus d’un million de visiteurs annuels) mais selon moi, sans vouloir dénigrer ce que j’ai fait, ce n’est tout de même pas aussi impressionnant en comparaison de ce qu’ont fait les autres Java Champions.

Cependant, c’est tout de même une joie incommensurable et un immense honneur et je ressens une énorme fierté d’être promu Java Champion en ce mois de juin 2014.

Le temps que je me remette de cet événement et je poursuis l’écriture de la prochaine version de mon didacticiel. En attendant sa publication, bonne continuation avec Java d’autant que les sujets ne manquent pas surtout avec Java 8.

Honored to join the Java Champions

Due to my recent appointment, I have (try) to translate my last French post : here it is.

Sometimes exceptional events happens in his life: I have just had an amazing one, probably the fourth major after meeting my wife and the birth of my children.

The June 11, 2013 at 23:15, I got an email titled "Java Champion acceptance" sent by a person who is "Senior Manager, Community Programs, Oracle Technology Network." This email informs me that my nomination for being a Java Champion, submitted by Antonio Goncalves, is accepted and that therefore I join the community of Java Champions. This is tremendous ...

Today, it is officially announced on the blog about Java from Oracle.

After Olivier Schmitt (Founding Member), Valere Dejardin (Founding Member), Vincent Massol (2005), Antonio Goncalves (2009), Agnes Crepet (2012) and David Gageot (2014), I am the seventh French to join this group.

Of course, my first question is: how can I be included in a group of outstanding people such as those mentioned above or Adam Well, Joshua Bloch, Stephen Chin, Stephen Colebourne, Bruce Eckel, Ben Evans, Dr. Neal Gafter, Brian Goetz James Gosling, Arun Gupta, Romain Guy, Juergen Hoeller, Stephan Janssen, Rod Johnson, Dr. Heinz Kabutz, Gavin King, Angelika Langer, Dr. Doug Lea, Bob Lee, Kirk Pepperdine, Lars Vogel, Dick Wall, Jim Weaver, ... just to name a few in alphabetical order. All have made significant things for the promotion and then development of Java: JDK contributions, the development of a framework widely used, organizing conferences, ... and many other things that have contributed to the development of Java platforms.

Personally, I finally speak a few but by cons I write a lot and only in French (which is not necessarily an advantage for an international program): over 3000 pages in version 2.0 in May 2014. And it is true that for over 15 years I share my passion for the Java platform SE, EE and ME and Java ecosystem to the Francophone community which seems to appreciate documentation that is not in the Shakespeare’s language, ...

This is how Antonio has proposed and supported my nomination to it’s acceptance. It is true that it’s a lot of work for a document seen by very many people (more than one million visitors a year), but in my opinion, without denigrating what I did, this is still not impressive in comparison to what others Java Champions have done.

However, it is still an immeasurable joy and a huge honor and I feel an enormous pride in being promoted Java Champion in June 2014.

By the time I recover from this event and I continue writing the next version of my tutorial. Waiting for its publication, good continuation with Java as much as the subjects are not lacking especially with Java 8.

 

mercredi, octobre 30 2013

Java EE 7 avec David Delabassee et Arun Gupta

En l’espace d’une dizaine de jours, j’ai pu assister à deux présentations sur Java EE 7 par deux spécialistes sur ce sujet : David Delabassee (@delabassee) et Arun Gupta (@arungupta).

Le 17 octobre, David Delabassee qui est GlassFish Product Manager chez Oracle est venu à Nancy au Lorraine JUG.

L’après midi a été consacrée à un Hands on Lab avec les étudiants de 3eme année de Telecom Nancy et quelques membres du JUG. Le but est de compléter de manière guidée une application en utilisant quelques unes des nouvelles fonctionnalités de Java EE 7.

 

Cet Hands on Lab conçu par Arun Gupta, Antonio Goncalves, David Delabassee et Marian Muller et proposé à Java One est téléchargeable à l’url https://glassfish.java.net/hol/

En plus de coder avec Java EE 7, ce fut l’occasion d’avoir des échanges intéressants avec David sur la dernière version de la plateforme et son implémentation de référence Glassfish 4.

 

En soirée, David nous a proposé deux sujets :

  • une présentation générale de Java EE 7
  • une présentation détaillée des WebSockets dans Java EE 7 (JSR 356)

La soirée s’est terminée par une visite de la place Stanislas, incontournable à Nancy puisque c’est une des plus belle d’Europe, et un diner avec David et des juggers.

Le blog de David est consultable à l’url http://delabassee.com/blog/

 

92 personnes étaient inscrites le lundi 28 octobre au Yajug, où Arun Gupta est venu nous parler de Java EE 7. C’est son premier talk en tant qu’employé de Red Hat après des années chez Sun/Oracle.

Arun maitrise particulièrement son sujet : aucun slide, juste du code et des démos commentées en live à partir des exemples qu’Arun met à disposition sur Github github.com/arun-gupta/javaee7-samples

Un must à consulter tant les exemples couvrent de nombreuses fonctionnalités de Java EE 7 :

  • WebSocket (JSR 356) : 31 exemples
  • JAX-RS (JSR 339) : 25 exemples
  • JSON Processing (JSR 353) : 4 exemples
  • Batch Processing (JSR 352) : 14 exemples
  • Java Message Service (JSR 343) : 4 exemples
  • Contexts & Dependency Injection (JSR 346) : 16 exemples
  • Concurrency Utilities for Java EE (JSR 236) : 4 exemples
  • Java Persistence API (JSR 338) : 15 exemples
  • Servlet (JSR 340) :  : 13 exemples
  • Java Server Faces (JSR 344) : 18 exemples
  • Java Connector Architecture (JSR 322) : 2 exemples
  • Enterprise Java Beans (JSR 345) : 6 exemples
  • Java Transaction API (JSR 907) : 4 exemples
  • Bean Validation (JSR 349) : 2 exemples
  • JavaMail (JSR 919) : 1 exemple
  • Expression Language (JSR 341) : 1 exemple
  • quartz
  • NoSQL : 10 exemples

 

En plus pendant les questions/réponses, j’ai gagné le dernier livre d’Arun qu’il a eu la gentillesse de me dédicacer : Java EE 7 Essentials.

Après un format pocket sur Java EE 6, ce nouveau livre porte bien son nom puisqu’il couvre Java EE 7 sur 360 pages … en anglais ;-)).

Vous pouvez consulter le blog d’Arun http://blog.arungupta.me/

 

mardi, septembre 4 2012

Soirée Google Guava et Lombok au Lorraine JUG le 19 septembre

Google Guava & Lombok

Le Lorraine JUG (Java User Group de Lorraine) vous invite à sa prochaine soirée de conférence de présentation des frameworks Google Guava & Lombok.

Lundi 19 septembre 2012, 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 - Google Guava & Lombok, Thierry Leriche

Guava est une librairie open source créée et maintenue par les équipes de Google. Inspirée des outils internes du géant, Guava propose de nombreux mécanismes (prog fonctionnelle) pour manipuler les collections, créer des caches customisés, faciliter la gestion de la concurrence et les IOs.

De son coté, Lombok est également un projet Open Source. Lombok et Lombok-pg simplifient sensiblement l’écriture de code classique (builders, delegates, etc.) et des nombreuses méthodes purement techniques et indispensables (getters, setters, hashCode, equals, etc.) qui polluent nos objets.

Durant cette présentation, après un rapide constat de la verbosité de nos beans, nous feront un tour d’horizon de Lombok et Guava. Nous verrons comment ils nous aident à écrire du code concis et de qualité.

20:45 - Drink et tombola

1 licence JRebel à gagner, offerte par ZeroTurnaround.

Inscription sur JUG Event

 

vendredi, mai 4 2012

Soirée programmation concurrente au Lorraine JUG, le 21 mai

Lundi 21 mai 2012, 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 - Programmation concurrente : enjeux et problèmes, moyens et solutions , José Paumard

Depuis 15 ans le modèle de programmation multithread de Java a suivi les évolutions des processeurs et les besoins grandissants des applications. La programmation multithread pose deux défis pour le développeur : paralléliser ses traitements et assurer la cohérence de ses données, tout en exploitant au maximum la puissance de calcul des processeurs modernes. Nous commencerons par décrire ces défis précisément, ainsi que leurs enjeux. Nous verrons ensuite les solutions techniques disponibles actuellement, que ce soit dans le JDK ou dans les API et frameworks de l'écosystème Java. De l'API Java Threads des débuts, au Fork / Join de Java 7, et au parallel() en vue pour Java 8, de synchronized et volatile aux modèles de transactions logicielles et d'acteurs, tout y passera, précisément et sans complaisance. Et en bonus, on fera un peu d'algorithmique.

José est maître de conférences à l'institut Galilée (université Paris 13) et docteur en mathématiques appliquées de l'ENS de Cachan. Il découvre Java en 1995, et enseigne le langage et ses API depuis 2000 en DESS (devenu M2 depuis). Il y a 10 ans, José rencontre Pierre Briant et se passionne depuis pour les bases de données historiques et archéologiques. Il codirige dans ce cadre le projet MAVI en collaboration avec le collège de France, et publie en open source Open melodie plateforme Java qui joue le rôle de back-office du MAVI. Il tient le blog Java le soir, qui propose environ 700 pages de cours et tutoriaux Java / JEE en accès libre. Enfin, José apporte régulièrement son concours à de nombreux projets techniques dans des domaines très divers.

20:45 - Drink et tombola

1 licence JRebel à gagner, offerte par ZeroTurnaround.

Inscription gratuite !

Inscription sur JUG Event

 

samedi, mars 17 2012

Soirée XWiki au Yajug le 20 mars

 

mardi, février 14 2012

Devoxx France 2012

 

mercredi, novembre 23 2011

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

 

dimanche, octobre 16 2011

Soirée Hibernate OGM au Yajug par Emmanuel Bernard

 

samedi, octobre 8 2011

Soirée Java EE 6 au Yajug par Antonio Goncalves

 

lundi, septembre 5 2011

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

 

mardi, août 30 2011

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.

 

lundi, février 7 2011

Soirée annotations au Yajug par Olivier Croisier

 

dimanche, décembre 19 2010

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.

 

lundi, novembre 29 2010

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. 

 

dimanche, novembre 28 2010

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.

 

mardi, novembre 16 2010

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.

 

Première journée à Devoxx 2010

Pour ma quatrième participation, Devoxx est toujours une conférence incontournable en Europe de part la qualité des présentations et des speakers, du nombre de participants (3000 cette année), de l'organisation bien rodée.

Cette année, le nombre de participants semble plus important que l'année dernière pour les universités mais surtout il y a beaucoup plus de francophones, ce qui est très sympa.

 

Productive programmer

Neal Ford est un très bon orateur qui nous a proposé une présentation inspirée de son livre "Productive programmer".

La première partie "Mechanics" est composée de quatre thèmes :

_ acceleration : pour réaliser ses tâches plus vite en utilisant les raccourcis clavier, utiliser un presse papier multiple, utiliser les commandes pushd et popd pour revenir dans un répertoire, utiliser le clavier plutôt que la souris, rechercher plutôt que naviguer, utiliser des macros et des templates, ...

_ focus : il faut éliminer les distractions pour se concentrer sur sa tâche. Cela passe par des choses simples mais toujours faciles à mettre oeuvre : avoir une chaise ergonomique et confortable, avoir deux écrans et un bon clavier, avoir les droits administrateurs sur son poste, supprimer les distractions (les notifications, les messageries (fermer ses emails et la messagerie instantanée) car un changement de contexte est coûteux), utiliser des bureaux virtuels, ...

_ canonicality : il faut appliquer le principe DRY (Don'r Repeat Yourself). L'ORM est un des pires contre exemple du principe DRY (database schema + xml configuration + pojo > 1) : il est préférable de partir du DDL est de générer le fichier de mapping XML et le code des POJO

_ automation : il faut faire réaliser certaines tâches répétitives par la machine en utilisant par exemple une commande unique pour faire un build, utiliser l'intégration continue avec un gestionnaire de sources, utiliser selenium ide (remarque perso : lorsque cela est possible car c’est difficile avec certains frameworks) pour reproduire un bug (par les utilisateurs ou les développeurs : l'idée est simple mais je n'y avais jamais pensé), développer sa propre boite à outils de préférence avec des langages de développement (support des IDE, test unitaires, refactoring). Il faut automatiser dès que le ROI se justifie.

 

Dans la seconde partie (Pratices), Neal Force nous propose 10 moyens d'améliorer notre productivité

1. Composed Methods

Les méthodes d'une application doivent uniquement réaliser une tâche bien identifiée et contenir le moins de ligne possible. Cela facilite la réutilisabilité et la testabilité du code. Neal Ford nous propose un exemple de refactoring d'une méthode qui se connecter à une base de données pour retourner des données.

2. TDD (Test Driven Development / Test Driven Design)

Le TDD permet notamment de réfléchir à la façon sont les classes vont être utilisées. Ceci implique de mocker les dépendances, de mettre en oeuvre le principe des composed methods, ...

3. Static analysis

Utiliser des outils d'analyse de code (PMD/CPD) et de byte code (findbugs)

4. Good citizenship

Neal Ford nous rappel qu'il ne faut pas générer automatiquement les getters et les setters : getters + setters != encapsulation !

Il faut éviter les singletons puisque qu'il mixte les responsabilités et sont difficilement testables. Ils sont une version objet des variables globales décriées dans d'autres technologies. Il est préférable de créer un pojo qui contient les traitements et une fabrique pour créer l'unique instance du pojo en utilisant l'introspection pour invoquer le constructeur privé du pojo.

Neal nous fournit un exemple de la pire classe du JDK : la classe java.util.Calendar qui est connue pour sa mauvaise conception. Il est préférable d'utiliser d'autres implémentations comme JodaTime.

5. YAGNI (you ain’t gonna need it)

L'idée est de n'utiliser que ce que l'on a besoin.

Les meilleurs frameworks sont ceux qui sont extraits d'une application et pas ceux qui sont développés from scratch.

Comme exemples, Neal Ford nous propose le « Ten top corporate code smells » (dont certains m'ont bien fait rigoler)

  • 1. There is a reason that WSAD isn’t called WHAPPY.
  • 2. The initial estimate must be within 15% of the final cost, the post-analysis estimate must be within 10%, and the post-design estimate must be with 5%
  • 3. We don’t have time to write unit tests (we’re spending too much time debugging)
  • 4. We keep all of our business logic in stored procedures...for performance reasons.
  • 5. The only JavaDoc is the Eclipse message explaining how to change your default JavaDoc template.
  • 6. We have an Architect who reviews all code precheckin and decides whether or not to allow it into version control.
  • 7. We can’t use any open source code because our lawyers say we can’t.
  • 8. We use WebSphere because...(I always stop listening at this point)
  • 9. We bought the entire tool suite (even though we only needed about 10% of it) because it was cheaper than buying the individual tools.
  • 10. We invented our own web/persistence/messaging/caching framework because none of the existing ones was good enough.

6. Question authority

Il faut être capable de remettre en cause certaines choses établies, par exemple :

_ les conventions de nommages des méthodes de tests unitaires (qui sont plus lisibles avec des underscores plutôt qu'avec le Camel Case)

_ mettre en oeuvre le pair programming : cela prend plus de temps mais le code produit contient moins de bugs

_ le chaînage des méthodes plutôt que d'utiliser les setters imposées par la convention JavaBeans : il est préférable d'utiliser les fluent interfaces

7. Slap (Single Level of Abstraction Principle)

8. Polyglot programming

Utiliser le langage le mieux adapté à la tâche à réaliser, par exemple Scala ou jaskell pour les traitements fortement multithreadés, grails ou jruby on rails pour la productivité sur des applications web

9. Every nuance

Il ne faut pas obligatoirement maintenir certaines idées diffusées historiquement, par exemple le fait que l'API Reflection soit lente (vrai dans les années 90 mais plus vrai et vraiment pratique dans certaines circonstances).

10. Anti-objets

Ce sont des objets qui sont à l'opposé de ce qu'ils devraient faire par exemple parce qu'ils sont trop inspirés de la vie réelle.

Je n'ai pas encore lu son livre mais sa présentation m'a vraiment donné envie de l'acheter

Il est possible de télécharger les slides de ces présentations dans différents événements (dont celles de Devoxx cette année) à l'url http://nealford.com/mypastconferences.htm

 

Extreme Productivity with Spring Roo

Ben Alex et Stefan Schmidt nous ont proposé un tour d'horizon de Spring Roo.

Récemment la version 1.1 de Spring Roo a été publiée et elle apporte de nombreuses fonctionnalités par rapport à la version 1.0.

De nombreuses démos nous ont permi de se rendre compte de la productivité de Roo pour développer des applications web soit en utilisant le shell fournit par Roo ou en utilisant l'outil STS de SpringSource qui est téléchargeable gratuitement et offre un support pour Roo.

L'extensibilité est assuré par un système de add-on qui enrichit Roo de fonctionnalités.

 

Tools in action : Mylyn

Oliver Gierke de SpringSource nous propose une rapide présentation du plug-in Mylyn d'Eclipse et des avantages apporté par ce plug-in pour améliorer notre productivité de codeur (focus, productivity, traceability).

Il permet de gérer des tâches fournies par un gestionnaire de sources (généralement un gestionnaire de bug tel que BugZilla, RedMine, Jira, ... )

L'utilisation du plug-in commence par la configuration de ce gestionnaire de sources.

Une fois une tâche activé, celui ci se charge de maintenir un contexte de travail dans Eclipse.

Oliver termine sa présentation en nous parlant de SpringSource Code2Cloud.

 

dimanche, septembre 19 2010

Soirée "Bonita" - au Lorraine JUG le 18 octobre 2010

Soirée «Spring 3 en production» 18 octobre 2010 | 18h30-21h30 | ESIAL, Villers-lès Nancy 

Le Lorraine JUG (Java User Group de Lorraine) vous invite à sa soirée de conférence dédiée à l'utilisation du framework Spring 3 en production.

Lundi 18 octobre 2010, 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 - Bonita Open Solution, Aurélien Pupier (BonitaSoft)

Bonita Open Solution est la première solution Open Source complète de Business Process Management (BPM). Basée sur un moteur de workflow robuste, elle fournit tout l'outillage nécessaire pour créer efficacement des applications d’automatisation de processus métier, avec tous les bénéfices de l'approche BPM et une forte connectivité avec les systèmes d'informations existants.

Cette présentation introduira d'abord le concept du BPM et ses objectifs, puis une démonstration de Bonita Open Solution montrera comment elle peut être utilisée pour implémenter des applications métier. Ensuite, nous étudierons les choix et l'architecture techniques et nous verrons comment Bonita tire parti de technologies bien connues et efficaces (Eclipse RCP, Goolge Web Toolkit, Hibernate, Groovy...). Nous pourrons même donner quelques détails sur la manière dont l'équipe de Bonita utilise Scrum pour gérer le cycle de développement du produit..

Aurélien Pupier participe au développement du Studio de Bonita Open Solution chez BonitaSoft depuis plus d’un an. Il est passionné par l’environnement Eclipse, particulièrement des parties PDE, RCP, Modeling (EMF/GMF), Tests (SWTBot) et Performance (MAT, TPTP)

19:15 - Drink & tombola

19:45 - Bonita Open Solution, Julien Dubois

20:30 - Jazoon afterglow, Jean-Michel Doudoux & Wilfried Trombini

Jean-Michel Doudoux, membre de l'équipe du Lorraine JUG, et Wilfried Trombini, heureux gagnant du «Pass Jazoon 2010», nous proposent une petite mise en lumière des sujets qu'ils ont le plus appréciés lors de la conférence zurichoise. Tout juste de quoi nous mettre en appétit avant Devoxx...

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.

- page 1 de 3