O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering NServiceBus and Persistence

Book Description

Design and build various enterprise solutions using NServiceBus while utilizing persistence enterprise objects

In Detail

Starting with the basics, this book will provide you with all the skills you need to successfully design, develop, and architect C# enterprise systems with ESBs. From the beginning itself, this book will cover how ESB persists data and messages, how to create different enterprise scenarios, and how to design and customize different areas of NServiceBus. You will be taken through IBus characteristics followed by Persistent and NServiceBus Saga architectures. You will get to know about the basics of persistence and the supporting frameworks for persistence, followed by SQL queuing and database logging.

This will be followed by an in-depth look at the Saga architecture, which will cover the mechanics, message mapping, and internal configuration, as well as tips on how to avoid certain common errors. You will get to know how ESBs provide an enhanced quality of software through the use of security, logging, monitoring, notification, and persisting objects and messages. You will also become acquainted with persistent entity snippets and labs, and will gain an insight into workflows as well.

What You Will Learn

  • Create and customize messages to be used in various enterprise architectures using ESB designs
  • Use various tools for monitoring and sending notifications for NServiceBus using persistence
  • Generate examples to cover the various uses of NServiceBus using persistence for recurring business requirements
  • Design NServiceBus solutions for various uses
  • Understand the different components of NServiceBus and its configurations
  • Build enterprise systems with NServiceBus with minimal effort
  • Extend the use of ESBs for future use

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Mastering NServiceBus and Persistence
    1. Table of Contents
    2. Mastering NServiceBus and Persistence
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
        3. Instant updates on new Packt books
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. NServiceBus Persistence Introduction
      1. Introduction to SOA
        1. The need for metadata
        2. The need for persistence patterns
        3. Fallacies of distributed computing
        4. The need for sagas
        5. A real-life saga
      2. Beginning an NServiceBus saga
      3. Beginning NServiceBus assemblies
      4. Summary
    9. 2. The NServiceBus Architecture
      1. Benefits of NSB
        1. More on endpoints
        2. The application security perspective
        3. NSB hosting versus self-hosting
        4. Using Powershell commands
      2. Message exchange patterns
        1. The publish/subscribe pattern
        2. Request-response messages
          1. Saga services
        3. Some saga features
        4. Timeout messages
        5. Message mutations
        6. Message encryption
        7. Cluster messaging
          1. Performance monitoring
        8. Gateway messaging
        9. Data bus messaging
      3. Storage patterns
        1. Backing it up
      4. Monitoring
        1. Sample e-mail notification
      5. Let's recap
      6. Summary
    10. 3. Particular Service Platform
      1. ServicePulse
      2. ServiceControl
      3. ServiceInsight
      4. ServiceMatrix
        1. Introducing custom checks
        2. Publish/subscribe through ServiceMatrix
      5. Sagas through ServiceMatrix
      6. Summary
    11. 4. Knowing Your IBus
      1. Understanding the basics of IBus
      2. Configuring IBus
        1. Interface configurations
        2. Using the Fluent Configure.With()
          1. The transport storage
          2. The saga persister
          3. The timeout persister
          4. The gateway persister
          5. The subscription storage
          6. Finding more configuration settings
      3. Using saga and NHibernate
        1. Defining NHibernate
        2. The saga database data
        3. Logging
        4. Buyer's remorse code walkthrough
          1. Message mutators
          2. Encryption
      4. Services and deployment
      5. Summary
    12. 5. Persistence Architecture
      1. Persistence basics
      2. Supporting frameworks for persistence
        1. Introducing Entity Framework
        2. XML serialization
        3. C# reflection
      3. The PayQueue sample
      4. The SQL queuing sample
      5. Database logging
      6. Summary
    13. 6. SQL Server Examples
      1. The SQL Server example
      2. The MVC-EF example
      3. Entity Framework snippets
        1. Creating tables with EF
          1. Creating tables from the EF code
          2. Creating tables from EF models
        2. Code-first EF
        3. Code-first EF and configurations
      4. Unit testing NServiceBus
        1. Message handler unit testing
        2. Saga handler unit testing
      5. Summary
    14. 7. Persistent Snippets
      1. Entering NHibernate
      2. Using saga and NHibernate
        1. Defining NHibernate
        2. The saga database data
      3. Logging
      4. Entering RavenDB
      5. Entering MongoDB
        1. NServiceBus MongoDB persistence
      6. Summary
    15. 8. The NSB Cloud
      1. Introducing the cloud and NSB
      2. Introducing PaaS, IaaS, and SaaS
      3. Cloud vendors
      4. Using Microsoft Azure
        1. Virtual machines
        2. Azure Service Bus
        3. Service bus for Windows Server
        4. Other Azure services
      5. Adding NServiceBus
        1. NServiceBus for Azure
        2. Azure support for NServiceBus
      6. NSB in the mobile world
      7. Recap
      8. Questions that were answered
      9. Summary
    16. Index