BT

Simplification de l'architecture des systèmes avec les évènements

par Jan Stenberg , traduit par Jawher Moussa le 07 juin 2013 |

Utiliser les évènements pour les interactions entre de petits composants métiers permet de simplifier l'architecture d'un système, a expliqué Russ Miles en parlant de la simplification d'architecture grâce aux évènements.

Durant une keynote à la QCon Londres 2013, Barbara Liskov a déclaré que la simplicité est d'une extrême importance. Russ Miles, consultant senior, est entièrement d'accord. D'après ses expériences, il constate que souvent les équipes de développement sont ralenties par la taille et la complexité croissante du code qu'ils écrivent, et qu'il croit que la meilleure façon de continuer à avancer est de simplifier l'architecture.

D'après Russ, découper un système en composants est nécessaire pour simplifier son architecture. Par contre, il n'est pas facile de caser de tels composants dans un modèle classique à plusieurs couches. Ainsi, il a créé un nouveau modèle "Bouée de sauvetage" (Life-Preserver) qui se présente comme un anneau, où les composants qui gèrent l'intégration avec l'infrastructure sont sur l'anneau, tandis que les composants métier se retrouvent à l'intérieur. Il note que ce pattern n'est pas sans rappeler l'architecture hexagonale créée par Alistair Cockburn.

Événements

L'étape suivante consiste à définir comment les différents composants peuvent collaborer. Vu qu'on ne connait pas d'avance toutes les interactions possibles, une solution flexible serait d'envoyer des évènements pour échanger des messages. Ainsi, le contrat d'un composant se compose uniquement des évènements qu'il reçoit ou qu'il envoie, ce qui revient à utiliser une architecture orientée évènement standard mais au niveau du composant.

Pipes et Filters

En allant encore plus loin, Russ simplifie ses composants à presque des fonctions, tandis que les évènements ne sont plus fortement typés mais plutôt juste des données simples, sous la forme d'un document ou du XML par exemple. Ainsi, les composants au coeur du système communiquent de la même façon que les composants d'intégration avec le monde extérieur. Avec ce modèle, l'architecture se résume à un échange de données immuables entre des micro-composants, qui exécutent un unique traitement sur les données en entrée pour produire des données en sortie, ce qui correspond au pattern Pipes et Filtres, mais à l'intérieur d'une architecture système.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2013 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT