Microsoft SQL Server 2005 Notification Services [NOOK Book]


Microsoft SQL Server 2005 Notification Services covers the basic problems of notification applications, describes the SQL Notification Services platform and describes how to use it to build rich, scalable notification applications. Written by Shyam Pather, the Technical Lead for the SQL Notification Services Team, this book is based on his three years of experience teaching SQL Notification Services to new customers. This book is your complete resource for learning SQL Notification Services application ...

See more details below
Microsoft SQL Server 2005 Notification Services

Available on NOOK devices and apps  
  • NOOK Devices
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK Study

Want a NOOK? Explore Now

NOOK Book (eBook)
$27.49 price
(Save 42%)$47.99 List Price


Microsoft SQL Server 2005 Notification Services covers the basic problems of notification applications, describes the SQL Notification Services platform and describes how to use it to build rich, scalable notification applications. Written by Shyam Pather, the Technical Lead for the SQL Notification Services Team, this book is based on his three years of experience teaching SQL Notification Services to new customers. This book is your complete resource for learning SQL Notification Services application development and the underlying architectural concepts.

Read More Show Less

Product Details

  • ISBN-13: 9780132714211
  • Publisher: Pearson Education
  • Publication date: 2/26/2002
  • Sold by: Barnes & Noble
  • Format: eBook
  • Edition number: 1
  • Pages: 720
  • File size: 4 MB

Meet the Author

Shyam Pather was the Development Lead on the SQL Server 2005 Notification Services team at Microsoft. He joined the Notification Services team when it was formed in late 2000, made key contributions to the product's design and architecture, and implemented several components of the Notification Services compiler and execution engine. Since the first public release of SQL Server Notification Services in August 2002, Shyam has delivered numerous technical talks about notification application development, deployment, and administration at various conferences.

Before joining the SQL Server group, Shyam worked in the Windows Networking organization at Microsoft. As a developer on the Universal Plug and Play (UPnP) team, he helped define the UPnP 1.0 Device Architecture and implemented the UPnP Control Protocol in Windows XP. Prior to working on UPnP, Shyam was a developer in the Windows Network Driver Infrastructure team, working on Raw Channel Access and a unified driver model for voice and data.

After SQL Server 2005 shipped, Shyam moved to Microsoft's Data Programmability team to work on the next generation of data access APIs. He currently runs a small development team building object-relational mapping technology.

Shyam lives in Seattle, Washington. He can be reached via email at or through his website, .

Read More Show Less

Read an Excerpt


A business traveler's cell phone beeps; he's received a text message informing him that his flight's departure gate has been changed. A system administrator receives a message on her pager alerting her that a critical server has gone down. An inventory manager at a grocery store gets an email telling him that the stock level for a popular product has dropped below the threshold for reordering.

These are examples of personalized notifications reaching people when the information is most relevant, on whatever device they have available. In today's information-driven world, notifications such as these have real business value. Timely information can attract customers, make employees more productive, and enable agile decision making. The software systems that generate and deliver these notifications extend the reach of information beyond the corporate desktop.

Building notification software presents several challenges. Every day, people are bombarded with an overload of irrelevant information. For a notification system to add value, it must deliver only targeted, focused information based on the needs and preferences of each user. Doing this correctly requires sophisticated matching and filtering capabilities.

Also, notification systems must be reliable because they're often used to deliver mission-critical alerts. They must be scalable so that they can support millions of users and high volumes of data, without requiring excessive hardware. They must be manageable and fit seamlessly into an existing IT infrastructure—they must not burden the operators who maintain them. Most importantly, notification systems must besecure.

Microsoft SQL Server 2005 Notification Services is a platform for building notification applications that meet all these requirements. It provides a reliable, manageable, secure base for your applications, with a rich, scalable matching engine that can filter an information stream based on the subscriptions of millions of users.

Notification Services offers a simple, declarative programming model that lets you build your application with much less development effort than would be required if you were building it from scratch. Using this programming model, you can get a working prototype of a typical application running in just a single day. Furthermore, the platform offers a number of sophisticated features, such as support for multiple languages and device types, scheduled subscriptions, user-defined matching logic, and multicast delivery, that you can incorporate into your applications by setting a few options. These kinds of beyond-the-obvious features set the most advanced notification applications apart from the rest.

