Les tests fonctionnels en .NET

Dans cet article, nous avons décidé de vous parler de tests fonctionnels appliqués à du code .NET.

Vous pourrez (re-)découvrir l’intérêt et le fonctionnement de la mise en place ce type de tests sur votre application.

Il faut savoir qu’à ce jour, il existe des dizaines de frameworks .NET de tests fonctionnels. C’est pourquoi nous avons décidé de nous concentrer sur les trois frameworks qui semblent les plus pertinents aujourd’hui, à savoir :

  • Concordion
  • Fitnesse
  • Specflow

Lors de la rédaction de cet article, nous avons développé en parallèle une petite application, sur laquelle nous avons mis en place les trois frameworks sus-cités. Aussi vous pourrez  voir de vous-même les principes évoqués !

Lire la suite

Multitâche sans thread 5/5 – async/await


Programmation réactive

Après avoir étudié quatre approches permettant de faire du multitâche sans threads, nous allons voir la dernière, probablement la plus sympathique pour le développeur. C’est une évolution syntaxique des langages permettant de porter le principe d’un pool de hard-threads unique à tout un programme, et donc de porter dans la syntaxe de quoi programmer facilement avec le modèle réactif.
Lire la suite

Comment j’ai battu CORBA

Dans le domaine de l’intégration, il existe encore des cas d’usages où la technologie CORBA restait souveraine par manque de challengers suffisamment performants. Je pense à des services interopérables avec plusieurs milliers d’appels synchrones par seconde et une latence en dessous des 5 millisecondes.

Avec mon client, j’ai fait le pari que je pouvais atteindre le même niveau de performance avec des technologies JAVA en utilisant le standard JSON sur HTTP (REST) …

… mais il ne m’a pas cru. (Sic)

Disclaimer : CORBA est une technologie riche pouvant mettant en œuvre des objets distribués avec une gestion de callbacks mais aussi des transactions distribuées. Le cas présenté ici se « limite » à l’appel de méthodes stateless comme on le ferait à la manière d’un web service ou de systèmes dits « Remote Procedure Call » (RPC) et ne représente pas donc la totalité des possibilité offertes.

Lire la suite

Aerospike : du Clé-Valeur sous stéroïdes

Aerospike est un Key-Value store haute performance édité par la société du même nom, anciennement CitrusLeaf.

Quelques chiffres pour illustrer l’aspect haute performance : on parle ici de plusieurs centaines de milliers à un million d’opérations par seconde par serveur (sur une instance AWS C3.8XL à $1.308 /h) avec 99,9% des requêtes ayant une latence inférieure à 5 millisecondes.

Aerospike (la société) a “Open Sourcé” en juin dernier le fruit de 5 ans de travail afin de s’ancrer dans le panorama des solutions de stockage NoSQL.

En quelques mots, Aerospike est comparable à un Redis mais avec une architecture distribuée shared nothing proposant sharding et réplication permettant ainsi une scalabilité linéaire.

Il est à noter qu’Aerospike est conçu et implémenté pour tirer partie d’un stockage Flash (SSD) en accédant directement aux disk blocks.

Dans les fonctionnalités intéressantes que nous allons détailler par la suite, nous pouvons nommer :

  • Multi-DataCenter
  • Rack awareness
  • Index secondaires
  • TTL
  • User Defined Functions (MapReduce, …)

Lire la suite

Frameworks front-end, talking about a revolution?

DotJS, meetup majeur du monde Javascript a eu lieu en novembre dernier à Paris et nous avons eu droit à un florilège de ce qui se fait de mieux en qualité de speakers.

L’ensemble des sujets abordés étaient globalement intéressant même s’il est à regretter l’absence de mise en application pratique des différents sujets qui aurait permis de quitter la conférence avec des idées concrètes à utiliser sur ses propres projets.dotJS

Le fait le plus marquant fût pour ma part  l’absence d’AngularJS, sujet jamais abordé ni même effleuré. Quand on a passé ses deux dernières années à s’y intéresser, il y a de quoi être dubitatif.
Comment le framework le plus tendance du marché a t-il pu être snobé de la conférence, encore plus au moment où son actualité est des plus débattues dans le monde du développement web?

On pourrait penser à une omerta technologique par la communauté, ayant eu pour mot d’ordre de ne pas parler de ce qui est populaire… Mais essayons de rester rationnel!

Lire la suite

Designer une API REST

La période de fêtes approchant à grands pas, nous vous proposons une “Quick Reference Card” sur le design des API dont l’objectif est de synthétiser les bonnes pratiques de conception et de design d’API REST.
➡ Télécharger l’API Design – Quick Reference Card
OCTO – RESTful API Design

Si vous avez plus de temps, le présent article reprend – point par point – les éléments de la « carte de référence », en étayant et justifiant les propositions.

Bonne lecture!

Lire la suite

Multitâche sans thread 4/5 – Pipeline/composition


Programmation réactive

Le modèle réactif propose de n’utiliser que des hard-threads (exploitant les cœurs  des processeurs) à la place des soft-threads (simulant des traitements parallèles). Nous avons regardé comment les langages de développement évoluent pour proposer différents modèles permettant de proposer des traitements concurrents, sans pour autant utiliser des soft-threads.

Nous continuons notre exploration avec l’approche que l’on peut appeler pipeline ou composition.
Lire la suite

La transformation de Microsoft

Parmi toutes les surprises de cette année 2014, le changement de cap adopté par Microsoft doit être l’une des plus belles.
En effet, vous n’avez pas pu le rater, le nouveau PDG de Microsoft a confirmé le passage en open source du framework .NET.

Certes, la montée de Satya Nadella en tant que PDG de Microsoft a été une bouffée d’air frais pour l’entreprise, qui souffrait encore trop d’une mauvaise réputation auprès de la communauté des développeurs et avait pris du retard sur certains aspects, en particulier si l’on considère les périphériques mobiles.

Dans ce nouveau chapitre,  Microsoft semble résolu à effacer tous ses péchés.

Lire la suite