BT

Vaughn Vernon et la conception Réactive pilotée par le domaine

| par Jan Stenberg Suivre 34 Abonnés , traduit par Maxence Labusquière Suivre 0 Abonnés le 03 déc. 2013. Durée de lecture estimée: 2 minutes |

Utiliser le Modèle Acteur avec le Domain Driven Design, DDD, peut permettre de palier les problèmes d’architecture, typiquement trouvés dans des architectures évènementielles ou hexagonales. Vaughn Vernon, auteur de Implementing Domain-Driven Design, l’a expliqué dans une récente présentation sur le « DDD réactif » avec Scala et Akka (implémenté grâce au Modèle Acteur). Le nouveau terme « Réactif » qui n’est apparu que tout récemment n’est pas véritablement un nouveau concept. En effet, en tant que développeur, nous avons l’habitude des évènements et des messages mais ce terme apporte de nouveaux changements pour Vaughn. Il a poursuivi sa présentation en définissant quelques caractéristiques essentielles du Modèle Acteur :

  • Message Asynchrone Direct, un acteur envoie un message de manière asynchrone et directement.
  • Lock Free Concurrency. Les verrous ne sont pas gérés par les acteurs, seulement par l’infrastructure ;
  • Ne rien partager. Les acteurs ne savent pas l’état des autres acteurs.

Une des premières motivations de Vaughn pour utiliser le DDD est qu’il souhaite modéliser le cœur du métier de manière explicite. Mais une architecture type orientée événement, où l’on a été explicite à propos du modèle et des évènements du domaine, n’est jamais très claire. En effet, lorsqu’un évènement est publié, il peut être difficile de trouver le code qui réagira à sa publication, et d’autant plus son impact sur le modèle. Par contraste, Vaughn pense que le Modèle Acteur est très explicite ; lorsqu’un acteur envoie un message à un autre, c’est écrit clairement dans le code.

Une des questions posées par Vaughn est de savoir comment profiter de la combinaison du Modèle Acteur et du DDD ? S'agit-il seulement de messages envoyés entre différents agrégats avec la même architecture qu’avant ? La réponse est non et il pense que l’on peut se débarrasser de concepts d’architecture inutiles que l’on trouve dans les architectures évènementielles et hexagonales. Avec un bon framework il est persuadé que l’on peut simplement réduire l’architecture à des contrôleurs et des agrégats. Les contrôleurs sont alors les acteurs sachant où envoyer les messages pour interagir avec les agrégats du modèle. Il ne pense pas qu’il y ait de réelle limitation à l’utilisation du modèle acteur et du DDD. Il pense que cette combinaison peut-être utilisée dès que l’on a des besoins de haute scalabilité, de haute disponibilité, et de rapidité.

Akka est construit pour la JVM, mais Vaughn travaille actuellement sur une implémentation appelée Akka.NET qui est un effort pour porter Akka au C# et F#.

Un peu plus tôt cette année, Vaughn a mentionné une fondation pour promouvoir le DDD combiné au modèle acteur. Le Reactive Manifesto a été publié en septembre 2013 et décrit les idées principales derrière le concept de DDD Réactif.

Evaluer cet article

Pertinence
Style

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

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT