Conception

L’architecture 3-tiers à l’heure du serverless

L'architecture 3-tiers est un modèle très connu et répandu. C'est une spécialisation du modèle multi-tiers qui propose de découper l'architecture logique en 3 couches. Ce modèle est-il toujours applicable avec une architecture serverless ? Principe Une architecture en 3 couches Ce modèle d'architecture se décompose en 3 couches logiques bien distinctes qui ont chacune un rôle bien défini : La couche de présentation correspond à l'interface utilisateur. Son rôle est d'afficher les données et de permettre à l'utilisateur final d'interagir…
Lire d'avantage
Conception

RAML 1.0 est disponible

Plus de 6 mois après l'annonce de RAML RC1, RAML GA est enfin disponible ! Le projet RAML profite de cette annonce pour faire un rapide tour d'horizon des nouvelles fonctionnalités. Sur le blog de Restlet, Guillaume Laforge rappelle la présentation de Michael Stowe sur RAML : Et surtout, il liste les quelques changements qui rendent RAML et incompatibles. Il ne reste plus qu'à attendre que les outils de l'éco-système RAML supportent cette nouvelle version de façon stable.
Lire d'avantage
Conception

Swagger est mort, vive l’Open API Initiative !

Aujourd'hui, nous n'allons pas parler de RAML mais plutôt de Swagger. Ce framework se compose d'une spécification ainsi qu'un ensemble d'implémentations pour décrire, produire, consommer et visualiser des APIs RESTful. Même si l'adoption de RAML progresse, Swagger reste la solution la plus connue et répandue pour documenter vos APIs RESTful. Ce ne sont d'ailleurs pas les seuls solutions car il existe bien d'autres DSL d'APIs RESTful. Alors que RAML permet d'avoir une approche Top-Down (Contract-First), Swagger est initialement orienté Bottom-Up…
Lire d'avantage
Conception

RAML – bientôt en version 1.0

Le projet RAML vient d'annoncer la Release Candidate de la version La spécification RAML est disponible sur le site officiel. Si vous de connaissez pas encore RAML, il n'est pas encore trop tard. C'est un langage de description d'une API RESTful. Si Swagger est une des solutions la plus pertinente et la plus utilisée pour documenter une API existante, ce n'est pas le cas pour une nouvelle API. RAML a été créé pour combler ce manque et se place au…
Lire d'avantage
Conception

Docker – en route pour la SOA et les micro-services !

Comme certains l'on déjà pu annoncer, la révolution Docker est en ordre de marche. Je n'ai pas encore pris le temps de bien expliquer ce qu'était Docker. En revanche, voici quelques avantages et surtout les impacts que cet outil peut avoir sur l'architecture de vos solutions. VMs légères ? Docker n'est pas une solution de VMs mais de containers. Cependant, la comparaison est facile et tout le monde est tenté de la faire. Dans un souci de vulgarisation, on peut…
Lire d'avantage
Conception

Docker – au revoir les VMs, bonjour les containers

Le projet Docker est solution de « containerisation » publiée sous licence OpenSource il y a un an et demi et qui fait énormément parler de lui depuis un an. Il est déjà utilisé par de nombreux actueurs majeurs du web tels que : Google, Spotify, Red Hat, AWS, Baidu, Au début du mois, OVH (3ième hébergeur mondial) a annoncé l'arrivée de Docker dans leur offre cloud RunAbove. Une semaine plus tard, cette solution double quasiment la taille de son…
Lire d'avantage

Il était une fois le Singleton en Java

Parmi tous les Design Patterns, le plus connu est sûrement le Singleton. Malheureusement, son implémentation n'est pas aussi triviale qu'il n'y parait en Java. Voici donc quelques exemples d'implé Eager initialization Si l'application a toujours besoin de cette instance et que sa création ne mobilise pas trop de ressource, il est acceptable de l'écrire ainsi : public class EagerSingleton { private static final EagerSingleton instance = new EagerSingleton(); private EagerSingleton() {} public static EagerSingleton getInstance() { return instance; } }…
Lire d'avantage

SOA – Introduction à l’architecture orientée services

L'architecture orientée services est plus communément connue sous le sigle SOA pour Services Oriented Architecture. Cette notion est de plus en plus en vogue. Et tout laisse à penser que ce n'est pas prêt de s'arrêter. Mais qu'est-ce que la SOA ? Lorsque l'on pose cette question, la réponse la plus courante est : "les services web". Or, je trouve que cette réponse est très réductrice. C'est comme si l'on définissait une architecture client/serveur par le TCP/IP. En effet, les…
Lire d'avantage

Appliquer le modèle MVC en Ajax

Je vous ai souvent parlé du modèle de conception MVC et de ses avantages. Ajaxian vient de relater un article de PHPied sur la mise en application du modèle MVC avec Ajax. Selon l'auteur, avec Ajax, la vue contient des pages HTML, des feuilles de style CSS et des scripts Javascript pour la mise à jour du HTML. Le contrôleur contient des scripts Javascripts pour les comportements et du code PHP pour aiguiller les requêtes. Et pour finir, le modèle…
Lire d'avantage

Répartition du développement verticale ou horizontale ?

Lorsqu'un projet a une taille conséquente, il est nécessaire de répartir les tâches de développement entre les développeurs. Avec le développement multi-couche, cette répartition peut se faire de deux façon différentes : L'approche horizontale L'approche verticale Selon Mastering EJB 3rd Edition, l'approche horizontale permet d'avoir des personnes ultra-spécialisées dans un domaine technologique correspondant à la couche sur laquelle ils ont l'habitude de travailler. Alors que l'approche verticale permet aux personnes d'obtenir une excellente maîtrise du fonctionnel lié au métier. La première…
Lire d'avantage