SQL Server Notification Services
Encyclopedia
SQL Server Notification Services is a platform developed by Microsoft for the development and deployment of notification applications
Notification Service
A notification service provides means to send a notice to many persons at once. For example, if a flood were likely, residents of a community could be warned it time to evacuate. If a school were suddenly closed for the day, students or parents could be told not come to school, or told to report...

 based on SQL Server Technology
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

 and the Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

. Notification Services offers a scalable server engine on which to run notification applications, with multi-server capability-providing flexibility and scalability for deploying applications. http://www.microsoft.com/sqlserver/2005/en/us/notification-services.aspx#FAQ

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)
Complex Event Processing
Complex event processing consists of processing many events happening across all the layers of an organization, identifying the most meaningful events within the event cloud, analyzing their impact, and taking subsequent action in real time....

. The idea is that you define a set of Rules (or Queries) in advance & then push data thru 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 thru sensor is > 100 kph, take photo & 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 & many not need to keep all the data. eg: Some industries measure the voltage, current & 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 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.
SQL Server Notification Services was discontinued & removed from SQL Server 2008 http://social.msdn.microsoft.com/forums/en-US/sqlnotificationservices/thread/3f2dbd91-f223-411d-9c66-07be3ffcfed2/, although SQL Server 2005 SP3 allows for the Notification Services components to be run against the SQL Server 2008 Database Engine http://msdn.microsoft.com/en-us/library/dd353312(SQL.90).aspx.
It has been relaced by StreamInsight which first shipped as a component of SQL 2008R2. Note: StreamInsight is a separate install & is not visible as part of the regular SQL Setup.

Extensibility and Programmability

A programming framework based on Transact-SQL
Transact-SQL
Transact-SQL is Microsoft's and Sybase's proprietary extension to SQL. SQL, often expanded to Structured Query Language, is a standardized computer language that was originally developed by IBM for querying, altering and defining relational databases, using declarative statements...

 and XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

, 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
XSLT is a declarative, XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized by the processor in standard XML syntax or in another format,...

, and for sending notifications via Simple Mail Transfer Protocol
Simple Mail Transfer Protocol
Simple Mail Transfer Protocol is an Internet standard for electronic mail transmission across Internet Protocol networks. SMTP was first defined by RFC 821 , and last updated by RFC 5321 which includes the extended SMTP additions, and is the protocol in widespread use today...

 (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
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

.

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
    Apple Push Notification Service
    The Apple Push Notification Service is a service created by Apple Inc. that was launched together with iOS 3.0 on June 17, 2009. It uses push technology through a constantly-open IP connection to forward notifications from the servers of third party applications to the Apple devices; such...

  • Android Cloud to Device Messaging Service
    Android Cloud to Device Messaging Service
    Android Cloud to Device Messaging is a push notification service that helps developers send data from servers to their applications on Android devices which launched together with Android 2.2 by Google. The service provides a simple, lightweight mechanism that servers can use to tell mobile...

  • Boomerang Software Framework
    Boomerang Software Framework
    Boomerang is a notification framework for professional developers that provides a service oriented infrastructure and a rapid developmentinterface. The infrastructure supports e-mail out, twitter out , printers, fax servers, file/ftp servers, incoming e-mail and twitter in...


External links


Books

  • Microsoft SQL Server 2005 Notification Services, Shyam Pather, Sams Publishing, ISBN 978-0672327797
  • The Rational Guide to SQL Server Notification Services, Rational Press, ISBN 978-0972688819
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK