Build your own service bus – par ou commencer ?
Julien on nov 29th 2010
Quelle meilleure façon de réveiller ce blog que de parler de la dernière soirée Alt.net ? Soirée sur le thème de « Build your own service bus » et co-présentée par Romain Verdier et moi-même.
Comme faut pas pousser mémé, je me contenterai d’inclure les slides et je me concentrerai sur un point précis. D’autres personnes plus littéraires que moi auront probablement l'occasion de vous résumer la soirée ! :-)
Hey Julien, c’est marrant ton histoire, mais il est ou l’arrêt le plus proche pour monter dans ton bus?
Tout d’abord, il faut bien comprendre qu’un service bus n’est qu’un framework pour simplifier la communication dans un système distribué. Voici donc quelques idées à creuser pour assimiler les concepts…
1. Acquérir des notions de messaging
Je vous suggère notamment de regarder MSMQ (ou son pendant portable et open source : ActiveMQ) et RabbitMQ. Ce dernier à la particularité d’utiliser un broker (les queues sont donc distantes) tandis que MSMQ permet la communication point à point mais rend l’écriture de scénarios publish-subscribe plus complexe. Pourquoi ne pas développer un petit chat pour se faire la main ? Cet exercice vous forcera a explorer les différents modèles sur le PubSub ou encore à étudier un minimum la serialization (astuce : n’essayez pas de recoder un protocole de communication a base de commandes en texte comme le FTP, on peut faire plus sympa ! :-)) .
En bonus, je vous conseille vivement d’acheter ce livre pour noel :

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
This book provides a consistent vocabulary and visual notation framework to describe large-scale integration solutions across many technologies. It also explores in detail the advantages and limitations of asynchronous messaging architectures. The authors present practical advice on designing code that connects an application to a messaging system, and provide extensive information to help you determine when to send a message, how to route it to the proper destination, and how to monitor the health of a messaging system. If you want to know how to manage, monitor, and maintain a messaging system once it is in use, get this book
2. Acquérir des notions d’architecture sur les systèmes distribués et la SOA
Comme expliqué plus haut, un service bus n’est qu’un framework. Avant de se lancer tête baissée, il faut comprendre les principes sous-jacents. Mon auteur préféré sur la question est Udi Dahan, l'homme derrière NServiceBus...
Udi étant un conférencier assez actif, il est facile de trouver nombre de ses présentations sur le net. En voici quelques une :
- Avoid a Failed SOA: Business & Autonomous Components to the Rescue
- Udi Dahan on SOA @ E-VAN 01 June 2009
- Udi Dahan presents on Reliability, Availability, and Scalability
Et pour les plus curieux d'entre vous (disclaimer : on sort du cadre des service bus !) :
Enfin, si vous avez beaucoup de transport en commun, vous pouvez également trouver un paquet de podcasts :
- Hanselminutes Podcast 176 - NServiceBus with Udi Dahan
- Herding Code 67: Udi Dahan on Scalability
- Deepfried Bytes : Getting the Right Message about NServiceBus with Udi Dahan
3. Explorer les framework open sources
Et notamment leurs samples !
- NServiceBus
- MassTransit
- Rhino Service Bus (GL HF comme on je disais dans le temps, parce que niveau documentation, Rhino Service Bus est limité !)
4. La méthode du Sioux !
Si vous ne connaissez rien a tout ça mais que vous déchirez quand même en développement, jetez un œil à notre dernière offre d'emploi et contactez-mois si ça vous intéresse ! On se fera un plaisir de partager avec vous tout ce qu'on sait ! :-)
Bon courage !
Filed in .NET, Alt.net, Command Query Responsibility Segregation, Rencontres Alt.net | One response so far

