SQL Server Notification Services is a platform developed by Microsoft for the development and deployment of
notification applications based on
SQL Server technology and the
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
.NET Framework
The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
. Notification Services offers a scalable server engine on which to run notification applications, with multi-server capability-providing flexibility and scalability for deploying applications.
Notification Services was designed to ease the pain of developing and deploying notification applications that generate personalized, timely information to subscribers.
To design, code and test all of the components that make up a robust Notification Services Application-such as notification scheduling, failure detection, retry logic, time zone management, notification grouping, and queue management, adding Notification Services to software applications can be a daunting task.
Background
Over the years the term Notification applications has been superseded with the term
Complex Event Processing (CEP). The idea is that the user defines a set of Rules (or Queries) in advance, and then push data through those rules. Should the data fit any of the criteria of the Rules then some action is fired. For example: A rule may state "If car speed through sensor is above 100 km/h, take photo and record" otherwise all other data is discarded.
This approach is much faster than the traditional OLTP design of; Insert the row(s) into the database while constantly polling the data to see if something relevant has happened. It is especially suited to situations where you have high speed inputs, a fixed set of fairly simple queries and may not need to keep all the data. e.g.: Some industries measure the voltage, current and other attributes of hundreds of electric motors in their conveyor belts, 100 times each second. Then compare each measurement to its average, plant operators are alerted should a sudden change occur.
Release history
SQL Server Notification Services was one of the many components that comprised Microsoft SQL Server. It was first released in Microsoft SQL Server 2000 Service Pack 2 (2003). An enhanced release shipped in SQL Server 2005.
It was discontinued and removed from SQL Server 2008, although SQL Server 2005 SP3 allows for the Notification Services components to be run against the SQL Server 2008 Database Engine.
It has been replaced by StreamInsight which first shipped as a component of SQL 2008 R2. StreamInsight is a separate install and not visible as a part of a regular SQL Server setup.
Extensibility and programmability
A programming framework based on
Transact-SQL
Transact-SQL (T-SQL) is Microsoft's and Sybase's proprietary extension to the SQL (Structured Query Language) used to interact with relational databases. T-SQL expands on the SQL standard to include procedural programming, local variables, vario ...
and
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
, provides a declarative programming model, and lends itself to quick prototyping and deployment of robust notification applications.
An
API for creating subscription management applications is provided, plus standard components for collecting event data from files and SQL Server databases, for formatting notifications using
XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subse ...
, and for sending notifications via
Simple Mail Transfer Protocol
The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typic ...
(SMTP) or by writing notifications to a file.
If the standard components do not meet the needs of an application, Notification Services is extendable by building custom components using the .NET family of programming languages, such as
Microsoft Visual C# .NET and
Microsoft Visual Basic .NET.
Finally, Notification Services can communicate with a wide variety of Microsoft, third-party, and custom-built event providers and delivery protocols, enabling Notification Services to communicate with existing systems in heterogeneous environments.
See also
*
Apple Push Notification Service
*
Google Cloud Messaging
Google Cloud Messaging (GCM) was a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications that target the Google Android ...
* Boomerang Software Framework
References
Further reading
* ''Microsoft SQL Server 2005 Notification Services'', Shyam Pather, Sams Publishing,
* ''The Rational Guide to SQL Server Notification Services'', Rational Press,
External links
ForumsMicrosoft Official WebsiteTechNet
{{MS DevTools
Microsoft database software