Slides from SQL Service Broker Design Preview from August 2001

I know this is a LONG time ago but these slides were never made public before and there's some interesting (and still relevant) stuff in this collection.  At the time, it was confidential but that is no longer the case.

In August of 2001, the SQL Service Broker team did a design preview and I wrote five presentations totaling 280 slides.  I presented these over a 12 hour period (actually, that time also includes a sixth talk with another 60 slides on "Fiefdoms and Emissaries" but I'll push that out later).

CAUTION: These slides are from August of 2001 and SQL Service Broker shipped in late 2005. Many things are changed! Do NOT count on these slides for accuracy of the product but they can be a big help with inspiration.

The following slide decks are now out in my new public skydrive folder.

SQL Service Broker Overview

An overview and introduction to SQL Service Broker.  This slide deck has the following major sections:

  • Introduction:  Motivates the challenges in loosely-coupled messaging, the advantages of deeply integrating messaging with the database, support for scaling and fault tolerance, and some scenarios for SQL Service Broker.
  • High-Level Architecture: This covers web services, brokers, message fragmentation, service environments (which provide a namespace for services), message-types, service-contracts, services, and service programs.
  • Programming Model:  This section covers an overview of the programming model, service instances and state management, dialogs, and again ties these programmatic concepts to the service instance.  Caution: the syntax has changed between this and the shipped product!
  • Relationship to Other Stuff: Here we visit management issues, interoperation, and look at products that create services.
  • Conclusion:  We revisit the scenarios and summarize the points made.

The SSB overview talk has 87 slides and can be found here.

SQL Service Broker Messaging

This talk examines the message protocols used in SQL Service Broker.  Reminder: This is not an accurate depiction of what is in the product!

This slide deck has the following major sections:

  • Introduction:  This covers the concepts of reliable messaging, brief discussion of web services, Internet and Intranet issues, transport support, binary and lossless transformations, and a sketch of the protocol stack.
  • Adjacent Broker Protocol: The adjacent broker protocol talks to a nearby SQL Server to propagate messages and get them closer to their destination.  This section outlines the challenges at this level with delivery (sometimes tunneled through firewalls), lifetime management, and format negotiation.
  • Endpoint Broker Protocol: The endpoint broker protocol functions across the SQL Server engines that actually constitute the two endpoints for the communication (and it layers atop the adjacent broker protocol).  This section covers dialog endpoint state, fragmentation and sequence numbers, piggy-backed acknowledgements, and unsequenced ack messages.
  • Message Formats: This covers pieces of the messages, encryption challenges, and ASCII versus binary sections of the SOAP message.
  • Monolog Contracts: Monologs were not implemented but they are VERY interesting if you care about Pub-Sub.  This short section on Monologs covers some of the issues related to the messaging formats.  It discusses dialog contracts to implement monologs.
  • Web Services and SOAP Bubbles:  Some brief framing of the relationship of the SSB protocols to Web Services and SOAP.
  • Conclusion: a summary of the content covered.

The SSB messaging talk has 31 slides and can be found here.

SQL Service Broker Performance

This talk examines performance, scaling, and high-availability issues with SQL Service Broker.   Reminder: This is not an accurate depiction of what is in the product!

This slide deck has the following major sections:

  • Introduction 
  • Work Within a Service: This covers messages in and out of a service, service instance state management, data access from services, and scalable and highly-available ASP.NET apps.
  • Fault Tolerant Services: In this section, we cover designing services for fault tolerance, deploying services for fault tolerance, and more issues with fault tolerance.
  • Scaling and High-Performance: Here, we examine application issues for scale-up, execution of scale-up services, application issues for scale-out, and execution of scale-out services.
  • Conclusion

The SSB performance talk has 46 slides and can be found here.

SQL Service Broker Monologs

One of my favorite talks, this describes the unshipped feature of SSB Monologs.  Monologs implement a very flexible form of pub-sub.  While they are an unimplemented feature in SSB, the serious implementer could follow the guidance in this talk and avoid a lot of difficulties.   Reminder: This is not an accurate depiction of what is in the product (it has not shipped)!

This slide deck has the following major sections:

  • Monolog Overview:  This covers "What's a Monolog?", programmatic interfaces, and broker-to-broker contracts.  Included are the notions of "History versus Currency", Monolog-Groups, and Subscriptions.
  • Programming with Monologs:  This section includes programming a publisher, requesting a subscription, and monolog delivery in a subscriber.
  • Some Special Monolog Features: A really cool concept called a Monolog-Checkpoint is covered as well as the lifetime of monologs.
  • Plumbing Monologs Over Dialogs:  We examine fan-out trees for scale, plumbing the fanout using dialogs, publisher agents, and subscriber agents.
  • Conclusion:  Here we examine content syndication and content aggregation and then summarize the talk.

The SSB monologs talk has 53 slides and can be found here.

SQL Service Broker Security

Again, one of my favorite talks, this describes some of the special challenges with security that arise in a messaging and services system like SQL Service Broker.  Classic session-oriented security only works when messages are received in order.  That is just one of the challenges.   Reminder: This is not an accurate depiction of what is in the product!

This slide deck has the following major sections:

  • Security Behavior: This section covers identity, dialog authorization, monolog authorization, and auditing.
  • Encryption Concepts:  Here we examine symmetric key encryption, public key encryption, and some practical rules for using encryption.
  • Encrypting Dialogs:  In this section, we introduce a concept called "handshakes" which helps optimize the performance of certificate management in a dialog-based system.  We look at handshake certificates, messages and dialogs, and cryptographic guarantees.
  • Encrypting Monologs: Monologs are N-party communications.  We examine in this section why 2-party security works best and then how we can use a fan-out tree to implement a secure scalable publisher.
  • Conclusion

The SSB security talk has 61 slides and can be found here.

I hope these talks are fun as there's still lots of interesting concepts in them 8 years later.

- Pat