搜尋本站文章

2007-11-27

消失的服務 SSNS(SQL Server Notification Services)-- SQL Server 2008


這個 SSNS 服務,具筆者接觸的客戶之非正式統計,在台灣,好像沒有實際應用的案例。

以下這張是 SQL Server 2005 的 SSMS 之畫面:

以下這張是 SQL Server 2008(Katmai) 的 SSMS 之畫面:

那什麼是: SSNS(SQL Server Notification Services)呢?SSNS 是用來開發及部署應用程式以產生和傳送通知的平台。您可以使用 Notification Services 來產生和即時傳送個人化訊息給數千或數百萬位訂閱者,並可將訊息傳送至各式各樣的裝置。

訂閱者建立通知應用程式的訂閱。訂閱是表示對特定類型的事件感興趣。例如,訂閱可以表示下列喜好:「當我的股價達到 $70.00 時通知我」或「當我的小組所撰寫的策略文件更新時通知我」。

通知可在觸發的事件發生時,立即產生並傳送給訂閱者。通知也可以依照訂閱者指定的預訂排程來產生及傳送。

通知可以傳送到各種類型的裝置。例如,通知可傳送到訂閱者的行動電話、個人數位助理 (PDA)、Microsoft Windows Messenger 或電子郵件帳戶。因為訂閱者通常會隨身攜帶這些裝置,所以用通知來傳送重要資訊最為理想。

通知應用程式的優點很多,例如:

  • 通知應用程式可讓您傳送重要資訊給顧客、合作夥伴及員工。
  • 通知可以包含網站的連結,讓收件者取得詳細資訊或確認收到資訊。
  • 通知應用程式提供更自訂化和即時的服務,可增進您和顧客的關係。通知應用程式讓顧客更方便與您開始進行商務交易,協助增加您的收益。
  • 通知應用程式可隨時隨地提供員工所需的資訊,協助提升員工的生產力。
  • 通知應用程式可讓您藉由各種裝置與經常外出的訂閱者保持聯繫。

透過 Notification Services,您可以快速建立和部署應用程式,甚至可以視需要調整應用程式規模以支援更多訂閱者。Notification Services 包括:

  • 簡單卻功能強大的 Notification Services 程式設計架構,可讓您快速建立及部署通知應用程式。您可以使用 XML 或 Notification Services Management Objects (NMO) 來開發應用程式。
  • 可靠、高效能且具擴充性的引擎,可執行通知應用程式。Notification Services 引擎是建立在 Microsoft .NET Framework 和 SQL Server 2005 基礎之上。

為何要使用 Notification Services?

Notification Services 提供程式設計架構,可快速且輕鬆開發專業的通知應用程式,並且提供一個平台在穩固而具延展性的環境中執行這些應用程式。

  • 簡單迅速的應用程式開發環境
  • 效能及延展性

簡單迅速的應用程式開發環境

Notification Services 可讓您定義應用程式屬性,並且使用 Notification Services 程式設計架構選擇性建立自訂的元件,來輕鬆快速地開發和部署通知應用程式。


效能及延展性

因為是「集合導向的處理模型」,所以即使您的應用程式必須支援數千甚至百萬個訂閱者,Notification Services 應用程式還是能執行良好。

下圖顯示 Notification Services 應用程式的基本作業



應用程式產生通知的方式如下:

  1. 訂閱者建立與應用程式相關的訂閱。
  2. 應用程式收集事件。
  3. Notification Services 比對訂閱和事件。
  4. 發生符合訂閱的事件時,Notification Services 便會產生通知。
  5. 然後 Notification Services 會格式化通知並將它傳送到訂閱中指定的裝置。

通知應用程式有個很好的範例,那就是股票應用程式。

訂閱者可建立訂閱,若股價上漲到超過 70 即通知其股票 ADCP,並且以行動電話接收通知。 通知應用程式會從股價行情看板收集股票資料。每次有股價「事件」批次到達時,Notification Services 都會比較當時的事件集合與訂閱條件。

如果股票 ADCP 超過 70,Notification Services 便建立通知,加以格式化,並傳送給傳遞服務,由傳遞服務將訊息轉送到訂閱者的行動電話。

Notification Services 提供一些功能以避免傳送重複的通知。例如,您可以記錄特定的訂閱者已經接收股票 ADCP 的通知。如果下一個 ADCP 的股價仍然超過 70,您的通知邏輯就可以取消給訂閱者的通知。

Notification Services 如何運作?

Notification Services 應用程式會收集事件及訂閱、產生通知,再將通知散發到外部的傳遞服務,如 Simple Mail Transfer Protocol (SMTP) 伺服器。Notification Services 會以如下的方式完成上述工作:






在 SQL Server 2008 版本中,計畫將移除 SSNS,但是會將 SSNS 中關鍵的通知功能整合到 SSRS(SQL Server Reporting Services)中,所以在 SSRS 中會提供像更加的事件驅動訂閱(data driven subsriptions)機制、訂閱者感興趣的資料、以即要傳送資訊到何處等等機制。

Derrick Chen 德瑞克