La version 4.0 de NServiceBus, le bus de services pour .NET, est sortie récemment, ajoutant le support de RabbitMQ et d'ActiveMQ à celui de MSMQ, qui était jusqu'à présent le mécanisme de queuing principal. D'après Udi Dahan, le fondateur de NServiceBus, il s'agit de la plus grosse release de l'histoire du produit, les améliorations comprenant :
- La conformité complète à AMQP au "wire level", c'est-à-dire conforme au format attendu au niveau transport sur le réseau, lorsque RabbitMQ ou ActiveMQ sont utilisés
- La capacité à utiliser des tables de bases de données comme queues, pour cibler les organisations souhaitant tout garder dans une base de données centralisée
- Des performances améliorées de façon significative en ce qui concerne le transport MSMQ
- Un bus "en mémoire" pour prendre en charge les évènements de manière asynchrone, par exemple pour implémenter le pattern Domain Events, dans la même transaction
- La mise à jour et introduction de nouveaux compteurs de performance et de débit
- Une version embarquée de RavenDB (base de données orientée documents, utilisée par défaut pour le stockage interne), upgradée en version 2
- Une configuration NHibernate et une installation du transport simplifiées
- Une licence de base supportant le multithreading
- Un nouvel environnement de prise en main qui permet aux utilisateurs de tester NServiceBus sans installation. Cet environnement est disponible en accès à distance sur une machine hébergée sur le Cloud, disposant d'un NServiceBus préinstallé. Un atelier de "scale-out" à 4 machines a aussi été ajouté.
L'équipe a également mis à disposition deux outils en version beta, tous deux intégrés à Visual Studio :
- ServiceMatrix, un outil de modélisation permettant aux développeurs de travailler à un niveau d'abstraction plus élevé lors de la conception de solutions "message-driven", orientées service. L'outil présente une vue logique du système, montrant par exemple les contrats exposés par les services, les endroits où les messages sont envoyés et les évènements causés par ces messages.
- ServiceInsight, un outil de debugging permettant de visualiser et de gérer les messages traversant les files d'attente et les processus, ce qui sans cela peut être difficile dans un système asynchrone.
NServiceBus applique les principes du messaging à base de files d'attente et fournit les éléments nécessaires à la construction de systèmes orientés service et "event-driven". Dans ce type d'architecture, certains services publient des évènements métier, d'autres y souscrivent, selon le pattern publish/subscribe et un mécanisme de transport à base de files d'attente.
NServiceBus est un produit open source disponible sous licence commerciale Reciprocal Public License 1.5 (RPL-1.5).
Un compétiteur éventuel est MassTransit, sous licence Apache 2.0.