Avant de commencer l’année 2012, je vous propose un petit quiz adapté d’un cas réel.
Un programme standalone parse un fichier et insère les données parsées dans une base de données. Le même programme est exécuté dans trois régions différentes à savoir l’Europe, l’Amérique et l’Asie. Les entités persistées ont toutes un champ uid unique. La valeur de ce champ doit être sous la forme ‘E-1234′ ce qui est interprété comme l’enregistrement n° 1234 d’Europe. La base de données est la même pour les trois régions.
Lorsqu’on lance le programme dans les trois régions en parallèle, une exception est levée, laquelle et pourquoi est-elle levée ?
Lire la suite de cet article »

La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.
Actualité éditeurs / SSII
Lire la suite de cet article »
Lors du XKE du mois de novembre, j’ai présenté une introduction à la programmation fonctionnelle. Cette présentation fût suivie d’une partie Hands On où les participants ont pu s’essayer (parfois dans la douleur, mais toujours dans la bonne humeur) à ce paradigme avec le langage Java. Je vous propose dans cet article un ensemble de solutions sur les exercices présentés. De quoi occuper vos longues soirées d’hiver.
Lire la suite de cet article »
Dans un récent billet, je vous ai présenté JPDA afin de résoudre le problème d’envoi de mail à l’interception des exceptions levées dans une application legacy. Dans cette deuxième partie de la série, je vous propose de résoudre le même problème avec l’API Java Instrumentation.
Lire la suite de cet article »
Notre quotidien de développeur consiste très souvent à modifier du code existant. Certes, nous avons parfois la chance de développer de nouveaux modules tout frais, tout neufs et le Test Driven Development est à son avantage.
Mais comment peut-on mettre en pratique le TDD sur du code déjà écrit, parfois mal pensé et non testé. Cet article va partir d’un exemple concret, une classe comme on pourrait en trouver sur tous les projets. Le but est de commencer une démarche TDD et de pousser au maximum son efficacité (mise en évidence d’un bug potentiel, ajout d’une nouvelle fonctionnalité, refactoring du code et refactoring des tests). Au final, la classe sera beaucoup plus apte à subir le changement et surtout, elle sera testée et couvrira tous les cas d’utilisation.
Lire la suite de cet article »
Voici le second épisode de la série de questions / réponses échangées lors de la soirée Cloud organisée par Cyrille Le Clerc avec Sacha Labourey.
Tous les podcasts Xebia France :Les vidéos de la soirées :
Questions-Réponses sur le Cloud avec Sacha Labourey et Cyrille Leclerc - Épisode 2 [ 31:36 ] Download 
Alors que la version 2.0 de Grails vient tout juste d’être publiée, si vous n’avez pas eu la possibilité de participer à la première édition de l’atelier, une seconde chance vous est offerte de découvrir ce framework web « haute productivité » à travers une réédition de son atelier d’initiation en mode participatif.
Pendant cet atelier nous aborderons ensemble :
- le démarrage d’un projet from scratch avec quelques classes de domaine liées entre elles,
- la mise en place de la sécurité, avec gestion des utilisateurs et des rôles fonctionnels,
- l’utilisation de JSON et de JQuery pour créer un champ autocomplété en AJAX,
- la mise en place d’un moteur de recherche full-text sur nos classes de domaine,
- la mise en place d’un éditeur WYSIWYG (CKEditor),
- plus si affinités (ou plutôt si le timing est bon
) : création de taglibs, de plugins, bref : les prolongations dont vous êtes les héros.
Après une rapide présentation formelle pour cadrer le débat et exposer les concepts de base du framework, c’est toi, public adoré, qui prendra le clavier. Dans un environnement préparé et sous la houlette d’un animateur, chaque participant pourra mettre la main à la pâte pour faire avancer le projet.
- Une connaissance du langage Groovy vous assurera une meilleur compréhension mais n’est pas nécessaire.
- Grails 2.0 servira de support à l’atelier.
Cet atelier aura lieu le 10 janvier 2012 dans les locaux de Xebia au boulevard Haussmann. Vous pouvez dès maintenant vous inscrire sur Eventbrite.
Venez nombreux (malheureusement dans la limite des places disponibles)
Comme promis dans le premier article de cette série sur le “making off” du workshop Continuous Delivery, nous vous présentons plus de détails sur la préparation de l’infrastructure de l’atelier. Nous prévoyons de reprogrammer cet atelier au mois de janvier (pour ceux qui sont intéressés, soyez attentifs au calendrier des Tech Events Xebia et Eventbrite!)
Lire la suite de cet article »
Répondant à la demande, le 31 janvier nous rééditerons la soirée des 13 et 20 octobre derniers !
La saison est au Continuous Delivery ! Venez découvrir comment automatiser le déploiement d’une application java web typique sur des serveurs Tomcat via une usine GitHub/Jenkins/Nexus.
Nous verrons plusieurs techniques de déploiement, de la plus simple à la plus sophistiquée :
- déploiement sur Tomcat avec des commandes shell lancées par Jenkins au lieu de les lancer à la main ;
- utilisation du tomcat-maven-plugin avec les conseils d’Olivier Lamy, lead developer du plugin et committer Tomcat ;
- homogénéisation des déploiements du dev à la prod avec Jenkins associé à Rundeck pour gérer des commandes shell. Vincent Behar, committer Jenkins et ‘owner’ du jenkins-rundeck-plugin nous présentera cet outil Open Source en vogue chez les OPS ;
- DeployIt : l’outil intégré d’automatisation des déploiements made in Xebia.
Pour avoir plus de détails sur le déroulement de l’atelier et pour vous inscrire, nous vous invitons à utiliser la page dédiée sur Eventbrite.

La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.
Actualité éditeurs / SSII
RIA
Le coin de la technique
Lire la suite de cet article »