Responsabilités du développeur pour Service Broker

Le développeur d'applications est chargé de concevoir l'application Service Broker et de créer les éléments qui requièrent une programmation. L'administrateur système est chargé de configurer et de gérer Service Broker. Les développeurs et les administrateurs doivent travailler ensemble lors de la planification du système, afin de garantir que celui-ci est développé et géré de façon optimale pour leur environnement et les objectifs de leur entreprise.

Les tâches impliquées dans la création d'une application individuelle dépendent des besoins de l'application. Les éléments suivants constituent une séquence commune de tâches pour développer une application Service Broker :

  1. Planifiez l'application. Créez un plan des tâches que l'application doit accomplir. Décrivez les conversations qui ont lieu pendant chaque tâche. Quel point de terminaison doit fournir quelles informations, et dans quel ordre ? Quel traitement doit avoir lieu ? Quelles priorités doivent être assignées aux conversations ? Toutes les informations suivantes dépendent de ce plan.

  2. Déterminez le format et la structure de chaque message dans chaque conversation. Planifiez la séquence attendue des échanges pour les messages, et la façon dont chaque participant de la conversation doit répondre aux erreurs et aux messages envoyés selon un ordre inattendu.

  3. Si la conversation utilise les messages XML, créez un schéma pour chaque message XML. Vous utilisez les schémas pendant le développement, les tests et la résolution des problèmes. Lorsque votre service est en production, vous pouvez décider de supprimer la validation de vos types de message pour améliorer les performances.

  4. Créez un type de message pour chaque message de chaque conversation.

  5. Créez un contrat pour chaque conversation. Le contrat identifie les types de message qui peuvent être utilisés par chaque point de terminaison de la conversation.

  6. Créez une file d'attente pour stocker les messages qui seront reçus par l'application.

  7. Créez un service pour exposer les fonctionnalités définies par le contrat, et implémentées par la procédure stockée, que vous avez créé. Lorsque vous créez un service, vous l'associez à la file d'attente que vous avez créée dans l'étape précédente. En procédant ceci, vous demandez à Service Broker que tous les messages qui parviennent destinés à ce service soient placés dans la file d'attente identifiée.

  8. Examinez les plans de priorité que vous avez établis dans l'étape 1. Créez les priorités de conversation qui couvrent tous les points de terminaison conçus pour utiliser niveaux de priorité autres que le niveau de priorité par défaut. Si les niveaux de priorité doivent être utilisés lorsque les messages sont transmis à partir d'une base de données, assurez-vous que l'option HONOR_BROKER_PRIORITY de cette base de données est activée.

  9. Créez une application qui implémente le modèle d'échange de messages attendu et les impératifs de traitement identifiés dans l'étape 1. Si votre application utilise l'activation interne, l'application est une procédure stockée.

  10. Si votre application utilise l'activation interne, modifiez la file d'attente pour activer l'activation. Spécifiez la procédure stockée créée dans l'étape 8 comme procédure stockée d'activation.

  11. Identifiez les services qui utilisent le service que vous venez de créer. Si l'un de ces services existe en dehors de l'instance SQL Server locale, créez son itinéraire.

  12. Examinez les services distants que vous avez identifiés dans l'étape précédente et déterminez les impératifs de sécurité pour communiquer avec eux. Si nécessaire, créez les certificats pour appliquer ces spécifications, puis créez les utilisateurs de base de données pour les certificats. Associez les certificats à ces connexions. Les administrateurs ou les développeurs des autres services doivent créer les liaisons de service distant pour activer la sécurité du dialogue sur le trafic en direction de ce service.

  13. Pendant le développement et les tests, il est souvent pratique qu'une application utilise les noms d'utilisateur que l'application emploiera en production, mais de n'associer ces noms d'utilisateur qu'aux seuls certificats utilisés dans l'environnement de développement et de test. Lorsque l'application se déplace en production, utilisez les certificats créés pour l'environnement de production. En utilisant différents certificats, vous pouvez réduire l'effort impliqué pour déployer l'application tout en continuant à maintenir la sécurité entre l'environnement de développement et l'environnement de production.