La performance a été souvent considérée comme étant le parent pauvre des applications. Afin de combler ce défaut et de détecter les éventuels points de faiblesse des applications, plusieurs outils propriétaires et open source ont vu le jour sur le marché: Compuware/Qaload, LoadRunner, OpenSTA, JMeter, etc, et notamment The Grinder. L’adoption de ce dernier fut moins évidente que celle de son homologue côté Apache, du fait de l’absence de support et d’une interface GUI pour la définition, la configuration et le paramétrage des scripts ; ce manque de l’aspect « cliquodrome » a fait croire aux utilisateurs que l’outil est à mettre uniquement dans les mains d’un développeur python, et a également conduit à en dissimuler les talents.
Le but de cet article est de donner un ensemble de guidelines pour faire un meilleur usage de l’outil.
Lire la suite de cet article »

La semaine prochaine se tiendra la conférence Mix-IT (prononcez « mixité ») à Lyon. 25 speakers animeront la journée dans 5 salles en parallèle. Le but est de fournir des sujets variés et complémentaires, autour de 5 thèmes :
- Techy : Java et son écosystème
- Agility : L’agilité pour débutants et passionnés
- Trendy : Tendances novatrices et avant-gardistes
- Mixy : Le meilleur de l’agilité et des technologies Java
- Gamy : Jeux agiles et coding dojos
Cet évènement est organisé par le Lyon JUG et le Club Agile Rhône-Alpes.
En vrac, on y parlera de : Play!, Product Owner, Clojure, Coaching agile, Apache Mahout, BDD, Grails, DevOps, Spock, HTML5, Code retreat et bien d’autres sujets.
Vous pouvez découvrir le programme complet à cette adresse.
Xebia participe à cet évènement en animant 2 slots :
Les places sont comptées (200 spectateurs) donc dépêchez-vous de vous inscrire !

La revue de presse de l’actualité Java/JEE hebdomadaire proposée par Xebia.
Actualité éditeurs / SSII
Le coin de la technique
Lire la suite de cet article »
Depuis quelque temps, le langage Scala fait beaucoup parler de lui et de nombreux articles et prototypes commencent à voir le jour. Mais cet engouement est freiné par un certain nombre de problèmes dont un majeur : une grande partie des applications sur lesquelles nous intervenons sont en Java et à moins de débuter un nouveau projet, migrer ces applications en Scala n’est pas concevable. Néanmoins une solution peut consister à introduire du Scala dans ces mêmes applications : étant donné que le langage Scala tourne sur la JVM et est interopérable avec le langage Java, il est tout à fait envisageable de migrer une partie des applications en Scala. Mais pourquoi introduire du Scala dans les applications me direz-vous ? Le langage Scala prône le paradigme fonctionnel, une meilleure lisibilité, une productivité améliorée et des performances au rendez-vous, et l’introduire sur des applications est une bonne manière d’essayer ce langage et de se faire un avis sur ces critères. Le but de cet article ne va pas consister à vérifier toutes les promesses du langage Scala. Cet article a un objectif didactique : fournir un exemple simple de migration et de cohabitation d’un module Java avec Scala, en partant d’un projet Java, simplifié pour l’exemple, pour aboutir à la migration d’une partie de ce dernier en Scala.
Avant de poursuivre, le code proposé est une solution parmi tant d’autres ; le principal but de cet article est de montrer la cohabitation des langages Java et Scala sur un même projet. Si l’envie vous prend de mettre au point une meilleure solution, libre à vous d’effectuer et de proposer vos solutions !
Lire la suite de cet article »

