2ème soirée AlpesJug : Maven pour construire vos applications d'entreprise

La soirée

Arnaud Héritier, membre des communautés Apache Maven et Codehaus Mojo, et auteur du célèbre Apache Maven, vient nous parler de l’utilisation de Maven en entreprise et des nouveautés de la version 3.x.

Livre d'Arnaud Héritier et Nicolas de Loof


Software Factory Manager pour eXo Platform, Arnaud nous présentera son retour d’expérience de l’utilisation de Maven dans une forge logicielle professionnelle : ce que Maven apporte à chaque étape de la construction d’un logiciel.
Nous aborderons ainsi successivement comment maven intervient pour chacune de ces étapes:
  • le build du projet sur le poste du développeur
  • la gestion des dépendances et des dépôts
  • la mise en place de l’intégration continue
  • l’utilisation des métriques et des rapports de qualité
  • le déploiement continu

Préparez vos Ant et vos Gradle car Arnaud armé de son Maven est un vrai berserker :)

L’intervenant

Arnaud Héritier

Arnaud Héritier

Je me nomme Arnaud Héritier et je suis Software Factory Manager chez eXo Platform. Je suis en charge des méthodes et outils de cet éditeur de logiciels afin d’améliorer la qualité des produits, et la productivité des équipes, en interne mais aussi chez nos intégrateurs et clients.
Passionné par le développement de logiciels j’ai rejoins en 2004 la communauté Open Source du projet Apache Maven. Je suis ensuite rentré dans son comité de direction en 2005. Je participe actuellement à la rédaction d’un ouvrage sur le sujet en Français avec un autre membre du projet : Nicolas de Loof.
Je participe dès que possible aux événements communautaires pour partager ma passion (Java Users Groups, Java BarCamps, …).
Je viens de publier avec quelques ex-collègues un livre blanc chez OCTO Technology : Java Productivity Primer, Twelve guidelines to boost your productivity with a software factory. Ce dernier est disponible gratuitement en téléchargement en Français et en Anglais.

Les inscriptions

Les inscriptions se déroulent ici , dépêchez vous il n’y aura peut être pas de places pour tout le monde!
Pour ajouter l’évènement à votre agenda :
Rendez-vous donc le 29 Marsr 2010 à partir de 18H30 dans l’UFR IMAG 60, rue de la Chimie dans l’amphithéatre F018 Plan d’accès.
La conférence débutera à 19H00.

Silverpeas

Silverpeas - sponsor de la soirée

JEE6 - Sommes nous des fashion victims ?

Le bel AntonioPour l’ouverture de la saison 2010 de l’AlpesJug et pour l’inauguration tout cours des conférences que nous organisons, nous avons eu l’immense chance de recevoir le bel Antonio Goncalves.

C’est devant un amphithéatre quasiment plein (nous avions plus de 70 inscrits !!!) qu’ Antonio s’est exprimé en commençant par un bref historique des spécifications J2EE et JEE sur ces dix dernières années. On a pu voir voir que l’inflation des spécifications au cours des ans a été prise en compte, car si les spécifications JEE6 comportent au total 28 spécifications, un nouveau concept a été introduit : la notion de ‘pruning’, une forme plus poussée du concept de deprecated puisque cela signifie un abandon à la prochaine version des spécifications.

Amphithéatre PleinJEE6 introduit aussi la notion de profil, des sous-ensembles de spécifications dont le plus célèbre et sûrement celui promis à un grand futur est le profil web, une forme de conteneur web classique (à la Tomcat) couplé à un conteneur EJB Lite (c’est à dire sans l’aspect RMI-IIOP et les Message Driven Bean). Cela devrait permettre l’émergence de nouveaux acteurs comme Caucho qui avec Resin 4 propose le premier serveur respectant uniquement le profil web.

