LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

27
Patrice Truong Consultant Principal, Business Intelligence Microsoft France [email protected] Introduction à SQL Server Notification Services 2005

Transcript of LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Page 1: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Patrice Truong Consultant Principal, Business Intelligence Microsoft France

[email protected]

Introduction à SQL Server Notification Services 2005

Page 2: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

LOB, Rpt

ERP, CRM

News

Web

Accès à l’informationApproche traditionnelle, pas de notifications

Réponse

Mon Device

Demande

Page 3: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

LOB, Rpt

ERP, CRM

News

Web

Mon Device

Push

SPAM

Accès à l’informationNotifications ‘push’: tout ou rien

Page 4: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

LOB, Rpt

ERP, CRM

News

Web

Accès à l’informationAvec préférences utilisateur

Application de

notification

Applications de notificationx: une nouvelle classe d’applications qui délivre au bon moment des informations personnalisées sur le device de mon choix

Le device de mon choix

Page 5: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Scénarios d’applications de notifications

Applications grand publicPour des dizaines de millions d’utilisateursServices financiers, secteur santé, voyage, eCommerce..

Applications d’entreprise (line of business)Applications décisionnelles, surveillance de données critiques..Applications de reporting

Applications de communicationCommunication avec le personnelRecherche de donnéesSuivi de projets

Page 6: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Qu’est-ce que SQL Server Notification Services?

Une plate-forme pour développer et déployer rapidement des applications de notification, riches et puissantes

Un modèle de programmation déclaratif qui s’appuie sur XML et Transact-SQL

Un moteur d’exécution puissant basé sur SQL Server 2005 et le .NET Framework

Page 7: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Pourquoi choisir SQL Server Notification Services?

Facilité de développement

Déploiement rapide (time to market)

Richesse des fonctionnalités

Puissance et solidité de la plate-

forme

Flexibilité et évolutivité

Page 8: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Facilité de développementDes outils et des techniques éprouvées

Intégration avec Visual StudioAide intégrée, auto-fill du schéma, IntellisenseExpérience de déboguage Visual Studio (attachement au processus, création de points d’arrêts, examen de variables…)

Utilisation de l’expertise SQL ServerDéveloppement de procédures Transact-SQLOptimisation de bases de données relationnellesAdministration de bases de données SQL ServerTemps de formation réduit, reprise

de l’expérience de développement existante

Page 9: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Déploiement rapide(time to market)

Pas ou peu de coût de license supplémentaire

Inclus dans la license SQL Server 2005

Le framework Notification Services fournit la majeure partie de l’infrastructureS’appuie sur les systèmes existants

Pas de ‘rip and replace’Fonctionnement en environnement hétérogènePrototypage, construction et

déploiement d’applications de notifications dans des délais très

courts

Page 10: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Richesse des fonctionnalitésFlexibilité dans le déclenchement des règles

Déclenchement sur évènements et/ou planifiées

Diversité des canaux de notificationsTexte, email, SMS, fax, vers une autre applicationFormatage des notifications en fonction de la langue, du deviceNotifications multicast et agrégées

Fonctions de gestionFiles d’attente, fuseaux horaires, reprise sur incident, Accumulation d’évènements, tables d’états…Incidents et logique de tentatives

Un modèle applicatif riche qui permet la création rapide

d’applications de notification

Page 11: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Puissance et Solidité

Les fonctions de génération de Notification Services dépassent les capacités de tout protocole de distribution

Voir le livre blanc sur les performances pour plus de détails

Utilisation des best practices SQL Server pour l’optimisationSupport de nombreuses configurations de déploiement configurations

H/W pour le partage de charge, haute disponibilité

En standard, un moteur de notification puissant et solide

Page 12: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Flexibilité et Evolutivité

Une API pour les développeurs d’applicationsInterface de programmmation pour Souscripteurs, Devices, souscriptions, évènementsInterface de programmation nativeCouche d’interopérabilité COM

Architecture évolutive à base de composantsFournisseur d’évènements (Custom event provider)Formatteur de messages (custom formatter) Protocole de distribution (Custom delivery protocol)

Pour une intégration dans n’imprte quel environnement

Page 13: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Démonstration

Page 14: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Applications de notifications

Sources de

données

Sources de

données

Devices et applicatio

ns

Devices et applicatio

ns

Souscriptions(millions)

Notifications(millions)

Match

Souscripteurs

Souscripteurs

Evènements

Page 15: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Le problème de ‘matching’Deux approches comparées

Souscriptions

= Requêtes

Souscriptions

= Données

Utilisation d’un langage ‘SQL-like’ pour modéliser les requêtesEvaluation des souscriptions pour chaque évènement entrantProblèmes de montée en charge (Volumétrie = NxM)Souscriptions stockées sous forme de lignes dans une table SQLEvènements stockés sous forme de lignes dans une table SQLOpérations de jointures entre les tables à l’aide de JOINs SQL

Page 16: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Circulation de l’informationLe pipeline SQLNS

Source Data

EP

Events

EventBatches

Notifications

NotificationBatches

GP CF DP

EP = Event ProviderGP = Generator ProcessCF = Content FormatterDP = Delivery Protocol

Subscription Management Application

SubscriptionsSubscriberDevicesSubscribers

NS API

Page 17: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Notification ServicesUne architecture à base de composants

Application de gestion des souscriptions

Changements

Changements Distrib

ution

Distribution

Event Provider

Evènements

SouscripteursDevices

SouscriptionsNotifications

Générateur

Distributeur

Règles de match

SQL

XSLT

CF

Custom CF

XSLT

Custom DP

Email

.NET Alerts *

FileHttpExt

