Revue de Presse Xebia

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

Actualité éditeurs / SSII

Agilité

RIA

Le coin de la technique

Actualité éditeurs / SSII

Dans le cambouis de SpringSource dmServer

Après l’annonce de la sortie officielle la semaine dernière, SpringSource vous propose de découvrir les entrailles de la bête, par le biais d’une télé-conférence, le 29 octobre à 15:00 CET. Au programme :

  • installation et configuration du serveur
  • construction d’une application modulaire
  • création d’un package déployable (PAR)
  • développements itératifs et tests

Les liens d’inscription se trouvent sur l’annonce originale de SpringSource.

Agilité

Les facteurs clés dans l’adoption d’une démarche Agile au niveau de l’entreprise.

Dans le cadre de la conférence Agile 2008, Michael Mah se prête au petit jeu de la comparaison de productivité entre une entreprise Agile et une entreprise classique (devinez qui a la meilleure productivité).
Mais ce que nous retiendrons surtout de cette présentation, ce sont les cinq facteurs clés qui ont permis de convertir toute une entreprise (BMC) aux méthodes agiles :

  • Avoir des éléments moteurs : avoir le soutien des cadres dirigeants, former des Scrums Masters, s’appuyer sur un noyau de convaincus / passionnés.
  • Être toujours prêt à publier : faire des sprints courts de 2 semaines, des builds quotidiens, et porter l’effort sur des revues de codes régulières et exigeantes.
  • Travailler en équipe 24h/24h : communiquer efficacement, s’armer d’outils efficaces (wiki, vidéo-conférences, réunions de visu régulières), organiser des Scrum de Scrum.
  • Gérer son backlog : tenir un seul backlog partagé, mais plusieurs gestions ‘locales’ de celui-ci, nommer une seule équipe chargée de rédiger les user stories, se doter d’une équipe « d’architectes » pour interfacer la R&D et le backlog.
  • Arrêter le développement WaterFall : passer à des développements pilotés par les tests (TDD), organiser des debriefings réguliers pour ne pas retomber dans les travers classiques, faire auditer les processus par un oeil externe.

Même si certains des points sus mentionnés portent à controverse (on pense en particulier aux TDD qui font débat), ces facteurs clés sont souvent mis en avant, en particulier par les fondateurs de la méthode Scrum, Ken Schwaber et Jeff Sutherland.

Retrouvez l’intégralité du vidcast et du support de présentation sur InfoQ.

RIA

Sortie de Microsoft Silverlight 2.0

Microsoft a annoncé cette semaine la sortie de Silverlight 2.

Lors de notre récent contest RIA dans lequel nous avions essayé de dégager les avantages et inconvénients de différents framework RIA, nous annoncions un certain nombre de points négatifs sur la version Silverlight que nous avions utilisée (Silverlight 2 Beta 2). Microsoft comble avec cette release officielle un certain nombre d’entre eux :

  • Microsoft se rapproche du monde Java en proposant un ensemble d’outils permettant le développement Silverlight directement au sein d’Eclipse. Eclipse4SL, de son petit nom, est actuellement disponible en version alpha, la version finale étant prévue pour le printemps 2009. Eclipse4SL contiendra également un éditeur graphique permettant la manipulation et la visualisation du XAML.
  • Microsoft prévoit également d’enrichir son catalogue de contrôles via le Silverlight Control Pack (SCP). Seront disponibles des contrôles du type Accordion, DockPanel, ViewTree ou AutoComplete sous la Microsoft Permissive License (open source).

Un flash Player 10 précipité pour la sortie de Silverlight 2 ?

Adobe a annoncé la semaine dernière la sortie de Flash Player 10 en release sous le nom d’Astro.

Cette nouvelle version comporte des améliorations graphiques et audio :

  • Des nouveaux effets 3D plus fluides et plus performants.
  • Des effets et filtres customisables par le biais de l’outil Pixel Bender.
  • Gestion de traitement de texte avancé avec plus d’éléments typographiques.

Adobe a également pris en compte des demandes d’amélioration de la communauté Flash avec entre autres :

  • plus de contrôles sur le menu contextuel: il est maintenant possible d’ajouter des items en texte riche.
  • la manipulation de grandes images bitmap (jusqu’à 4096 par 4096)
  • sortie de la version Linux en simultanée avec la version Windows, les problèmes spécifiques Ubuntu ont été réglés depuis la bêta
  • les touches clavier du type Ctrl, Espace… peuvent maintenant être accessibles en plein écran: ce qui peut être pratique pour le développement des jeux Flash.

Vous pouvez retrouver la liste complète des fonctionnalités sur le site d’Adobe.

Comme le signale l’article publié sur le blog de Cedric Champeau, à la sortie du plugin un certain nombre de bugs persistent, la sortie simultanée de Silverlight 2 aurait-elle fait accélérer les choses ?

Testez unitairement et fonctionnellement vos applications Flex avec FlexMonkey

Une à une, les barrières au développement de Flex tombent. Dernière avancée, la mise en ligne d’un framework de tests automatisés, FlexMonkey. Pour InfoQ, Stu Stern (Gorilla Logic), fondateur du projet, revient sur les grandes lignes de ce projet OpenSource :

  • Ne nécessite pas de plugin autre que le plugin Flash
  • Possibilité d’enregistrer et de rejouer des tests (à la manière d’un Selenium), aussi bien que d’éditer le code source des tests, écrit en AS3
  • Outil sous licence Apache2. Cependant, le framework utilise l’API Flex Automation, qui n’est disponible que sous Flex Builder Pro (qu’il vous faudra donc acquérir si vous souhaitez modifier FlexMonkey).
  • Possibilité de simuler des évènements asynchrones avec un temps d’attente plus ou moins long.