Puis Antonio a poursuivi en nous présentant les nouveautés spécifications par spécifications. Antonio Barbie
Tout est devenu Managed Beans, et donc tous les objets classiques JEE sont de simples POJO annotés. Les annotations sont la grande tendance de cette nouvelle mouture, out le XML et bienvenu dans le monde des @Inject et consorts. Cela m’inquiète un peu d’ailleurs.
Les webservices ont ajouté une nouvelle corde à leur arc en ajoutant l’API JAX-RS qui permet d’exposer des services sous une forme REST.
Pour plus d’information sur cette API et sur les webservices REST je vous invite à venir à la session de l’AlpesJug du 26 avril 2010 durant laquelle le leader de la spécification, Paul Sandoz himself, viendra nous présenter Jersey et Atmosphere.
Les EJBs 3.1 Lite sortent enfin du serveur d’application pour être dans un conteneur embarquable. Il devient enfin possible de les tester !!! sans avoir à tout déployer et démarrer un serveur. Ce même conteneur peut être embarqué dans une application lourde en Swing.
En conclusion JEE6 c’est vraiment super et semble apporter de véritables avancées. Cependant comme l’a indiqué Antonio :
Nous sommes tous des « fashion victims »

Joyeux MarmitonsAprès deux heures de cette passionnante présentation, qui sont passées très vite, nous allons manger les délicieuses tartes salées bio préparées par « La ballade des Joyeux Marmitons », accompagnées de jus de fruits bio eux-aussi.

Atlassian

Atlassian


Et encore un grand merci à Atlassian, sponsor de cette soirée, qui nous a permis de faire venir Antonio et a fait des heureux qui sont repartis avec une license Confluence ou Jira.

Loïc présente sur son blog, son compte-rendu de cette première session: JEE 6 à l’Alpes JUG : compte rendu de la soirée.
En attendant les slides d’Antonio, et pour ceux qui n’ont pas pu venir, voici la session qu’il a présentée à Devoxx.

Mise à jour 01/03/2010 : Les slides

What’s new in Java EE 6

1ère soirée à l'Alpes JUG : Java EE 6

Lundi 22 février l’Alpes JUG organisera sa première soirée autour du thème de Java EE 6.  Le désormais célèbre Antonio Goncalves nous présentera le nouveau cru de Java Enterprise Edition et son lot d’améliorations et de nouveautés comme le profil web, une nouvelle API de persistence, les EJB 3.1, l’ajax dans la couche présentation… et bien plus encore!

Atlassian

Atlassian

Cette soirée sera suivie d’un pot offert par notre sponsor Atlassian. De plus, un quiz aura lieu pour gagner de nombreux cadeaux dont des licenses pour les produits tels que Jira, Bamboo, Confluence et bien d’autres.

L’intervenant

Antonio Goncalves, consultant indépendant et architecte, est également l’auteur des livres Java EE 5 et Beginning Java EE 6 Platform With GlassFish3. Il fait partie des membres fondateurs du ParisJUG. Et on peut l’entendreBeginning Java™ EE 6 Platform with GlassFish™ 3: From Novice to Professional régulièrement sur le plus célèbre podcast françaisdu monde Java : les castcodeurs. Il a été élu Java Champion l’année dernière pour sa contribution à la communauté Java.

Les inscriptions

Les inscriptions se déroulent ici , dépêchez vous il n’y aura peut être pas de places pour tout le monde!

Pour ajouter l’évènement à votre agenda :

Rendez-vous donc le 22 Février 2010 à partir de 18H30 dans l’UFR IMAG 60, rue de la Chimie dans l’amphithéatre F018 Plan d’accès. La conférence débutera à 19H00.

Play!

Assistance dojo_playCe mercredi 27 janvier, nous avons assisté à la présentation du framework Play! au travers d’un défi simple : développer la mini application Web de gestion de contacts ZenContact. L’avantage de l’application ZenContact est d’avoir un point de référence à partir duquel nous pouvons comparer les frameworks entre eux.

La présentation était très attendue. La salle était comble et nous avons dû refuser des inscriptions pour manque de place. En effet, bien que sortie en version 1.0 en octobre, le framework Play! a déjà fait parler de lui. Nous pouvons par exemple le trouver dans le livre blanc de Xebia, ce qui est étonnant pour un si jeune framework ; un livre blanc étant en général destiné à présenter l’état de l’art, donc de ce qui a fait un minimum ses preuves.

Pour commencer, comme avec Grails, la structure d’une application Web est imposée par Play! et n’est pas compatible avec un système de gestion de cycle de build comme Maven. D’ailleurs, dans Play! le cycle de build du code est rendu transparent en compilant à la volée le moindre changement dans les sources, et ceci grâce à l’intégration du compilateur Java d’Eclipse. A la différence de Grails, le choix a été fait d’utiliser Java comme langage, ce qui permet de profiter des fonctionnalités avancées d’un IDE dédié. D’ailleurs, tout le travail d’édition de code se fait via l’IDE ; pas besoin d’un outil spécifique pour créer telle ou telle classe d’objet. ( Pour illustrer la simplicité d’écriture de code avec Play!, Guillaume Bort a fait le choix de n’utiliser qu’un simple éditeur de texte avancé (Text Mate)).

