Revue de Presse Xebia

Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposé par Xebia.

Actualité éditeurs / SSII

Agilité

RIA

Le coin de la technique

Actualité éditeurs / SSII

Intellij Idea 8.1 : Nouvelle version

JetBrains a sorti une version de maintenance du « meilleur des IDE Java ». L’attention a été portée sur l’amélioration des performances. Les changements sont listés sur le site de l’éditeur.
Pour rappel, les détenteurs d’une licence de la version 8 peuvent mettre à jour gratuitement. Et pour ceux qui veulent découvrir cet IDE, une version d’évaluation de 30 jours est disponible.

Le premier milestone d’Eclipse 4

L’équipe annonce la sortie du premier milestone d’Eclipse 4. Également connu sous le nom d’e4, ce projet veut mettre en place une nouvelle génération de plateforme. Dans cette version, une nouvelle catégorie de scénarios et de domaines a été ajoutée afin de prendre en compte les évolutions des technologies web.

On pourra voir entre autres dans ce premier milestone :

  • Au niveau de la plateforme :
    • Prise en charge des images
    • Description de la disposition des composants graphiques de l’application dans un modèle EMF
    • Utilisation des feuilles de styles CSS pour définir le style des widgets SWT, qui existe depuis la version 3.5 d’Eclipse
    • Injection de dépendances : il est possible d’injecter des composants graphiques.
  • Au niveau des ressources
    • Une notion de groupes a été créée pour pouvoir mettre en place des multi-projets
  • Au niveau de SWT
    • Un environnement de développement ActionScript incluant le debugger, la complétion, les rapports d’erreur, le tout automatiquement déployé sur Jetty grâce au support de lancement.
    • Un compilateur incrémental Java vers ActionScript (J2AS) qui peut prendre du code Java et l’interpréter en ActionScript
    • Un environnement d’exécution pour J2AS.

Ces fonctionnalités tendent à rendre Eclipse plus flexible. Il pourrait également attirer les développeurs de projets Flex qui n’ont pour le moment que Flex Builder à leur disposition. Le premier milestone est disponible ici. Un deuxième milestone est prévu pour le 2 Mars.

Agilité

La gestion des bugs dans un projet Scrum

La gestion des bugs dans un projet Scrum est une problématique qui n’est pas forcément évidente à adresser. En effet, la méthode Scrum ne définit pas vraiment de cadre théorique à la gestion des bugs. Chacun suit donc sa propre voie.

Claude Aubry nous présente sa façon de gérer les bugs dans le projet IceScrum.
Il propose de les traiter différemment selon leur gravité (critique, majeur, mineur) et l’état de la story concernée :

  • Si le bug correspond à une story en cours de réalisation, la correction du bug est évidemment associée au sprint en cours.
  • Si le bug correspond à une story réalisée dans un sprint précédent (le cas qui nous intéresse le plus) :
    • Bug critique : Ce bug est traité de façon prioritaire. Il est placé dans le backlog du sprint en cours. Un développeur (ou un binôme) interrompt son travail en cours pour corriger le bug (appelé ‘stop the line’). Cette manière de faire impacte nécessairement le périmètre du sprint.
    • Bug majeur : Ce bug est traité comme un défaut critique s’il peut être résolu rapidement. Sinon, il est ajouté au backlog de produit pour un traitement dans un sprint ultérieur.
    • Bug mineur : Le bug est placé dans le backlog de produit, et sera donc priorisé et traité dans un sprint ultérieur.

Cette méthode de gestion des bugs peut vous sembler aller à l’encontre d’un des principes fondamentaux de Scrum : Le contenu d’un sprint en cours est figé. Lorsque l’équipe développe, elle ne doit pas être interrompue. Pourtant, la plupart du temps, vous devrez corriger vos bugs rapidement. Aussi poussée que soit votre définition du ‘done’, vous ne pourrez y échapper : votre application contiendra des bugs. À vous de faire avec.

Une autre façon possible de gérer les bugs est d’allouer du temps en parallèle du sprint pour corriger les bugs. Comme la correction de bugs en cours de sprint réduit la vélocité de l’équipe, à terme, le temps de correction sera automatiquement inclus dans les sprints suivants. Vélocité diminuée : moins d’items du backlog affectés sur les prochains sprints.

D’autre part, une discussion sur ce sujet s’est lancée sur le forum du French SUG. Différents points de vue et problématiques y sont présentés : traitement des bugs selon leur gravité, leur temps de correction et leur localisation ; et différentes solutions y sont avancées : méthode stop the line ou go to product backlog. N’hésitez pas à venir y apporter vos retours d’expérience.

