SQL Server 2005 Notification Services (SQL-NS) is a platform for building and executing rich, scalable notification applications. It's part of the Business Intelligence Suite in SQL Server 2005. Note The previous version of SQL Server Notification Services (version 2.0) was released as a web download addition to Microsoft SQL Server 2000. The information in this book applies only to the 2005 release. For information on version 2.0, see the previous edition of this book, Microsoft SQL Server 2000 Notification Services, ISBN: 0672326647. A Platform for Building Notification ApplicationsIf you looked at the internals of several notification applications, you would see certain patterns in common. At the highest level, they all gather data, match it with subscriptions, and generate notifications. Digging deeper, you'd notice that the software components to accomplish these tasks all shared a basic framework that was customized to the specifics of each application. If you were building several such notification applications, you wouldn't rebuild this common framework for each one; instead, you'd abstract the common elements in a set of components and then add application-specific code where necessary. SQL-NS is Microsoft's implementation of the software elements common to all notification applications. It is a platform on which rich, scalable, reliable notification applications can be built much faster than if they were built from scratch. Using this platform, it is possible to prototype a working notification application in a single day of development. Many customer-facing notification applications built on SQL-NS have gone from design to running live in production within eight weeks. Many applications designed for internal use have been deployed even more quickly. SQL-NS provides a declarative programming framework. You specify the size and shape of the data (incoming data feeds, subscription data, and notification data) and the logic used to determine when a piece of incoming data matches a subscription. The framework provides the mechanisms for facilitating the information flow, executing the logic, and performing the notification delivery. The result is that you can focus on the specifics of your application and not worry about the platform fundamentals. The programming framework offers easy-to-use abstractions of the rich application features, such as digesting, retry on failure, and support for scheduled subscriptions discussed in the section "Rich Application Features" (p. 14). Applications built on SQL-NS have all these features, without your having to implement them yourself. Features like these distinguish the most sophisticated notification applications from the rudimentary ones that don't usually generate customer satisfaction. Frameworks that support a wide array of applications always impose some restrictions on the developers who build on them. Although this is certainly true of SQL-NS, my experience working with a number of developers who have used it in the real world has shown that the vast majority of notification applications can be built on SQL-NS quite naturally. And the framework is extensible. In cases where it does not fit the needs of your application, you can customize it. Plug-in components (that you implement in any of the .NET programming languages) can be inserted at many points in the framework to enhance or replace existing behavior. A Platform for Executing Notification ApplicationsIn addition to the declarative programming framework, SQL-NS also provides an engine for executing the notification applications you build. This engine is based on SQL Server 2005 and the Microsoft .NET Framework 2.0. It provides the scalability, reliability, and security required by commercial notification applications. By running your application on the SQL-NS engine, you get these benefits automatically. Throughout this book, we will develop applications using the SQL-NS development platform and then run them using the SQL-NS engine. The SQL-NS engine is designed to be easy to deploy and administer. It supports a multitude of deployment scenarios, including single-server, distributed, and clustered configurations. It comes with a complete set of management tools in SQL Server 2005 Management Studio. It also provides monitoring, reporting, and diagnostic facilities that integrate with existing infrastructure in IT environments. Why Use SQL Server Notification Services?SQL-NS is proven technology being used in live production applications by several large companies, including Microsoft itself. Though it may seem so at first, building a professional notification application is not a trivial task. The key benefits of using SQL-NS to build your application can be summarized as follows:
Combined, these factors greatly reduce the time to market for most notification applications. After a SQL-NS-based notification application is up and running, these same factors contribute to keeping its maintenance costs low. If you already have SQL Server 2005, you can begin using SQL-NS immediately. Chapter 2, "Getting Set Up," provides the instructions on how to install SQL-NS and set up your environment to use it. Tip If you are thinking about building a notification application, I strongly encourage you to try SQL-NS and work through some of the samples in this book. Doing so will give you some first-hand insight into what SQL-NS offers and will likely help you get your application up and running quickly. What's New in 2005For readers familiar with previous versions of SQL-NS, this section highlights the new features and modifications in the 2005 release. Although the basic application model has remained the same, the following enhancements make the product richer, more flexible, and easier to use:
The sample code throughout this book illustrates these new features in use. |