|   Community   |   Contact Us
Solutions    |    Downloads    |    License    |    Documentation    |    Training    |    Support    |    Customers    |    About Us

Contents

NServiceBus Version 3.3.7 New Features

Documentation

Lower learning-curve. Simpler configuration. Better integration. More powerful enterprise capabilities.




Here are the major new features:

  • NSB Studio: Modeling tools integrated into Visual Studio allowing developers to focus on their services, the events they publish, and how the components of those services get deployed without getting mired down in the details of NServiceBus configuration.

  • Licensing: With the introduction of the Basic Edition, developers can now run NServiceBus in production on as many machines as they like without having to pay anything, though the throughput of each endpoint is limited to 1 message per second in the free version.

  • Second-level retries: After an endpoint has completed its immediate retry procedure, failed messages are moved to another retry process instead of the error queue. These retries can be configured to happen at greater intervals to handle outages of 3rd party web services or other resources.

    You can read more about it here.

  • NHibernate and Ninject: The dependencies on NHibernate and Ninject were upgraded - NHibernate to version 3.3.0.4000 and Ninject to version 3.0.

  • Publish/Subscribe Ordering: If subscribers start slightly before publishers for the first time, NServiceBus no longer throws an exception stating that the queue cannot be found. Subscribers retry their subscriptions if they aren't successful the first time.


V3 Features

  • Less configuration One of the main focus points of the 3.0 release is to improve the black box experience by following our conventions so only a minimal amount of configuration is needed. Queue names and other NServiceBus parameters are automatically being generated by the framework, minimizing the impact NServiceBus has on your systems’ configuration.

  • Timeout Management Performance and robustness were improved by replacing the input queue with RavenDB persistence. A working sample can be found under the Samples\TimeoutManager folder in the downloaded NServiceBus package.

  • Cross-site communication The gateway in NServiceBus 3.0 is included in the core assembly and that means that every endpoint is capable of running a gateway. The main purpose of the gateway is to allow you to do the same durable fire and forget messaging that NServiceBus has got you used to across physically separated sites.
    Read more about this topic: Multi-Site with the Gateway or start with an introduction here.
    To see it the gateway in action, see this Gateway sample at the Samples\Gateway folder under the NServiceBus package.

  • Scaling out The introduction of a MasterNode and Master profile concept will make scaling out using the distributor easier than before. Feel free to read more about it, here.
    The ScaleOut sample is a working sample, showing how to start small and then scale out by having another recieving endpoint working from another host.

  • RavenDB Integration Integrating RavenDB within NServiceBus for persisting things such as Subscription Storage and Saga Persistence, brings some benefits:
    • A much more cohesive deployment without worrying about overloading your existing relational databases
    • This will save you from having to haggle with your DBAs anytime you want production-ready storage for NServiceBus
    • The integration of RavenDB will enable us to stop merging NHibernate, but we'll still integrate with it out of the box. This will make it much easier for you to plug in your own version of NH instead of ours.

    A licensing agreement has been reached that will allow users of NServiceBus to use RavenDB to store NServiceBus-specific data like subscriptions, timeouts, and sagas at no additional cost.
    This license does not cover storing any application-specific data in RavenDB.

  • Message Attachments Large chunks of data, such as images or video files can be transported using NServiceBus V3 data bus. The only thing you have to do is put an attribute over your large property and NServiceBus will take care of the rest. This is particularly important when running in cloud environments where limits on message size is usually much lower than on-premise.
    A working sample can be found here.

  • Versioning A new feature in NServiceBus V3 called Unobtrusive mode let reference use your own events and command classes without the need to reference any NServiceBus assemblies in order to define messages. This helps greatly when doing upgrades of the infrastructure itself.
    Please see the Unobtrusive here.
    NServiceBus now follows adheres to the Semantic Versioning Specification (SemVer) guidelines.
    This simplifies version numbering and upgrades to new releases of NServiceBus.

  • NuGet packages NServiceBus is now available via Nuget.
    This mechanism will allow you to always stay updated with NServiceBus releases, either major ones or smaller. In addition. You can read more about it here.

  • Best Practices One of the new features in NServiceBus 3.0 is the introduction of two new message interfaces, IEvent and ICommand.
    The purpose is to capture more of the intent of the messages that you as a user are defining.
    This will help NServiceBus to enforce messaging best practices and avoiding common pitfalls.
    Please look at the PubSub sample, or under the Databus sample or Unobtrusive sample for examples on how the IEvent and ICommand messages are used.

Like always, samples are the best and most enjoyable way to learn NServiceBus v3.0 new features, please have a look at the \Samples folder:

After downloading

Start visual studio as administrator when working with the following samples, as they require to listen on local http port: Gateway, ScaleOut and WcfIntegration.

About NServiceBus    |    Contact Us    |    Privacy    |    Follow us on:   
Copyright 2010-2013 NServiceBus. All rights reserved