File System Watcher

SQL Server

provider

Custom EP

EventProvide

rHost

Page 18: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Cycle de développement

ASPASP.NETVB Script

C#, VB.NET

VB ScriptT-SQLScriptXML

T-SQL

Evènements,

souscriptions,

souscripteurs,

notifications, règles de matching

Definir les schémas

et les règles

Applicationweb

Souscripteurs,

souscriptions,

évènements

nscontrol create,

register, update

Construire l’applicatio

n de gestion

des souscriptio

ns

Charger des jeux

de données de test

Compiler l’applicat

ion

Etendre la plate-formeConstruire les

fondations

XSLTC#

VB.NET

Event Providers,Content

Formatters,Delivery Protocols

Ajouter des composant

s personnalis

és

Opérations

T-SQL

Perfmon, procédures stockées

SQLNS

Intégration pour tests de bout en

boutTâch

es

Focu

sS

kills

Page 19: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Construction des fondations:Définition des schémas et des règlesModéliser les évènements comme des lignes dans une table SQLModéliser les souscriptions comme des lignesUtiliser la puissance de SQL Server pour écrire les règles de matching

Events

StockSymbol

MSFT

Stock Value

41

ORCL 11 1/4

SUNW 9 1/2

INTC 22

IBM 65

CSCO 11 1/2

Subscriptions

StockSymbol

MSFT

Trigger

40

SubscriberId

patricet

Notifications

StockSymbol

MSFT

Stock Value

41

SubscriberId

patricet

<xsl:template match="notification"><b><xsl:value-of select="StockSymbol"/></b>is now trading at: <b>$<xsl:value-ofselect="StockValue"/></b></xsl:template>

Formater la notification bruteavec une xslt de base

SELECT s.SubscriberId, e.StockSymbol, e.StockValueFROM Events e, Subscriptions sWHERE (e.StockSymbol = s.StockSymbol)AND (e.StockValue > s.Trigger)

Page 20: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Construction des fondations: ‘Compiler’ l’application

nscontrol createLecture des fichiers XML de configuration d’instance et d’applicationCréation de bases, tables, vues, procédures stockées…

nscontrol register (sur chaque machine où le service SQLNS fonctionne)

Spécifier la clé d’encryptageInstalle un service Windows multi-thread par instanceEnregistre les compteurs de performance et les clés de registre SQLNS

nscontrol enableActive EP, GP, DP

Assigner les permissions & démarrer l’instance

EventProviderdisabled

Generator

disabled

Distributor

disabled

EventProviderenabled

Generator

enabled

Distributor

enabled

EventProviderenabled

Generator

enabled

Distributor

enabled

Windows ServiceStopped

Windows ServiceStarted

SQL ServerSQL Server

Instance App. #1

App. #2

App. #3

ADF1ADF

2ADF3

Config

Page 21: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Construction des fondations: Chargement des jeux de tests

Souscripteurs & SouscriptionsWeb UI: ASP, ASP.NETVB Script, avec utilisation du modèle objetWinForms: C++, C#, VB, VB.NET, avec utilisation du modèle objet

EvènementsUtiliser les composants standardsFileSystemWatcher

Ne JAMAIS insérer des données directement dans les tables SQLNS!

Page 22: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Event Providers Exemple: SQL Server Event Provider

Event ProvidersPour alimenter la table SQLNS Events

En standard: FileSystemWatcher, Provider SQL

Event Provider SQL ServerHébergé par le Event Provider Host

Exécute une requête SQL à intervalles réguliers pour récupérer les changements dans la source de donées

Stocke les changements sous forme de lignes dans une table d’évènements

EventsData

SourceSQL

Server provider

EventProvide

rHost

QueryPostQuerySchedule

Changes

Page 23: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Formateurs de contenuContent Formatters

Transformation d’une notification bruteEn standard: Formateur XSLT

Pourquoi utiliser un formateur de contenu personnalisé?

Pour aller au delà d’une simple transformation xslt (html complexe, dépendances externes pour le formatage, opérations de calcul…)Pour cibler plusieurs devices/langages avec le même code (vs. plusieurs fichiers xslt)Pour obtenir de meilleures performances

Assembly en managed code chargée par le distributeur

Expose 3 méthodes: Initialize, FormatContent, Close

Page 24: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Protocoles de distributionDelivery Protocols

Protocoles de distributionPour envoyer des notifications à plusieurs endpointsEn standard: SMTP, File, .NET Alerts *

Partenaires pour distribution de SMSFichier de configuration d’instance:

Ajouter la définition du protocoleProtocol Name

Ajouter la définition du canal de distribution qui utilise ce protocole

ProtocolProviderClassName, AssemblyName, postURL, Encoding…1:1, 1:n

Fichier de définition de l’applicationSpécifier le user/password pour s’identifier avec le end pointSpécifier les paramètres requis pour constuire l’enveloppe

Page 25: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

Conclusion

SQL Server Notification Services est une plate-forme de développement

SQLNS permet le développement rapide d’applications de notifications robustes, fiables et qui supportent des volumétries importantes

La puissance et richesse du moteur d’exécution SQLNS peuvent être étendues par des développements spécifiques

Page 26: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

La référence technique

pour les IT Pros :technet.microsoft.com

La référence technique

pour les développeurs :

msdn.microsoft.com

S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée

Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs

Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique

Visual Studio 2005 +

Abonnement MSDN Premium

Abonnement TechNet Plus :

Versions d’éval + 2 incidents support

Page 27: LOB, Rpt ERP, CRM News Web Réponse Mon Device Demande.

© 2007 Microsoft France

Votre potentiel, notre passion TM