L’application de démonstration est relativement bluffante pour un produit aussi jeune.
Alors, pourquoi ne pas laisser le singe tester votre RIA ?

Le coin de la technique

NetBeans vs Eclipse RCP : Comparaison des mécanismes d’extensibilité des plug-ins

Pour faire suite au Paris JUG de la semaine dernière, voici un bel exemple de débat entre choisir une solution standard de JavaSE ou l’utilisation de la plateforme OSGi. En effet, dans le monde des plateformes Rich-Client, Netbeans a choisi un mécanisme d’extensibilité qui s’appuie sur le ServiceLoader du JDK 6 au contraire d’Eclipse qui a préféré tout basculer sous OSGi et ses bundles.

Les avantages et les inconvénients des deux mécanismes sont présentés dans cet article où l’auteur semble avoir un léger penchant pour Eclipse.
Heureusement, les commentaires instructifs qui suivent, dont ceux du responsable technique de la documentation de NetBeans, Geertjan Wielenga, viennent alimenter le débat.

En quelques mots, Netbeans est simple d’apprentissage mais avec une mise en œuvre peu explicite et confuse. En face, Eclipse offre la rigueur de définition des bundles OSGi (très précise) mais avec une plus longue prise en main.

Java 6 Update 10 : Quoi de neuf docteur ?

Beaucoup de nouvelles fonctionnalités orientées utilisateur finale pour facilité le déploiement et l’exécution d’applet, parmi lesquelles :

  • L’intégration de Java Quick Starter (JQS)
    • Un service Windows (XP/2000) permet de précharger dans le cache disque de l’OS des fichiers les plus utilisés par la JRE, afin de permettre un démarrage à froid plus rapide.
  • Next Generation Java Plug-in
    • Ce plug-in, pour Internet explorer et Firefox 3, permet notamment de démarrer une applet depuis un fichier JNLP de la même manière qu’une application Java Web Start et d’améliorer la communication entre javascript et java (détection de version, téléchargement de la JRE…).
  • Java Kernel
    • Distribution allégée de la JRE, puis téléchargement à la demande des dépendances selon les applications chargées, pour permettre une réduction du temps de téléchargement et d’exécution initiale de la JVM.
  • Possibilité de mettre à jour une même version majeure de la JRE, pour éviter la multiplication des installations et réduire les téléchargements.
  • Réécriture de l’accélération Direct3D pour la plateforme Microsoft Windows, qui est désormais activée par défaut.
  • Java DB 10.4 est dorénavant inclus dans la JRE.
  • Nouveau Look & Feel Nimbus utilisant des graphiques 2D vectoriels à la place de bitmaps pour les composants permettant de mieux gérer le redimensionnement.

La liste complète des fonctionnalités sur le site de Sun.

Noyés dans les annotations ?

L’introduction des annotations a permis l’arrivée de la programmation déclarative en Java en ajoutant des metadatas à nos objets. Si la programmation déclarative est une bonne chose, l’utilisation des annotations à tout va engendre de plus en plus de bruits dans nos objets. Comme ce mécanisme se propage à la majorité des frameworks, vos beans se retrouvent noyés au milieu de dizaines d’annotations Spring / Hibernate / JPA / JUnit / EJB / JBoss Cache / Validation / GridGain / j’en passe et des meilleures …

Nous sommes loin de penser que leur utilisation est une mauvaise chose. Pourtant, il faut reconnaitre que les annotations sont souvent sur-utilisées. Il nous faudra par ailleurs faire d’autant plus attention dans le futur avec l’arrivée du Jdk 7 qui devrait permettre l’ajout d’annotations un peu partout dans le code :

  • Map<@NotNull String, @NotNull List<@Readonly Document>> files;
  • class Folder<F extends @Existing File> { }
  • void monitorTemperature() throws @Critical TemperatureExceptuion { }
  • String s = (@NotNull String) object;
  • boolean isNotNull = myObject instanceOf @NotNull String;
  • new @NonEmpty @ReadOnly ArrayList<String>()

Il est donc important de savoir utiliser les annotations à bon escient. C’est ce que nous propose l’auteur de cet article dont nous mettons en avant ici les principaux points.

L’utilisation des annotations est conseillée lorsqu’elles :

  • Facilitent la configuration
  • Évitent les interfaces inutiles et remplacent les interfaces ‘marqueur’
  • Permettent la déclaration de métadatas interprétées au runtime

À l’inverse, il est déconseillé d’utiliser celles-ci lorsqu’elles :

  • décrivent des informations spécifiques à un environnement (base de données / JNDI …)
  • sont utilisées comme des macros

Au final, il sera difficile de trouver un consensus sur ce sujet polémique qui n’est pas sans nous rappeler d’autres critiques similaires.

Billets sur le même thème :

3 Responses

  • En effet, les annotations me répulsent de plus en plus. Ca avait donné lieu à une superbe discussion philosophique autour d’un verre lors du dernier Paris JUG :-)
    Ce qu’il en ressort, c’est que trop d’annotation tue l’annotation. Bien des fois, je me prends à regretter mon bon vieux XML

  • Il est d’ailleurs étonnant de constater le manque de recommandations à ce sujet.

    Si Joshua Bloch présente tonnes de conseils concernant l’utilisation des generics ou des énumérations dans son best seller Effective Java, la partie annotations reste très légère :

    • Utilisation des annotations en remplacement des naming patterns . (SpringSource va également dans ce sens en rendant deprecated l’ancienne la hiérarchie de classe JUnit dans Spring 3.0.)
    • Utilisation de l’annotation @Override

Laisser un commentaire