Title: Discover a Partner Business Opportunity with SQL Server Notification Services
1Discover a Partner Business Opportunity with SQL
Server Notification Services
- Rebecca Laszlo
- Lead Program Manager
- Microsoft Corporation
2Session Objectives
- What are notification applications
- Overview of Notification Services
- Benefits to using the NS platform
- How to recognize opportunities
- Business value to the Partner
- Usage proof points
- QA
3Whats the big deal about notifications?
- Hate spam?
- Never remember to check voicemail?
- Sometimes forget to pay bills on time?
- Wish you knew what was going on?
- Want to take fast advantage of emerging
opportunities? - Even without staying online 24x7?
Then notifications are for you and your
customers and clients!
4Getting Information - PULLNo notifications
connected requestor
Web
News
Request
My Device
My Action Required
ERP, CRM
Response
LOB, Rpt
5Getting Information - PUSHPush notifications
all or nothing
Web
News
My Device
Push
SPAM?
ERP, CRM
LOB, Rpt
6Getting Information - NOTIFYNotifications
subscriber preference
Web
Notification Application
My Device(s) of Choice
News
ERP, CRM
A class of applications that deliver personalized
and timely information to any device
LOB, Rpt
7Why Invest In Notifications?
- Send critical information to customers, partners,
and employees - Form proactive relationships with customers and
clients using personalized, timely services - Make it easier for customers to initiate business
transactions with you - Empower employees with information whenever and
wherever they need it
8Key ApplicationsNotifications are a marketable
value-add
- Electronic Commerce
- Line of Business applications
- Alert the person or system when action required
- Business Intelligence
- Thresholds set upon Key Performance Indicators
- Operational Health
- Broaden beyond the Operations Center
- Personalized Communication
- Timely research, project updates, news channels
- Entertainment
9Key IndustriesLow hanging fruit in abundance
- Financial Services
- Travel Hospitality
- Retail
- Telecommunications
- Government
- Plus other large multi-departmental organizations
- Manufacturing
- Professional Services
- System Integrators and Solution Partners
10Surprise ! Youre probably already using
Notification Services
- MSN Mobile news, weather, sports, lottery,
horoscope - NYTimes.com real estate classified ads
- Townsend Analytics market changes
- MSNBC - news, lottery
- MSN Autos traffic alerts
- Slate published articles
- MSN France shopping, news
11SQL Server Notification ServicesDevelopment and
Deployment Platform
- Platform to develop and deploy rich, highly
scalable notification applications - Declarative programming model
- Based upon XML and T-SQL
- Execution engine
- Based upon SQL Server 2000 and .NET Framework
- Maintenance tasks built in
- Heterogeneous interoperability
- Global ready product
12Notification Applications
Subscribers
Subscriptions
Source Systems
Subscriber Devices and Systems
Match
13Notification Services
Subscriptions
Subscription Management Objects
Event Collector
Distributor Process
Generator Process
Events
Delivery
Notification Services
14A quick plug forMicrosoft .NET Alerts
- SQLNS and .NET Alerts complement each other
- NS is the generation part
- .NET Alerts can be plugged into the delivery part
- A service hosted by Microsoft
- Provides an NS Delivery Protocol customized for
this purpose - Similar to how you might plug in delivery to
Microsoft BizTalk Server et al - Top 5 Scenario Categories
- News Updates
- Shopping
- Personal Finance
- Entertainment
- Enterprise
- Microsoft .NET Alerts http//www.microsoft.com/al
erts - Voicemail Alerts Quickstart Kit
http//alerts.telws.net (sample application)
Microsoft .NET Alerts is a ready-made, high
performance engine for sending online
notifications to customers anytime, anywhere, and
on any supported device. .NET Alerts can be
delivered to users desktops via Windows and
MSN Messenger, to an email address, to mobile
devices, including mobile phones and wireless
PDAs - all based on users preferences and
status.
15Why Invest in SQL Server Notification Services?
- Rapid time to market
- Ease of development
- Rich feature set
- Scalable and reliable
- Flexible and extensible
16Rapid Time To Market
- Low or no additional licensing cost
- Included in SQL Server license
- Notification Services framework provides most of
the core infrastructure - Leverage existing systems
- No need to rip and replace
- Heterogeneous environments okay
Prototype, build and deploy scalable notification
applications quickly
17Ease Of Development
- Use well-known tools and techniques
- Integrated experience with Visual Studio
- Leverage SQL Server expertise
- Developing T-SQL procedures
- Tuning the relational database
- Managing a SQL Server database
- Full .NET Application
Short learning curve, leverage existing
development experience
18Developer Skills Required
- XML to define schema elements (including the
events, subscriptions, notifications, providers,
configuration settings) - Transact-SQL to define Match Rules
- Scripting to script the creation, update, and
management of the notification application - Loading sample data to test all portions of
application - Subscriber-facing application development (such
as ASP, ASP.NET, VB Script, C, Visual Basic 6.0,
Visual Basic.NET, Java) - XSD for incoming events using structured XML
data - XSLT - for content formatting
- Other .NET languages for custom event providers,
content formatters, or delivery protocols
19Out-of-the-Box versus Custom Code
Subscription Management Application
- Color legend
- Out of the Box
- Custom Code
Subscription Management Objects
Persistent Data Store
Data Changes
External Delivery
Subscribers Subscriber Devices Subscriptions
Notifications
Events
Distributor
Event Provider
Generator
Delivery Protocol
Content Formatter
XSLT CF
Email
Executes Stored Procs
SQLMatchRule
File System Watcher
EventProviderHost
File
HttpExt
Custom CF
SQL Server provider
.NET Alerts
Custom DP
Custom EP
20Its a .NET ApplicationLeveraging SQL Server
Capabilities
Subscription Management Application
- Color legend
- SQL Server 2000
- .NET Application
- Developer Choice
Subscription Management Objects
Persistent Data Store
Data Changes
External Delivery
Subscribers Subscriber Devices Subscriptions
Notifications
Events
Distributor
Event Provider
Generator
Delivery Protocol
Content Formatter
XSLT CF
Email
Executes Stored Procs
SQLMatchRule
File System Watcher
EventProviderHost
File
HttpExt
Custom CF
SQL Server provider
.NET Alerts
Custom DP
Custom EP
21Evolve the Application
- Conducive to iterative development
- Get your feet wet with simple applications and
modifying the sample applications - Add more events and subscriptions
- Add custom components
- Add new applications alongside existing ones
- Update existing applications in subsequent
revisions
22Rich Feature Set
- Management features
- Queue management
- Failures and retry logic
- Windows services
- Application features
- Varied options for incoming events
- Rich match rules to generate notifications
- Rich formatting and delivery options
Rich application model with various notification
application features, plus manageability
23Scalable And Reliable
- Notification Services generation exceeds any
protocol delivery - Read performance whitepaper for details
- Standard best practices for tuning SQL Server
databases - Support for various deployment configurations
- H/W to balance workload, high availability
Scalable and reliable notification engine
out-of-the-box
24How to Recognize Opportunity
- Recognize the commercial value
- Make this a premium offering
- Market it as a major new feature
- Show the client how theyll benefit
- Use the show me strategy
- Demonstrate the capability with a prototype
- Build a proof of concept using the customers own
data - Dont expect clients to ask for it by name
- Expect them to describe business need
25Look for I need to
- Keep in better touch with employees wherever they
are - Monitor my critical systems and respond in a
timely fashion - Provide a faster response to my premium clients
- Increase customer loyalty
- Tailor the information people receive to what is
most relevant - Alert people of new or updated information
- E-mail with click-back URLs, rich layouts,
locale-specific formats - Increase customer reach to a large consumer base
- Help people purchase hard-to-find items
- Increase customer visits to my web site
- Increase purchase frequency through targeted
communications - Decrease customer communication costs
- Standardize numerous notification point solutions
to a simpler architecture - Enhance existing applications without
rip-and-replace - Tell customers if their account balance is
falling too low - Capture the moment of peak opportunity
- Start small and grow over time
26ISV Opportunities
- Independent Software Vendors (ISVs) can add
notifications to packaged applications - Make existing application more functional
- Respond to customer requests for notifications
- Application-to-Application Notifications
- Add NS-aware connectors to/from your application
- Custom Event Provider
- Custom Content Formatter Delivery Protocol
- Create a configurable subscription management
application UI
27ISV Opportunities (contd)
- NS is redistributable to customers with SQL
license - Important NS does not support MSDE
- Silent install capability (embed NS into your
package install) - An example
- An HRMS/Payroll vendor adding employee
notifications into its payroll transactions
28SI/SP Opportunities
- Consultants, System Integrators and Solution
Providers can define a notification application
development practice - NS platform requires application development and
customization - Create a successful technical specialty
- Rapidly build Proofs of Concept (POCs)
- Consult to customers on notification
architecture, design, implementation - Get into new accounts by leveraging notification
capabilities - Day 1 interview your prospect for POC
- Day 2 demo the application on their own data
29SI/SP Opportunities (contd)
- Insert a notification application between two
standalone legacy applications - Platform gives you a competitive advantage over
homegrown or non-existent capabilities - Reusable design patterns and skill sets
- You may even reuse the 4 samples that ship with
Notification Services! - An example
- Intellinets Consulting Services
- Implemented 2 different custom solutions using NS
platform
30Horizontal Opportunities
- Consider adding notification functionality to an
organizations platform or web service - An IT organization might build a centralized
notification service - Business Intelligence might generate personalized
alerts from centralized Data Warehouses - An example
- Fenestraes Enterprise Mobility Server
- A platform extended via the NS platform
31Vertical Opportunities
- Certain industries have experience with
notifications, and appreciate the savings a
product platform provides vs homegrown - Certain industries need high scalability
- All industries need manageability, reliability,
rapid time to market - People involved in cross-department processes
especially value timely, personalized
notifications
32Invitation to SQL Server Partners Consider
placing your reference on http//www.microsoft.com
/sql/ns Direct inquiries to mailtoSQLPtnrs_at_micro
soft.com
33Usage Proof Points
as of 17-Jul-2003
34Usage Proof Points (contd)
as of 17-Jul-2003
35Notification Services Summary
- Notification Services is a platform
- You provide the application !
- Enables rapid development of robust, scalable
notification applications - Adapt the same platform to different business
solutions and deployment sizes - Highest possible ROI !!!
- Recognize and act upon new opportunities
- Rapid Proof of Concept development
- Close the sale on site !!!!!!
36Resources
- Notification Services Website
- http//www.microsoft.com/sql/ns
- Explore the Technical Resources page
- Two partner papers under Partner Resources
section - Notification Services Quick Start Guide for
Sample Installation in Technical Documentation
section - Technical Discussions
- microsoft.public.sqlserver.NotificationSvcs
- http//communities.microsoft.com/newsgroups/defaul
t.asp?icpSQL - Product Suggestions
- mailtonswish_at_microsoft.com
- DevelopMentor offers a 3-day course
- http//www.develop.com/dm/course.asp?id163
37Get Up to Speed on .NET
- Get Trained on Microsoft Developer Technologies
- Attend the weekly MSDN Developer Webcasts
- Register for an upcoming webcasts at
http//www.microsoft.com/usa/webcasts/
38Where Can I Get MSDN?
- Free online developer resources at
msdn.microsoft.com - MSDN Communities
- http//communities2.microsoft.com
- Free MSDN Flash Newsletter at msdn.microsoft.com/f
lash - Free MSDN local events in your area at
www.microsoft.com/usa - Free Webcasts Sampler CD http//www.replycard.com/
vsnet
39More
- For recordings of past MSDN Webcasts
www.microsoft.com/usa/webcasts/ondemand - Dont forget to fill out the survey.
40Discover a Partner Business Opportunity with SQL
Server Notification Services
Questions and Answers
- Rebecca Laszlo, Lead Program Manager
- Patrice Truong, Program Manager
- Matt Nunn, Technical Product Manager
- Microsoft Corporation
41AppendixAdditional Technical Information
42Incoming Events
- Events produced by new or existing system(s)
- Use Events API to write them into the
notification application - Native managed API
- COM interoperability layer
- Hosted or Unhosted Event Collector
- Numerous real life examples
Note in the common case of schedule-driven
subscriptions, events may be unnecessary
43Subscription Management Objects
- Typical implementation is a centralized
subscription page - Developer uses the Subscription API to store the
subscriptions within Notification Services - Managed interface
- Callable from ASP.NET, C or VB.NET code
- COM interoperability layer
- Callable from Java, PHP, VB, VBScript
- Object model elements
- Subscriber
- Device
- Subscription
44Generating Notifications With Match Rules
Cubs 3 Giants 1 (final)
Subscribers want to know whenever event
occurs Can add relevant info to it
Notifications trigger whenever event occurs
Triggered by event Occurrence
900a each Mon-Fri
Notifications trigger however subscriber requests
them
Time zones built-in Calendar recurrence
patterns Settable intervals between notifications
Triggered by day and time
Highest MSFT price today
Often combined with Day and Time schedule rules
Can pull info from cumulative events
Sensitive to event history
Wait a day to repeat
Can control intervals between notifications
Often combined with Day and Time schedule rules
Sensitive to subscription history
45Distributing NotificationsFormatting and Delivery
- Choice of content formatting (CF)
- Device specific
- Language specific
Rich Formatting
- To application server, cell phone, wireless PDA,
desktop PC, and/or e-mail account
Combine notifications sent to the same user into
one notification
Digest Notifications
- Send daily summary of my portfolio
- Send summary of docs modified since I last
connected
- Same message to many subscribers
- Format once, deliver to many
Multicast Notifications
- Weather report for New Orleans area
- Traffic on I-95
- Corporate newswire
46Licensing Impact of Common Deployment
Configurations
- Single machine deployment 1 license
- 1 server run all processes SQLGPEPCFDP
- Two-tier 2 licenses
- 1 runs SQLGPEP 1 runs CFDP
- Dedicated SQL 3 licenses
- 1 runs SQLGP 1 runs EP 1 runs CFDP
- Scaling Events
- Add Event Provider server(s)
- Scaling Distribution
- Add Content Formatter Delivery Protocol
server(s) - High Availability
- Add second SQL server node (failover cluster)
- Add additional EP and CFDP server(s) (redundancy)
47RFPs Ask For Design Patterns
- Eliminate duplicate events
- High watermark
- Aggregations
- Subscription expiration
- Subscription history
- Send to multiple devices
- Send in multiple languages
- Deliver data to remote DBMS
- Deliver data to error log
- Master/detail events
- Restrict generation to certain periods
- Handle user time zones
- Schedule-driven subscriptions w/ or w/o events
- Event-driven subscriptions
- Schedule recurrence patterns
- Purge expired events and notifications
- Access data in remote RDBMS
- Opt-in subscriptions
- Automatic subscriptions
- Events that stream data into the NS store
- Events representing triggers to the NS Store
- Optimize for low latency
- Optimize for high scalability
- Integrate with remote subscriber data
- Monitor thresholds in an OLAP cube
- Isolate notification applications
- Create clean application or update existing
- Supplement workflow orchestration
- Highlight content w/ complex formatting
- Subscriptions with AND / OR combinations