This book is about building notification applications with Microsoft SQL Server 2005 Notification Services. It covers general Notification Services concepts, describes specific coding techniques used to build applications, and walks you through the process of developing a sample application, from the initial design and prototype to final deployment and administration. In addition to the basics, it covers more advanced concepts for developers who want to get the most out of the Notification Services functionality. Who Should Read This Book

This book is aimed primarily at developers wanting to learn notification application development with Microsoft SQL Server Notification Services. It assumes some familiarity with SQL and

Chapters 7–10 and Chapters 16–18 describe using managed code to build subscription-management interfaces, custom components that extend the Notification Services framework, and applications that embed Notification Services functionality. C# is used in the examples, but all .NET languages are supported. The material in these chapters assumes some familiarity with C#, the .NET Framework, and object-oriented programming.Teaching Approach

I'm a firm believer that the best way to teach is by example. In this book, I generally explain new concepts in high-level terms first and then go into practical code examples that show those concepts in use. In all cases, the examples form part of a working application you can run.

This book is designed to complement, rather than replace, the Notification Services Books Online (the electronic documentation that comes with the product). Books Online provides a thorough reference to every Notification Services command, programming construct, and configuration option. This book does not attempt to duplicate this reference information. Instead, this book is a guide that shows you how, when, and why to use the various aspects of Notification Services in real scenarios. My expectation is that you will use this book to learn the concepts and work through practical examples, but refer to the Books Online for exact syntax details, usage restrictions, and other detailed reference information.

When providing instructions throughout this book, I've chosen to err on the side of being too specific, rather than not specific enough. In many cases, I explicitly state steps or commands, even though I know most readers will already be familiar with them. My purpose in doing this is to leave no room for ambiguity. I realize that calling out what may seem like obvious instructions can come across as pedantic, but doing this eliminates potential confusion and misinterpretation. I want every reader to get the most out of this book, and to that end I've tried to be as clear as possible at every step. I consider my readers to be capable software engineering professionals, and the tone of the instructions is never intended to contradict that.Organization of This Book

This book is divided into five parts:

  • Part I, "Notification Services Concepts," (Chapters 1 to 4) provides basic background information on notification applications and the Notification Services platform. It provides instructions for getting your development system set up to work with Notification Services and includes a walkthrough of a sample Notification Services application.

  • Part II, "Notification Services Application Development," (Chapters 5 to 11) covers the specific techniques and tools used to build applications with Notification Services. It describes the development process and the parts of the application that are built at each stage, before taking you through this process with a sample application. In working through the sample application, you learn about the features of the Notification Services platform and how to use them in your own applications.

  • Part III, "Optimization, Deployment, and Administration," (Chapters 12 to 15) covers the steps you perform after the basic development work is completed, to bring a Notification Services application online in a live production environment. It describes performance-tuning tools and techniques, deployment on various hardware configurations, and the administration and maintenance of a running application. It also includes a troubleshooting guide that provides diagnostic information and suggested solutions for the most common problems encountered in running Notification Services applications.

  • Part IV, "Advanced Notification Services Concepts," (Chapters 16 to 18) describes some of the more advanced features of the platform, including many of the new features added in the SQL Server 2005 release. It covers the new programming APIs used to perform Notification Services management tasks programmatically and host the Notification Services engine as a component within another application. It also covers the extensions to the programming model for supporting user-defined matching logic in Notification Services applications.

  • Part V, "Appendix," explains how to set up a development environment for building your own Notification Services applications using the tools and techniques introduced in this book's samples. By following the instructions in the appendix, you can quickly begin developing your own Notification Services applications in a familiar environment.

The first three parts of this book (Chapters 1 to 15) are ordered and organized to match the development process typically followed when creating an application using Notification Services. I expect new readers will generally work through these chapters in order, but this is not a strict requirement. Although each chapter builds on the material in previous chapters, after you have a basic understanding of Notification Services, you should be able to refer to the chapters in any order you choose. The instructions and examples in each chapter are self-contained, allowing you to use them without having to complete all the instructions in previous chapters.