Guillaume Bort

Guillaume Bort

Du côté Web, malheureusement (c’est mon avis), pas de surprise, comme la plupart des frameworks Web, Play! repose sur une approche classique MVC et sur un moteur de templates côté IHM ; la nouveauté ne se trouve donc pas de ce côté-ci. Le moteur et le langage de template est maison et repose sur un socle Groovy. Les choix de conception sur le langage sont à mon avis pertinent et intéressant : ils rendent l’usage de templating plus aisé. A côté de ceci, comme le veut la nouvelle vague, l’ensemble IHM client/serveur repose sur la convention : ainsi à un contrôleur correspond un répertoire de même nom dans lequel sont regroupés les fichiers Web (HTML, XML, …) avec pour intitulé l’action défini dans le contrôleur. A côté de ceci, comme avec d’autres frameworks, l’association URL avec le contrôleur est réalisé par un fichier de mapping relativement simple.

Ensuite, comme la majorité des frameworks Web Java, Play! fait usage des technologies ou outils qui ont fait leur preuve ou qui apportent un réel gain de productivité. On peut citer par exemple Hibernate pour le mapping Objet/Relationnel et JPA pour la gestion de la persistance. Le tout est évidemment intégré de façon quasi-transparente pour le développeur. D’ailleurs, l’intégration est le maître mot de Play! mais à un point que ses concurrents n’ont pas osé franchir : ils ont cassé le modèle Java Web classique à base de servlet pour proposer leur propre solution. Le résultat est qu’ils intègrent directement le serveur d’application Web avec l’application, donc un serveur Web maison dédié. La raison ? Au même titre que pour le développement, faciliter aussi le déploiement en production de l’application Web.Habib GUERGACHI en pleine explication Ce point n’a pas été montré et il reste encore à le vérifier dans un contexte réel ; et ceci d’autant plus qu’il aura à faire face à une forte opposition culturelle dans les entreprises où souvent la simplicité est vue, parfois inconsciemment, plus comme quelque chose de soupçonneux.

Pour finir, Play! a fait donc le choix de la rupture tout en s’inscrivant dans la tendance actuelle que l’on pourrait appeler la REST way. Play! est avant tout un framework pour construire une application Web et rien d’autre. Les concepteurs de ce framework sont d’ailleurs bien insisté sur ce point. Et pour eux, le Web est mieux servi par une approche REST que par toute autre autre. Ainsi, chaque page Web est un rendu de l’état courant d’une ressource identifiée par l’URL, celle-ci pouvant être représentée par un objet métier dans l’application. Dans Play!, la représentation de la ressource Web peut aussi bien être du HTML (pour une interaction avec un utilisateur finale), que du XML ou du JSON ou encore du PDF.

Voici le compte-rendu fait par Loïc Descotte de son dojo.

zencontact, the  application we've created at the @alpesjug co... on TwitpicSinon vous pouvez aussi consulter les slides présentées lors de la session du GenevaJug.
Et enfin Romain a traduit le tutorial Play! en français et vous pouvez le suivre si vous n’avez pu participer au dojo.
Le résultat du dojo est téléchargeable sous la forme d’une application de démonstration ici .

Merci SUN


(get a mug)
D’après le  blog de James Gosling

19 eme Session Coding Dojo : Venez jouer avec Playframework

Pour bien commencer l’année 2010 le CARA et l’Alpes Java User Group s’associent pour organiser le 19ème Coding Dojo le mercredi 27 Janvier 2010 de 12h à 14h. Ce dojo présentera le framework web : Playframework au travers de l’exercice de style Zencontact ce qui permet de le voir en action sur une ‘vraie’ application.

PlayFramework

Play! est un framework Java Web nouvelle génération et sans compromis:
il apporte toute l’agilité et la productivité des frameworks basés sur les langages dynamiques dont Java n’avais jamais pu profiter.
Contrairement a de nombreux frameworks Java qui ne sont que des tentatives de masquer des technologies trop complexes telles que JSF ou EJB, Play! s’attaque aux problèmes du développement Web avec Java de manière totalement novatrice et rompt définitivement avec les pratiques avérées non viables du monde JEE.

