Publications de David Rousselie

Archi & techno

Une démarche de tests de performance

Une démarche naïve de réalisation de tests de performance est d'effectuer des améliorations successives sur un système donné, donc d'avoir un processus pseudo-itératif. Donc, pourquoi ne pas se baser sur les processus développés dans les méthogologie Agiles, voir même d'utiliser les cycles d'améliorations continues issue du Lean. En effet, on peut très facilement se rapprocher de la roue de Deming, appelée plus communément la démarche PDCA : Plan, Do, Check, Act. Le but des tests de charge est de trouver les points faibles d'une architecture dans…

Lire la suite
Archi & techno

Délégation de tâches avec ZeroMQ

La délégation de tâches en asynchrone est un moyen efficace d'alléger la charge que subissent nos systèmes. En effet, de nombreux cas d'utilisation ne nécessitent pas d'être exécutés de façon synchrone lorsqu'un utilisateur effectue une action ou qu'un événement extérieur intervient. Par exemple, lorsqu'il n'est pas nécessaire de restituer la dernière version des données et que le traitement avant restitution est coûteux en ressources, il est possible de renvoyer des données préalablement mises en cache et de déporter en asynchrone une tâche de rafraîchissement de…

Lire la suite
Archi & techno

Créer un cluster ActiveMQ hautement disponible

La tendance des bus de messagerie est aujourd'hui de proposer des modes de déploiement distribués au delà de l'architecture master/slave qui se veulent simple à mettre en oeuvre et dynamique. ActiveMQ n'est pas en reste et offre la possibilité de créer un cluster de brokers qui savent intégrer un nouveau broker et détecter la perte d'un broker. Ces informations peuvent ensuite être transmises aux clients connectés pour se reconnecter sur un autre broker du cluster pour mieux répartir la charge ou tout simplement car ils…

Lire la suite
Archi & techno

QCon London 2011: un peu de process, beaucoup d’architecture et de la performance pour passer à l’échelle

Il y a une semaine, avait lieu la 5° édition de QCon, un événement incontournable pour l'architecture de SI, pour sentir les tendances de l'industrie, pour détecter quelques nouveautés. 6 tracks parallèles, un total de 90 sessions. Impossible de participer à tout mais voici ce que nous en avons envie de retenir :

Lire la suite
Archi & techno

Git dans la pratique (2/2)

Dans une première partie, nous avons abordé la notion d'index et la différence entre une branche locale et une branche distante. Une fois les notions d'index et de branches locales et distantes bien comprises, il est possible d'aborder des fonctionnalités plus avancées de Git.

Lire la suite
Archi & techno

Git dans la pratique (1/2)

Nous avons déjà parlé de Git sur ce blog, sur la notion de DVCS, sur son utilisation pour réaliser un build incassable, et sur ces formidables outils de merge que sont les DVCS. Mais qu'en est-il des "Git va vous sauver la vie", "Git c'est trop cool, comment je faisais avant ?" ou des "Git c'est trop compliqué, j'comprends rien, pourquoi on n'utilise pas Subversion ?". Qu'en est-il de l'utilisation de Git dans un projet ou Subversion aurait pu "faire l'affaire" (ie. un dépôt centralisé,…

Lire la suite
Archi & techno

Pourquoi les Websockets ?

Après la démocratisation d'Ajax (ie. requêtes HTTP asynchrones en Javascript), plusieurs techniques ont été élaborées afin de permettre le push de données depuis le serveur toujours en utilisant HTTP. C'est grâce à ces techniques que l'on reçoit nos mails dans une application web sans avoir à cliquer sur le bouton "Refresh", que les applications de chat sont possibles sans plugin tierce (Flash, Java, ...), etc. Le W3C et l'IETF ont spécifié une API Javascript et un protocole nommé Websocket. Ce protocole connecté est adapté à…

Lire la suite
Archi & Techno

A maintainable Flex architecture

With the Flex framework, we are able to quickly develop a GUI that works, especially through the MXML language. Indeed, this language is an effective way to describe the interface with a few lines of code. The problem occurs after the POC step is done, MXML code complexity increases, ActionScript code which implements event handlers, services calls or business logic creeps slowly into the MXML code. After some time, it becomes harder to figure out where data being displayed come from (ie. which code updated…

Lire la suite
Archi & techno

Une architecture d’application Flex maintenable

Le framework Flex permet d'écrire très rapidement des IHM fonctionnelles, notamment grâce au langage MXML. Celui-ci permet effectivement de décrire l'interface avec peu de lignes de code. Seulement, voilà, une fois l'étape du POC passée, les fichiers MXML s'accumulent, le code ActionScript s'insinue petit à petit dans le code MXML pour implémenter les handlers d'événements, les appels de services, la logique métier. Après quelques temps, il devient de plus en plus difficile de savoir d'où viennent les données affichées (ie. quel code a mis à…

Lire la suite
Archi & techno

Un DSL SQL pour Java

Alors que Hibernate est très largement répandu dans les projets Java pour accéder à une base de données relationnelle, il arrive que l'utilisation en direct de l'API JDBC reste pertinente. En effet, il demeure intéressant de rester en SQL "pur" plutôt que de sortir la grosse artillerie lorsque : les données de la base sont plutôt pensées tuple qu'objet : le modèle de données ne présente pas de relations complexes entre elles. lors de la reprise d'un existant, il arrive que du code métier soit…

Lire la suite