The chapters in the fourth part of the book present three advanced topics. These chapters can be read in any order after you become familiar with the fundamentals of Notification Services application development. These chapters shouldn't be considered required reading unless you specifically want to take advantage of the features they describe. Fully functional Notification Services applications can be built and deployed based only on the material in the first three parts of this book.

Note - You can refer to the book's appendix whenever you're ready to begin creating your own Notification Services applications. If you're unfamiliar with Notification Services, I recommend that you do this only after reading through Parts I and II. The material in the appendix assumes you've become familiar with the development environment used in the samples in Chapters 3 through 10.

About the CD-ROM

The CD-ROM contains the source code and build scripts for all the examples in this book, as well as several tools that aid development and testing. In some places, the chapter text describing the examples shows only code fragments, but all source files on the CD-ROM contain complete code that you can compile and run.

To work with the code and tools on the CD-ROM, you will have to install them on your local hard drive. You cannot work directly off the CD-ROM. Chapter 2, "Getting Set Up," provides instructions for copying the code and tools from the CD-ROM and getting your development system set up to work with them.

Note - Errata information for this book, including updates to the source code, may be periodically posted on the Sams Publishing website. To view this information, visit, enter this book's ISBN—0672327791 (note that the hyphens are removed)—into the Search dialog box, select ISBN as the search term, and click Search to access the book's page.


The following typographic conventions are used in this book:

  • Code lines, commands, statements, variables, and any text you see onscreen appears in a monospace typeface. Bold monospace typeface is often used to highlight elements that deserve particular attention in the context of the topic being described. In the case of commands, bold monospace is used to indicate text that you type.

  • In code listings, an ellipsis (...) is used to indicate places where code that isn't shown in the text would belong in a complete source file. This is used in code fragments where parts of the code that are not relevant to the topic being described are omitted for brevity and clarity.

  • Italics highlight technical terms when they're being defined.

  • If a line of code is too long to fit as a single line on the printed page, it is broken into multiple lines. The ¬ character appears at the beginning of any printed line of code that is really a continuation of the line immediately preceding it.

  • When not used in the names of

    <>) are used to denote tokens that are substituted with some other value. For example, the name of the Windows service used to run a Notification Services instance is given as NS$<InstanceName>. The <InstanceName> part is replaced with the actual name of the instance. If the instance name was Instance2, the service name would be NS$Instance2.

Caution - Cautions alert you to common pitfalls you should avoid. The cautionary information in this book ranges from general descriptions of restrictions, constraints, or limitations you should be aware of, to more serious warnings about effects that could result in data loss or corruption.

Tip - Tips are used to highlight shortcuts, convenient techniques, or tools that can make a task easier. Tips also sometimes provide recommendations on best practices you should follow.

Note - Notes provide additional background information about a topic being described, beyond what is given in the chapter text. Often, notes are used to provide references to places you can find more information about a particular topic.

Sidebars - Sidebars provide coverage of related topics in a particular area that don't fit within the main organization of a chapter. These topics are usually considered somewhat tangential to the main discussion but provide interesting, useful information nonetheless.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Table of Contents

1 An overview of notification applications 9
2 Getting set up 21
3 The simplest notification application : stock quotes 41
4 Working with SQL-NS instances 77
5 Designing and prototyping an application 117
6 Completing the application prototype : scheduled subscriptions and application state 161
7 The SQL-NS subscription management API 183
8 Event providers 231
9 Content formatters 307
10 Delivery protocols 347
11 Debugging notification generation 393
12 Performance tuning 417
13 Deploying a SQL-NS instance 449
14 Administering a SQL-NS instance 483
15 Troubleshooting SQL-NS applications 505
16 Using notification services management objects 529
17 Hosting the SQL-NS execution engine 567
18 User-defined matching logic in SQL-NS applications 581
App. A Creating a development environment for your own SQL-NS applications 649
Read More Show Less

Customer Reviews

Average Rating 5
( 1 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted April 28, 2012


    Hey! Im Glimmerstar. Im a silver shecat with white paws. Im in golenclan. (Located at gold mines all results). I am an expectant queen but my mate ditched me so my unborn kiys need a father.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)