Créé par des développeurs Web pour des développeurs Web, Play! offre un environnement de très haute productivité grâce à un cycle de développement hyper optimisé sans phase de compilation! ni phase de déploiement!. Tout ceci associé à des rapports d’erreurs d’une perfection inédite allant même jusqu’à une proposition de résolution du problème. En s’appuyant complétement sur le langage Java, il permet de profiter de la richesse de son ecosystème ainsi que de ses outils de développement et d’optimisation les plus modernes.

Les organisateurs

Guillaume Bort, est lead developper du projet Play! framework et co-fondateur et CTO du cabinet de conseil Zenexity spécialisé dans les architectures pure Web. Après avoir commencé sa carrière au sein d’une grande SSII, il rejoint l’équipe ECOO de l’INRIA, contribue à plusieurs projets open source de renommée, et rejoint Zenexity où il dirige des missions de conseil en transformations de SI d’entreprises prestigieuses.

Habib GUERGACHI, co-fondateur et PDG de Zenexity fait partie des architectes français qui ont introduit des concepts forts, comme le « coefficient d’intégrabilité » des applications. Plus de 7 ans à la Direction Centrale des SI d’AXA, plus de 3 ans à Direction de la Stratégie des SI à la Société Générale, 5 ans au comité exécutif et Direction Technique d’une grande SSII, il pilote aujourd’hui des grands projets d’Urbanisation et transformation de SI vers le WEB. Il anime plusieurs séminaires au sein du prestigieux Capgemini Institut

Les inscriptions

Les inscriptions se déroulent ici et seront limitées en nombre (faute de place).

Joyeuses Fêtes

Joyeux Noël et très bonne année 2010 sous la neige.

Afin de rendre cette année 2010 encore meilleure voici le début des réjouissances que vous propose l’AlpesJug.

Coding Dojo Play Framework

Dès le 27 Janvier nous organisons en partenariat avec le CARA un coding dojo autour du framework de développement d’applications web : PlayFramework.
Cette session sera menée par Guillaume Bort qui nous proposera pendant une bonne heure et demi de nous montrer comment coder une application web avec PlayFramework.
Pour plus d’informations sur ce framework moderne je vous conseille de vous rendre sur le site de ce projet opensource.

A web app in 10 minutes using Play! from zenexity on Vimeo.

En ce qui concerne ces nouveaux frameworks de développement il existe un livre blanc publié par Xébia sur ce sujet : Les frameworks web Java Haute Productivité.

JEE6

Java

Java

Enfin, en attendant la présentation d’Antonio Goncalves le 22 Février 2010 sur JEE6, vous pouvez toujours vous inscrire pour le Java EE 6 1-day Online Codecamp, 24H entièrement consacrées au code pour JEE6 et organisées par Alexis Moussine-Pouchkine, Sang Shin et Antonio himself.
Pour plus d’informations et s’inscrire gratuitement c’est ici.
En attendant vous pouvez aussi aller jeter un oeil à la conférence virtuelle sur GlassFish v3 et JEE6 : « Java EE 6 and GlassFish v3″.

Sur ce je vous souhaite une excellente année 2010 et j’espère vous voir nombreux :o )

Glassfish Party à Grenoble

Pour fêter la sortie de GlassFish v3 et de JavaEE 6 : l’équipe GlassFish de Sun Grenoble organise une soirée le 15 Décembre 2009 à 20h00 au bar :

Les Frères Berthom
1 Rue Saint-Hugues, 38000 Grenoble, France
(maps: google)

Avec quelques gadgets à distribuer. Et quelques bieres a descendre !

N’oubliez pas de vous inscrire ici pour qu’ils puissent prendre une table à la bonne taille !!!

Alpes JUG est né !

AlpesJuggy

AlpesJug est un groupe d’utilisateurs Java de la région grenobloise ayant pour but de réunir les acteurs du langage (professionnels, communautés open source, institutions, étudiants, enseignants…) afin d’échanger des idées et de discuter des avancées technologiques de la plateforme Java. Nous nous rencontrons au moins une fois par mois.

Les réunions sont gratuites, ouvertes à tous et consistent en une présentation technique, une démonstration d’un produit, une table ronde, une séance de travaux pratique, ou toute autre formule à inventer ! Après la réunion nous nous retrouvons pour un échange informel autour d’un verre.