Le French Scrum User Group organise une belle journée de partage sur l’agilité le 31 mars prochain au Centre de Conférences de Microsoft à Issy-les-Moulineaux. La journée promet d’être enrichissante avec la présence de Harvey Wheaton, Ken Schwaber et 20 conférences tenues dans 5 salles en parallèles (voir le programme).
Je serai également présent et j’aurai la chance de vous présenter le sujet : Pratiques avancées de tests. J’y aborderai les meilleures pratiques de tests unitaires en Java. Cette présentation permettra d’identifier certains code-smell spécifiques aux tests et de mettre en œuvre des techniques de refactoring. Ce sera également l’occasion de découvrir les possibilités d’outils de tests (notamment Junit, Mockito, Fest, Spock) afin de créer des tests extrêmement lisibles et maintenables.
Il reste quelques places disponibles sur le site du scrumday, dépêchez-vous si vous n’êtes pas encore inscrit.
Cela fait un an que Duchess France a été créé. Depuis l’annonce de la création du groupe sur notre blog, le groupe a fait du chemin. Avec l’AvantJUG, le calendrier Duchess France, les groupes de travail de préparation à la certification Java, l’année fut riche en rencontres. Au commencement nous étions 4. Maintenant Duchess France en chiffre c’est :
Pour fêter nos un an et remercier toutes les personnes qui nous ont soutenus, nous vous invitons à notre premier évènement sur Paris. L’équipe Duchess France vous a concocté une soirée riche en surprises avec entre autre un Trivial Java, alors venez nombreux !
Vous trouverez toutes les informations quant à l’inscription sur notre blog :http://jduchess.org/duchess-france/blog/soiree-1er-anniversaire-de-duchess-france/.
A bientôt et merci à tous !
Les tests d’intégration impliquent souvent plusieurs composants d’une architecture technique (webservices, serveurs de mail, …). Si une action s’exécute sur un composant A qui fait appel à un composant B et si la condition à vérifier dépend de la bonne exécution de B, vous êtes dans un cas d’asynchronisme. La première idée qui vient à l’esprit est d’utiliser un timer, de mettre en pause l’exécution du test pour laisser le temps à l’action de se réaliser. On comprend très vite qu’une optimisation est à portée de main, et si au lieu d’attendre un temps constant on pouvait gagner du temps si l’action s’est réalisée plus rapidement que prévu.
Nous verrons dans cet article qu’il est possible de développer des tests automatisés capables de s’adapter facilement aux contraintes d’asynchronismes et de se passer d’un blocage à temps constant grâce à l’API Awaitility.
Lire la suite de cet article »

La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité éditeurs / SSII
Agilité
Le coin de la technique
Lire la suite de cet article »
Le 23 Mars à La Cantine (Paris) aura lieu Mongo France 2011, une journée complète de conférences dédiées à la base de données open-source et non-relationnelle MongoDB.
Lors de cette conférence, seront tenues des présentations sur la modélisation de données, l’indexation, l’administration, la réplication, le sharding et bien plus.
L’occasion de s’entretenir directement avec les ingénieurs de 10gen, d’apprendre beaucoup sur les fonctionnalités et le développement de MongoDB, et de rencontrer d’autres utilisateurs de MongoDB avec des intérêts communs.
Pour ma part, j’aurai le plaisir de présenter une session intitulée « MongoDB et Java en pratique » : Cette session couvrira un exemple de mise en pratique d’une application MongoDB avec Java. Elle s’appuiera sur un exemple concret, mis en œuvre au sein d’un projet réel, et sera étudiée du point de vu d’un développeur Java qui découvre MongoDB pour la première fois.
Format privilégié pour les échanges inter-applications, XML est l’objet de nombreuses bibliothèques Java. Cependant, ces bibliothèques masquent toutes le data binding qu’elles effectuent ; la transformation d’un document XML en grappe d’objets. Nous voilà bien démunis dès lors qu’une application produit du XML comme une simple chaîne de caractères. L’utilisation d’API bas niveau (DOM, XPath) — attachées à la structure du document — se révélant fastidieuse, la majorité des implémentations JAX-RS (Jersey, CXF) ont retenu la même API de haut niveau — concentrée sur les données — : JAXB. Faisons de même.
Lire la suite de cet article »