RIA

JavaFx sur mobile.

Sun a réussi à tenir ses deadlines, et a publié JavaFx Mobile (inclus dans la version 1.1 du Sdk) avant le Mobile World Congress de Barcelone (du 16 au 19 février).
Plusieurs fabricants et opérateurs (LG, Sony Ericsson, Orange…) ont déjà annoncé leur intérêt pour le produit de Sun.
JavaFx Mobile s’exécute sur Java MicroEdition, et ne nécessite donc pas d’embarquer une JVM dédiée ‘JavaFx’. Cela devrait grandement faciliter le déploiement puisqu’un certain nombre de téléphones proposent déjà une architecture JavaME Mobile Service (plus de 2,6 milliards de téléphones portables selon un communiqué de Sun). La gestion de la connectivité sans fil Bluetooth, de l’APN ou du module GPS se fera via la stack JavaME.
Pour faciliter les développements et garantir la compatibilité inter plateformes, Sun a partagé ses API en 3 profils: un profil commun, contenant les classes qui fonctionneront sur toutes les cibles, un profil Desktop (fortement connoté Swing) et un profil Mobile.
Pas besoin donc de connaître les spécificités de JavaME pour développer une application mobile.
Comme le dit Joshua Marinacci sur son blog, ‘There is no JavaFX Mobile. There is only JavaFX.’. Celui-ci devrait permettre de développer des applications portables sur navigateur, desktop, mobile et télévision (la prochaine grande étape pour le RIA de Sun) avec une grande simplicité.

Malgré un certain retard à l’allumage, ces annonces prometteuses peuvent laisser penser que Sun sera prochainement en mesure de taquiner Microsoft et Adobe sur le terrain RIA. Et ce n’est pas les 100 millions de téléchargements du runtime JavaFx qui vont infirmer cette tendance.

Le coin de la technique

DynamicJasper : créer des rapports JasperReports dynamiquement

DynamicJasper est une librairie java open source qui permet de simplifier l’utilisation de JasperReports. Le développeur peut définir des modèles de rapports dynamiques qu’il peut alimenter lors de l’exécution de son programme.

DynamicJasper permet de créer des rapports dynamiques en définissant à l’exécution le nombre de colonnes, leurs largeurs, leurs couleurs, des ruptures, … même des sous-rapports et des graphiques peuvent être associés au document lors de sa construction dynamique.

DynamicJasper conserve une compatibilité complète avec JasperReports.

DynamicJasper s’intègre facilement avec les frameworks : Struts 2, WebWork, et GWT.

DynamicJasper permet de :

  • Grouper les données par une ou plusieurs colonnes.
  • Associer des sous-rapports au document en cours de construction.
  • Générer et ajouter dynamiquement des graphiques au document.
  • Mettre à jour les styles, couleurs, et tailles de police.
  • Utiliser des templates JRXML.
  • Exporter le document en plusieurs formats : PDF, XML, HTML, CSV, XLS, RTF, TXT.

L’utilisation DynamicJasper est très simple et permet une grande productivité en définissant des modèles de rapports génériques et réutilisables.

Une démo en ligne est disponible.

Spring Integration

Sur le blog de Spring Source, Mark Fisher nous montre une rapide mise en place de Spring Integration en 10 étapes. Parmi elles nous avons:

  • Mise en place de la configuration
  • Création d’une classe Bootstrap
  • Envoi et réception d’un message Spring Integration
  • Création d’un service
  • Appel du service par l’envoi d’un message
  • Création d’une interface Gateway (cela permet de ne pas envoyer de message sur un message channel en passant par une interface)

Cette mise en place rapide permet une première approche de Spring Integration. Bien entendu les possibilités offertes ne s’arrêtent pas à cet exemple. Pour aller plus loin, vous pouvez consulter le site de Spring Integration.

Sortie du JDK 6 update 14 build01

Le premier build de la version jdk6u14 disponible en téléchargement. Elle comporte quelques nouveautés notables dont certains backports des futures fonctionnalités du JDK 7.

  • Par exemple, vous pouvez des à présent tester le nouvel algorithme du Garbage Collector : G1 que nous vous avions présenté l’année dernière.
  • Le chargement des classes anonymes est rendu possible. Cette fonctionnalité ravira probablement les utilisateurs de langages dynamiques.
  • Pour finir, la compression des pointeurs pour les architectures 64 bits est également disponible en standard (il vous fallait auparavant passer par une Performance Release).

La liste complète des nouveautés est disponible sur le changelog.

Billets sur le même thème :

2 Responses

Laisser un commentaire