Sécurité, fiabilité, évolutivité et disponibilité de Notification Services
Un système d'entreprise doit être sécurisé, fiable, évolutif et disponible. Microsoft SQL Server Notification Services répond à ces impératifs via la structure de programmation et l'architecture du serveur exécutant Notification Services.
Sécurité
Notification Services, Microsoft .NET Framework et SQL Server possèdent des fonctionnalités de conception qui permettent aux développeurs d'applications et aux administrateurs d'imposer une sécurité de bout en bout aux applications et au déploiement dans son ensemble :
- Notification Services a recours à des modèles de sécurité Web qui sont la norme de la profession pour communiquer sur Internet à l'aide de périphériques filaires ou sans fil. Il utilise les mécanismes standard de sécurité de Microsoft Windows ainsi que les mécanismes de sécurité basés sur SQL Server 2005 pour protéger le serveur.
- Les instances individuelles de Notification Services sont isolées les unes des autres à l'aide des mécanismes de sécurité basés sur SQL Server 2005. Ainsi, plusieurs instances peuvent être hébergées sur les mêmes ordinateurs, la sécurité de chacune étant garantie individuellement. Si vous voulez isoler complètement les instances, ne placez pas plusieurs instances dans la même base de données car les instances partagent des rôles de base de données.
- Les abonnés individuels sont isolés les uns des autres grâce à la façon dont les notifications sont générées et distribuées. Par conséquent, chaque abonnement est traité comme s'il était le seul abonnement géré par le système.
- Les actions conditionnelles, qui prennent en charge les requêtes définies par l'utilisateur pour un jeu de données, nécessitent des comptes d'utilisateur de base de données distincts pour que les utilisateurs ne puissent pas accéder à d'autres données de votre serveur.
- Les développeurs d'applications peuvent étendre Notification Services en définissant leurs propres fournisseurs d'événements. Ils s'exécutent comme un code géré pris en charge par .NET Framework, ce qui garantit qu'ils ne compromettent pas la sécurité du serveur.
Fiabilité
Le Moteur de base de données SQL Server 2005 stocke les données et traite les abonnements d'une manière très fiable, faisant bénéficier Notification Services des avantages suivants :
- Les données d'abonnement administrées par Notification Services sont stockées dans SQL Server 2005, un serveur de bases de données très robuste, qui prend en charge la journalisation préalable et le clustering avec basculement.
- Dans Notification Services, le traitement des événements, des abonnements et des notifications est entièrement transactionnel, offrant ainsi des garanties de fiabilité supplémentaires. Notez que certains protocoles de remise, par exemple SMTP (Simple Mail Transfer Protocol), ne garantissent pas la remise des messages ; en revanche, la plateforme Notification Services possède une logique de renvoi qui permet à l'application de renvoyer les messages pour tenter une nouvelle remise.
De même, Notification Services, en utilisant un code managé pour les composants personnalisés, garantit que les composants personnalisés ne compromettent pas la stabilité du système. Les développeurs d'applications peuvent bâtir des fournisseurs d'événements et des protocoles de livraison fiables, par exemple fondés sur Message Queuing (également nommé MSMQ), et assurent ainsi une fiabilité parfaite de bout en bout.
Évolutivité
Notification Services prend en charge des applications à gros volumes, avec des milliers d'événements entrants par minute, des millions d'abonnements mis en correspondance et des milliers de notifications émises chaque minute, sur un serveur multiprocesseur sous Windows. Les applications peuvent être distribuées de plusieurs façons :
- Les interfaces d'administration des abonnements peuvent s'exécuter en parallèle, en tirant parti de l'efficacité de l'évolutivité verticale du Moteur de base de données SQL Server sous-jacent.
- Notification Services est une application multithread distribuée verticalement lorsqu'elle s'exécute sur un ordinateur multiprocesseur.
- Le service Notification Services peut être déployé sur un serveur tandis que la base de données de Notification Services peut être déployée sur un autre serveur. Cette configuration est très efficace car la génération des notifications est exécutée sur le serveur de bases de données, alors que le formatage est effectué sur le serveur Notification Services.
- Une unique instance peut prendre en charge plusieurs fournisseurs d'événements et plusieurs distributeurs. Vous pouvez distribuer les fournisseurs d'événements, le générateur et les serveurs de distribution entre plusieurs serveurs. La possibilité de répartir les distributeurs est intéressante dans les déploiements où sont traités de gros volumes de notifications, avec une grosse charge de formatage et de livraison.
- Pour une distribution horizontale plus étendue, vous pouvez répartir les abonnements entre plusieurs instances Notification Services, chacune fonctionnant indépendamment. Parce que le modèle d'application rend les abonnements indépendants les uns des autres, une telle répartition est naturelle, et la distribution des applications de notification est donc extrêmement modulable. Vous devez mettre en œuvre vous-même la répartition des abonnements dans votre application. Notification Services ne le fait pas pour vous automatiquement.
Disponibilité
Dans une instance de Notification Services, toutes les données et tous les états sont enregistrés dans le serveur de base de données SQL Server. Seules les données transitoires sont conservées dans le fournisseur d'événements, le générateur et le distributeur.
SQL Server 2005, où les données sont stockées et traitées, est un serveur de bases de données fiable intégrant plusieurs technologies de haute disponibilité, dont le clustering avec basculement, la copie des journaux de transaction et la réplication transactionnelle. Le serveur de base de données peut être configuré de façon à gérer automatiquement les défaillances du matériel.
Voir aussi
Concepts
Qu'est-ce que Notification Services ?
Scénarios d'utilisation pour Notification Services
Architecture de Notification Services
Structure de programmation de Notification Services
Options de déploiement de Notification Services
Notification Services et les autres technologies
Éditions de Notifications Services
Autres ressources
Maintien d'une haute disponibilité