Introduction à SQL Server Notification Services 2005 3/30/2017 10:20 AM Introduction à SQL Server Notification Services 2005 Patrice Truong Consultant Principal, Business Intelligence Microsoft France patrice.truong@microsoft.com © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Accès à l’information Approche traditionnelle, pas de notifications Web News Demande Mon Device ERP, CRM Réponse LOB, Rpt
Accès à l’information Notifications ‘push’: tout ou rien Web News Mon Device Push SPAM ERP, CRM LOB, Rpt
Accès à l’information Avec préférences utilisateur Web Application de notification Le device de mon choix News ERP, CRM Applications de notificationx: une nouvelle classe d’applications qui délivre au bon moment des informations personnalisées sur le device de mon choix LOB, Rpt
Scénarios d’applications de notifications Applications grand public Pour des dizaines de millions d’utilisateurs Services financiers, secteur santé, voyage, eCommerce.. Applications d’entreprise (line of business) Applications décisionnelles, surveillance de données critiques.. Applications de reporting Applications de communication Communication avec le personnel Recherche de données Suivi de projets
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
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é
Facilité de développement Des outils et des techniques éprouvées Intégration avec Visual Studio Aide intégrée, auto-fill du schéma, Intellisense Expérience de déboguage Visual Studio (attachement au processus, création de points d’arrêts, examen de variables…) Utilisation de l’expertise SQL Server Développement de procédures Transact-SQL Optimisation de bases de données relationnelles Administration de bases de données SQL Server Temps de formation réduit, reprise de l’expérience de développement existante
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’infrastructure S’appuie sur les systèmes existants Pas de ‘rip and replace’ Fonctionnement en environnement hétérogène Prototypage, construction et déploiement d’applications de notifications dans des délais très courts
Richesse des fonctionnalités Flexibilité dans le déclenchement des règles Déclenchement sur évènements et/ou planifiées Diversité des canaux de notifications Texte, email, SMS, fax, vers une autre application Formatage des notifications en fonction de la langue, du device Notifications multicast et agrégées Fonctions de gestion Files 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
En standard, un moteur de notification puissant et solide 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’optimisation Support 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
Flexibilité et Evolutivité 3/30/2017 10:20 AM Flexibilité et Evolutivité Une API pour les développeurs d’applications Interface de programmmation pour Souscripteurs, Devices, souscriptions, évènements Interface de programmation native Couche d’interopérabilité COM Architecture évolutive à base de composants Fournisseur 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/30/2017 10:20 AM Démonstration © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Applications de notifications 3/30/2017 10:20 AM Applications de notifications Souscripteurs Souscriptions (millions) Sources de données Devices et applications Evènements Match Notifications (millions) © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Le problème de ‘matching’ Deux approches comparées 3/30/2017 10:20 AM Le problème de ‘matching’ Deux approches comparées Utilisation d’un langage ‘SQL-like’ pour modéliser les requêtes Evaluation des souscriptions pour chaque évènement entrant Problèmes de montée en charge (Volumétrie = NxM) Souscriptions = Requêtes Souscriptions stockées sous forme de lignes dans une table SQL Evènements stockés sous forme de lignes dans une table SQL Opérations de jointures entre les tables à l’aide de JOINs SQL Souscriptions = Données © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Circulation de l’information Le pipeline SQLNS 3/30/2017 10:20 AM Circulation de l’information Le pipeline SQLNS NS API EP = Event Provider GP = Generator Process CF = Content Formatter DP = Delivery Protocol © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Notification Services Une architecture à base de composants 3/30/2017 10:20 AM Notification Services Une architecture à base de composants Application de gestion des souscriptions Evènements Souscripteurs Devices Souscriptions Notifications Changements Distribution Event Provider Générateur Distributeur File System Watcher SQL Server provider Custom EP Event Provider Host XSLT CF Custom CF XSLT Custom DP Email .NET Alerts * File HttpExt Règles de match SQL © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Cycle de développement 3/30/2017 10:20 AM Cycle de développement Construire les fondations Etendre la plate-forme Tâches Definir les schémas et les règles Compiler l’application Charger des jeux de données de test Construire l’application de gestion des souscriptions Ajouter des composants personnalisés Intégration pour tests de bout en bout Focus Perfmon, procédures stockées SQLNS Evènements, souscriptions, souscripteurs, notifications, règles de matching nscontrol create, register, update Souscripteurs, souscriptions, évènements Application web Event Providers, Content Formatters, Delivery Protocols Skills XML T-SQL Script VB Script T-SQL ASP ASP.NET VB Script C#, VB.NET XSLT C# VB.NET Opérations T-SQL © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Construction des fondations: Définition des schémas et des règles 3/30/2017 10:20 AM Construction des fondations: Définition des schémas et des règles Modéliser les évènements comme des lignes dans une table SQL Modéliser les souscriptions comme des lignes Utiliser la puissance de SQL Server pour écrire les règles de matching Formater la notification brute avec une xslt de base © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Construction des fondations: ‘Compiler’ l’application 3/30/2017 10:20 AM Construction des fondations: ‘Compiler’ l’application SQL Server Instance App. #1 App. #2 App. #3 ADF1 ADF2 ADF3 Config nscontrol create Lecture des fichiers XML de configuration d’instance et d’application Création de bases, tables, vues, procédures stockées… nscontrol register (sur chaque machine où le service SQLNS fonctionne) Spécifier la clé d’encryptage Installe un service Windows multi-thread par instance Enregistre les compteurs de performance et les clés de registre SQLNS nscontrol enable Active EP, GP, DP Assigner les permissions & démarrer l’instance Event Provider enabled Generator enabled Distributor enabled Event Provider enabled Generator enabled Distributor enabled Event Provider disabled Generator disabled Distributor disabled © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Construction des fondations: Chargement des jeux de tests 3/30/2017 10:20 AM Construction des fondations: Chargement des jeux de tests Souscripteurs & Souscriptions Web UI: ASP, ASP.NET VB Script, avec utilisation du modèle objet WinForms: C++, C#, VB, VB.NET, avec utilisation du modèle objet Evènements Utiliser les composants standards FileSystemWatcher Ne JAMAIS insérer des données directement dans les tables SQLNS! © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Event Providers Exemple: SQL Server Event Provider SQL Server provider Event Provider Host Query PostQuery Schedule Data Source Events Changes Event Providers Pour alimenter la table SQLNS Events En standard: FileSystemWatcher, Provider SQL Event Provider SQL Server Hé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
Formateurs de contenu Content Formatters Transformation d’une notification brute En 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
Protocoles de distribution Delivery Protocols 3/30/2017 10:20 AM Protocoles de distribution Delivery Protocols Protocoles de distribution Pour envoyer des notifications à plusieurs endpoints En standard: SMTP, File, .NET Alerts * Partenaires pour distribution de SMS Fichier de configuration d’instance: Ajouter la définition du protocole Protocol 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’application Spécifier le user/password pour s’identifier avec le end point Spécifier les paramètres requis pour constuire l’enveloppe © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/30/2017 10:20 AM 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
La référence technique pour les IT Pros : La référence technique technet.microsoft.com 3/30/2017 10:20 AM La référence technique pour les développeurs : msdn.microsoft.com Abonnement TechNet Plus : Versions d’éval + 2 incidents support Visual Studio 2005 + Abonnement MSDN Premium 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 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Votre potentiel, notre passion TM 3/30/2017 10:20 AM Votre potentiel, notre passion TM © 2007 Microsoft France © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.