
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 !
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 »
SLF4J (Simple Logging Facade For Java) est une API d’abstraction de frameworks de log de plus en plus adoptée. Lorsque j’ai découvert cette API j’étais surtout fasciné par l’élégance des messages paramétrés utilisant des placeholders et par la simplicité de changement du framework de logging (juste en modifiant le classpath). La puissance de l’implémentation native Logback m’a fait adopter le couple SLF4J/Logback. J’ai aussitôt commencé à les utiliser sur mes nouveaux projets et à migrer ceux en cours vers SLF4J/Logback. Hélas le passage vers SLF4J et sa mise en place sur mes nouveaux projets n’a pas été exempt de surprises.
Dans cet article je vous présente deux problèmes parmi les nombreux que j’ai rencontrés: l’erreur de binding et la perte de log. Chaque problème sera accompagné d’un exemple de code. Mais avant cela je vous propose un petit rappel sur le fonctionnement de SLF4J.
Lire la suite de cet article »
Nous avons vu dans un premier article comment initier le développement d’un composant Apache Camel, puis dans un second comment implémenter ses différentes classes.
A ce stade de notre développement nous sommes déjà en mesure d’utiliser pleinement notre composant, mais nous ne pouvons pas encore en assurer sa qualité. Pour cela, il est nécessaire d’ajouter à notre composant différentes classes de test. Bien que la testabilité de frameworks d’intégration puisse parfois paraître difficile, le projet Apache Camel fournit tous les outils nécessaires permettant de répondre à ce besoin. Nous verrons donc dans cet article comment tester le composant que nous avons développé.
Pour finir, nous verrons comment intégrer notre développement à un projet Camel, ainsi que les limites de notre composant et les solutions pour résoudre ces limitations.
Lire la suite de cet article »
Nous avons vu dans un premier article comment initier le développement d’un composant Apache Camel. Cependant, nous n’avons pas encore abordé son développement à proprement parler et notre composant ne permet pas encore de communiquer avec les serveurs Apple. Nous allons donc voir dans cet article comment implémenter les différentes classes nécessaires au bon fonctionnement de notre composant.
Pour rappel l’objectif est de développer un composant capable de communiquer avec l’Apple Push Notification Service, qui permet d’envoyer des notifications aux appareils mobiles d’Apple (iPad, iPhone, iPod Touch).
Lire la suite de cet article »
Le projet Apache Camel est un framework d’intégration basé sur l’implémentation de patterns d’intégration d’entreprise connus. Il permet d’implémenter des règles de routage et de médiation à partir d’un DSL Java ou bien via des configurations Spring au format Xml.
Apache Camel utilise la notion d’URIs, ce qui permet de travailler facilement avec différents types de transport ou modèles d’échange de messages, tels que HTTP ou JMS. De la même manière, Apache Camel est capable de travailler avec différents formats de données (Csv, Xml, Json, …).
L’utilisation des composants fournis out of the box permet de travailler avec de nombreux protocoles et formats de données. Mais qu’en est-il lorsqu’un connecteur vient à manquer?
Pour répondre à cette question, le projet Apache Camel propose une API complète permettant d’implémenter soi-même des composants adaptés à son besoin.
Lire la suite de cet article »
Tout a déjà été dit sur les logs. Pour preuve, ce n’est plus un sujet chaud, les équipes d’exploitation sont très contentes avec les logs de nos applications
.
D’accord, l’envers du décor est moins reluisant et il reste une marge de progression. Nous avions proposé dans Les 10 commandements des logs applicatives des suggestions focalisées sur le contenu des fichiers de logs ; voici aujourd’hui des propositions pour gérer les fichiers eux-mêmes. Même si le sujet peut sembler trivial, ces bonnes pratiques peuvent grandement simplifier le quotidien des équipes de production et améliorer les relations tumultueuses entre exploitants et développeurs.
Au risque de surprendre certains, les exemples de ce billet utilisent Logback plutôt que le standard de-facto Log4j car certaines bonnes pratiques que je proposerai sont impossibles à mettre en oeuvre avec Log4j. Aujourd’hui, je préfère utiliser Logback à Log4j pour gérer les logs de mes applications … même si je suis nostalgique du format ‘.properties’ pour la configuration de ces dernières
.
Bien que Logback ne soit pas le sujet de ce billet, j’ai ajouté à l’article initial un paragraphe « Pourquoi je préfère Logback à Log4j » pour expliquer ce choix.
Lire la suite de cet article »

Pour la rentrée, Xebia Training a le plaisir de vous proposer les formations Java EE suivantes :
Si vous souhaitez avoir de plus amples informations sur ces formations, n’hésitez pas à nous contacter :

Deuxième journée de la réunion annuelle des Java-holic européens. Le programme est chargé :
Suivez le guide …
Lire la suite de cet article »

Comme nous vous l’avions annoncé, Xebia était présent aux deux premières journées de la conférence annuelle Jazoon. Des soucis d’ubiquité nous ont évidemment empêché de suivre toutes les sessions, tenues dans 4 salles différentes en même temps. Nous avons dû faire des choix, parfois difficiles, pour vous relater le meilleur de cet évènement.
Premières observations :
- légère baisse d’affluence par rapport à l’année dernière,
- forte présence de JavaFX avec pas moins de six sessions, ainsi que d’OSGi,
- très bonne ambiance et organisation,
- excellents speakers, merci à eux.
Nous allons vous rendre compte des sessions suivantes :
Lire la suite de cet article »