sql server notification services andy potter senior system consultant sql server notification...
TRANSCRIPT
SQL Server Notification SQL Server Notification ServicesServices
Andy PotterAndy PotterSenior System ConsultantSenior System ConsultantSQL Server Notification ServicesSQL Server Notification ServicesIntellinetIntellinet
AgendaAgenda
Notification applications in generalNotification applications in general Adding value to the enterpriseAdding value to the enterprise
Business and technical scenarios of noteBusiness and technical scenarios of note
About the Notification Services PlatformAbout the Notification Services Platform Notification Services platform overviewNotification Services platform overview Business value of this platformBusiness value of this platform
ResourcesResources Demonstration of sample applicationsDemonstration of sample applications
Getting InformationGetting InformationNo notifications – connected requestorNo notifications – connected requestor
ResponseResponse
LOB, LOB, RptRpt
ERP, ERP, CRMCRM
NewsNews
WebWeb
My DeviceMy Device
RequestRequest
Getting InformationGetting InformationPush notifications – all or nothingPush notifications – all or nothing
LOB, LOB, RptRpt
ERP, ERP, CRMCRM
NewsNews
WebWeb
My DeviceMy DevicePushPush
SPAM
Getting InformationGetting InformationNotifications – subscriber preferenceNotifications – subscriber preference
LOB, LOB, RptRpt
ERP, ERP, CRMCRM
NewsNews
WebWeb
Notification Notification ApplicationApplication
A new class of applications A new class of applications that deliver that deliver personalized personalized and and timelytimely information to information to any deviceany device
My Device(s) My Device(s) of Choiceof Choice
Source System
s
Source System
s
Subscriber Devices
and Systems
Subscriber Devices
and Systems
Notification ApplicationsNotification Applications
SubscriptionsSubscriptions(millions)(millions)
NotificationsNotifications(millions)(millions)MatchMatch
SubscribersSubscribers
EventsEvents
Why Invest In NotificationsWhy Invest In Notifications
Send critical information to customers, Send critical information to customers, partners, and employeespartners, and employees
Form proactive relationships with Form proactive relationships with customers and clients using customers and clients using personalized, timely servicespersonalized, timely services
Make it easier for customers to initiate Make it easier for customers to initiate business transactions with youbusiness transactions with you
Empower employees with information Empower employees with information whenever and wherever they need itwhenever and wherever they need it
Consumer ApplicationsConsumer Applications
Might scale to millions of subscriptionsMight scale to millions of subscriptions Automatically send notifications Automatically send notifications
to customersto customers Financial ServicesFinancial Services
Receive and react to personal portfolio changes Receive and react to personal portfolio changes and current market conditionsand current market conditions
Travel and HospitalityTravel and Hospitality Flight arrivals, schedule changesFlight arrivals, schedule changes
Electronic Commerce Electronic Commerce Search criteria, buy and sellSearch criteria, buy and sell
Line of Business Line of Business ApplicationsApplications Monitor business dataMonitor business data Alert the appropriate person or system Alert the appropriate person or system
when action is requiredwhen action is required Define the events that occur in the Define the events that occur in the
LOB applicationLOB application Which events are of likely interest to Which events are of likely interest to
subscribers or other applications?subscribers or other applications?
Business Intelligence Business Intelligence ApplicationsApplications Track critical company dataTrack critical company data Numeric data reaches a thresholdNumeric data reaches a threshold Focus on Key Performance IndicatorsFocus on Key Performance Indicators
Employee CommunicationEmployee Communication
Keep employees informed Keep employees informed Updates to projectsUpdates to projects Timely researchTimely research Alert to actions that may be requiredAlert to actions that may be required
Real World ImplementationsReal World Implementations
Monitor ETL processingMonitor ETL processing KPI Threshold alerts for a data KPI Threshold alerts for a data
warehousewarehouse Monitoring Business Rule enforcement Monitoring Business Rule enforcement
between two applicationsbetween two applications
Notification Services Notification Services PlatformPlatform Platform to develop and deploy rich, highly Platform to develop and deploy rich, highly
scalable notification applicationsscalable notification applications Declarative programming modelDeclarative programming model
Based upon XML and T-SQLBased upon XML and T-SQL
Execution engineExecution engine Based upon SQL Server 2000 and Based upon SQL Server 2000 and
.NET Framework.NET Framework
Maintenance tasks built inMaintenance tasks built in
Source System
s
Source System
s
Subscriber Devices
and Systems
Subscriber Devices
and Systems
Application OverviewApplication Overview
SubscriptionsSubscriptions(millions)(millions)
NotificationsNotifications(millions)(millions)MatchMatch
SubscribersSubscribers
EventsEvents
Why Use SQL Server Why Use SQL Server Notification Services?Notification Services? Rapid time to marketRapid time to market Ease of developmentEase of development Rich feature set Rich feature set Scalable and reliable Scalable and reliable Flexible and extensibleFlexible and extensible
Rapid Time To MarketRapid Time To Market
Low or no additional licensing costLow or no additional licensing cost Included in SQL Server licenseIncluded in SQL Server license
Notification Services framework Notification Services framework provides most of the core infrastructureprovides most of the core infrastructure
Leverage existing systemsLeverage existing systems No need to rip and replaceNo need to rip and replace Heterogeneous environments okayHeterogeneous environments okay
Prototype, build and deploy scalable Prototype, build and deploy scalable notification applications quicklynotification applications quickly
Ease Of DevelopmentEase Of Development
Use well-known tools and techniquesUse well-known tools and techniques Integrated experience with Visual StudioIntegrated experience with Visual Studio Leverage SQL Server expertiseLeverage SQL Server expertise
Developing T-SQL proceduresDeveloping T-SQL procedures Tuning the relational databaseTuning the relational database Managing a SQL Server databaseManaging a SQL Server database
Short learning curve, leverage existing Short learning curve, leverage existing development experiencedevelopment experience
Rich Feature SetRich Feature Set
Management featuresManagement features Queue managementQueue management Failures and retry logicFailures and retry logic Windows servicesWindows services
Rich application model with various Rich application model with various notification application features, plus notification application features, plus
manageabilitymanageability
Mix And Match The Match Rule TypesMix And Match The Match Rule Types
Notifications Notifications trigger whenever trigger whenever event occursevent occurs
Triggered by Triggered by eventevent
OccurrenceOccurrence
Subscribers want to Subscribers want to know whenever event occursknow whenever event occurs
Can add relevant info to itCan add relevant info to it
Notifications Notifications trigger however trigger however subscriber subscriber requests themrequests them
Triggered by Triggered by day and timeday and time
Time zones built-inTime zones built-inCalendar recurrence patternsCalendar recurrence patterns
Settable intervals between Settable intervals between notificationsnotifications
Can pull info Can pull info from cumulative from cumulative eventsevents
Sensitive to Sensitive to event historyevent history
Often combined with Often combined with Day and Time schedule rulesDay and Time schedule rules
Can control Can control intervals between intervals between notificationsnotifications
Sensitive to Sensitive to subscription subscription
historyhistory
Often combined with Often combined with Day and Time schedule rulesDay and Time schedule rules
@ 9:00 AM
each Mon-Fri
Highest MSFT
price today
Wait a day
to repeat
If MSFT > $25
Rich Feature SetRich Feature SetDelivery RichnessDelivery Richness
• Choice of content Choice of content formatting (CF)formatting (CF)
• Device specificDevice specific• Language specificLanguage specific
Rich Rich FormattingFormatting
• To application To application server, cell phone, server, cell phone, wireless PDA, wireless PDA, desktop PC, and/or desktop PC, and/or e-mail accounte-mail account
• Combine Combine notifications sent to notifications sent to the same user into the same user into one notificationone notification
Digest Digest NotificationsNotifications
• Send daily summary Send daily summary of my portfolioof my portfolio
• Send summary of Send summary of docs modified since I docs modified since I last connectedlast connected
• Same message to Same message to many subscribersmany subscribers
• Format once, deliver Format once, deliver to manyto many
‘‘Multicast’ Multicast’ NotificationsNotifications
• Weather report for Weather report for New Orleans areaNew Orleans area
• Traffic on I-95Traffic on I-95• Corporate newswireCorporate newswire
Scalable And ReliableScalable And Reliable
Notification Services generation Notification Services generation exceeds any protocol deliveryexceeds any protocol delivery Read performance whitepaper for detailsRead performance whitepaper for details
Standard best practices for tuning SQL Standard best practices for tuning SQL Server databasesServer databases
Support for various deployment Support for various deployment configurationsconfigurations H/W to balance workload, high availabilityH/W to balance workload, high availability
Scalable and reliable notification engine Scalable and reliable notification engine out-of-the-boxout-of-the-box
Flexible And ExtensibleFlexible And Extensible
API for application developers to useAPI for application developers to use Subscriber, devices, subscriptions, Subscriber, devices, subscriptions,
events APIevents API Native managed APINative managed API COM interoperability layerCOM interoperability layer
Extensible components architectureExtensible components architecture Custom event provider supportCustom event provider support Custom delivery protocol supportCustom delivery protocol support
Integrate into virtually any environmentIntegrate into virtually any environment
Notification Services Notification Services SummarySummary Notification Services is a platformNotification Services is a platform Enables rapid development of robust, Enables rapid development of robust,
scalable notification applicationsscalable notification applications Easy to use declarative Easy to use declarative
programming modelprogramming model Numerous deployment configurationsNumerous deployment configurations
Train Your StaffTrain Your StaffLearn about Notification ServicesLearn about Notification Services Notification Services WebsiteNotification Services Website
http://www.microsoft.com/sql/nshttp://www.microsoft.com/sql/ns
DevelopMentor offers a 3-day courseDevelopMentor offers a 3-day course http://www.develop.com/dm/course.asp?id=163http://www.develop.com/dm/course.asp?id=163
MSDN whitepapersMSDN whitepapers Search for articles beginning with “Notification Services” at Search for articles beginning with “Notification Services” at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql2k/html/http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql2k/html/sql_sample_quickstart.aspsql_sample_quickstart.asp
““Notification Services Capacity Planning and Notification Services Capacity Planning and Performance Tuning”Performance Tuning”
““Notification Services Quick Start Guide for Notification Services Quick Start Guide for Sample Installation”Sample Installation”
Community ResourcesCommunity Resources
Public newsgroupPublic newsgroup microsoft.public.sqlserver.NotificationSvcsmicrosoft.public.sqlserver.NotificationSvcs
oror
http://communities.microsoft.com/newsgrouhttp://communities.microsoft.com/newsgroups/default.asp?icp=SQLps/default.asp?icp=SQL
Community page Community page http://www.gotdotnet.comhttp://www.gotdotnet.com
E-mail suggestionsE-mail suggestions mailtomailto::NSWishNSWish@[email protected]