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é

Le coin de la technique

Evènements de notre communauté en France et à l’étranger


Actualité éditeurs / SSII

CIGREF/Oracle un drôle d’accord !

Le CIGREF est connu de nous tous, les professionnels de l’informatique. Cette honorable association a de nombreuses missions et notamment celle de faire de temps à autre contrepoids face à l’hégémonie de certains géants de l’informatique. Son indépendance et sa neutralité ne sont ici nullement remises en cause – Monsieur Didier Lambert, nouveau Président du CIGREF est un homme respecté et admiré de tous pour ce qu’il a fait en tant que DSI d’Essilor – il s’agit juste d’une question ouverte. Pourquoi avoir signé un partenariat avec Oracle (et uniquement Oracle) dans des domaines aussi sensibles que « la stratégie d’entreprise et vision long terme, usage et innovation, tarification, métriques et politique commerciale » ainsi que le support technique sans y avoir associé d’autres acteurs tout aussi importants comme SAP, IBM ou HP ?
Voir l’annonce sur le site du CIGREF.

Agilité

Test Driven Development

Cédric Beust (Google, créateur de TestNG) appelle à la raison sur les tests unitaires et met en garde contre l’extrémisme auquel peut mener l’approche TDD sur son blog avec TDD leads to an architectural meltdown around iteration three.
Les points clef de son raisonnement extraits de Artima : Cedric Beust on Test Extremism and TDD :

  • « Tests first » or « tests last » is unimportant as long as there are tests.
  • Try to think about testing as early as possible in your development process.
  • Don’t let one liners contradict your experience. For example, don’t listen to people who tell you to write « the simplest possible thing that could possibly work », also known as YAGNI. If your experience tells you you’re going to need this extra class in the future even if it’s not needed right now, follow your judgment and add it now.
  • Keep in mind that functional tests are the only tests that really matter to your users. Unit tests are just a convenience for you, the developer. A luxury. If you have time to write unit tests, great: they will save you time down the road when you need to track bugs. But if you don’t, make sure that your functional tests cover what your users expect from your product.
  • Don’t feel bad if you are not doing Test-Driven Development. There are a lot of factors that make this practice a bad fit for a lot of projects and developer personalities (aspects which are very often never mentioned by TDD extremists).

Le coin de la technique

warp-persist 1.0: persistence and transactions for Google Guice

Derrière ce nom énigmatique se cache un framework permettant d’étendre les fonctionnalités de Google Guice. Le but est de fournir des fonctionnalités facilitant le développement de composant de type DAO. Ce framework permet notamment l’utilisation de JPA et donc d’Hibernate.
Les exemples proposés dans cet article sont en tout cas très prometteurs. A suivre

Utilisation de Maven chez Atlassian

Les équipes d’Atlassian (l’éditeur de JIRA et Confluence, entre autres) utilisent Maven pour leurs développements.

On entend fréquemment des critiques négatives sur Maven 2. Mais même avec ses défauts Maven 2 apporte énormément sur certains projets, cette série de quatre articles détaille la mise en place de Maven chez Atlassian, et peut servir de référence de bonnes pratiques :

Don Brown, architecte chez Atlassian a lui décidé de prendre les choses en main. « Maven sucks », il confirme, et il a décidé de corriger les défauts qu’il lui trouve (c’est le principe de l’OpenSource, même si les forks sont souvent mal vus…), voir « Making Maven Not Suck ». Don effectue ses développements et corrections dans une branche à part (maven-db), on y trouve déjà en particulier :

  • un plugin wagon-http qui dépend d’un commons-httpclient spécifique, pour ne plus tirer les dépendances commons-logging et commons-codec, ce qui pouvait provoquer des incompatibilités avec d’autres plugins
  • la récupération parallèle des artefacts, pour accélérer le processus de récupérations des artefacts dans le repository distant
  • un super POM dans lequel les versions de plugins sont spécifiées en dur (le système de mise à jour automatique des plugins dans Maven peut causer des soucis, on récupère parfois automatiquement des plugins mis à jour lors du build qui le cassent, on se retrouve du coup à fixer les versions de plugins utilisés dans le pom parent…)

Utilisation des variables d’environnement d’Hudson pour identifier les builds

John Ferguson Smart présente les variables que Hudson nous permet d’utiliser dans le script d’un build :

  • BUILD_NUMBER : le numéro du build courant.
  • BUILD_ID : l’id du build.
  • JOB_NAME : le nom du projet.
  • BUILD_TAG : une String de la forme « hudson-${JOB_NAME}-${BUILD_NUMBER}« .
  • EXECUTOR_NUMBER : numéro identifiant l’exécuteur courant.
  • JAVA_HOME : si votre projet utilise une version spécifique d’un JDK.
  • WORKSPACE : le chemin absolu de votre workspace.
  • HUDSON_URL : l’URL complète de Hudson.
  • SVN_REVISION : cette variable contient le numéro de révision du module.
  • CVS_BRANCH : contient la branche du module.

Ainsi il devient facile d’utiliser ces variables dans votre pom.xml et de par exemple renseigner le MANIFEST.MF (l’article présente l’exemple du plugin maven-war-plugin dans lequel sont injectées les données concernant le build).

Evènements de notre communauté en France et à l’étranger

Paris JUG : selenium preview

Le Paris JUG se réunira de nouveau le 11 mars 2008. Le sujet principal de cette soirée sera la présentation de l’outil de test fonctionnel Selenium.
Selenium est un logiciel libre sous licence Apache 2.0 développé par la société ThoughtWorks (une société de conseil américaine spécialisée dans les méthodes agiles). Il permet pour les applications web de réaliser des tests fonctionnels qui s’exécutent directement dans un navigateur que ce soit Internet Explorer, Mozilla, Opéra ou Firefox. Il sert donc aussi à vérifier la compatibilité d’une application vis à vis de ces navigateurs.

Venez nombreux !

Commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.