Créer des services Service Broker

S’applique à :SQL ServerAzure SQL Managed Instance

La définition d'un service Service Broker inclut les noms des contrats pour lesquels le service est une cible. Un service cible représente une adresse qui accepte des demandes pour les tâches identifiées par les contrats que le service spécifie. Un service initiateur représente une adresse de retour pour une conversation avec un service cible.

Un service représente un processus d'entreprise sous la forme d'un jeu de tâches distinct. Chaque contrat au sein du service représente une tâche spécifique. Un service peut spécifier plusieurs contrats, et un contrat peut être utilisé par plusieurs services.

Chaque service utilise une file d'attente pour stocker des messages. Les messages envoyés au service sont remis à la file d'attente. En règle générale, il est plus facile d'implémenter une application lorsqu'une file d'attente est utilisée par un seul service. Toutefois, pour offrir davantage de souplesse, Service Broker autorise plusieurs services à spécifier la même file d'attente. Dans ce cas, l’application traite tous les messages du même type de la même façon, ou inspecte à la fois le nom du type de message et le nom du service pour déterminer comment traiter le message. Cette stratégie peut être intéressante lorsqu'une application prend en charge plusieurs versions du même service.

Le format réseau d'un message inclut le nom du service. Par conséquent, les noms de services sont souvent choisis afin d'éviter les problèmes de classement et les conflits de noms. Pour plus d’informations sur l’affectation de noms, consultez Les objets Service Broker name.

Pour créer un service, vous devez effectuer les opérations suivantes :

  1. Créez des types de messages qui définissent les données pouvant être transférées dans les deux sens.

  2. Créez un contrat qui identifie les types de messages pouvant être utilisés, ainsi que le point de terminaison pouvant envoyer les messages, pour accomplir une tâche donnée.

  3. Créez une application permettant de recevoir, de traiter et d'envoyer des messages en fonction des besoins afin d'accomplir la tâche donnée.

  4. Créez une file d'attente permettant de stocker les messages entrants du service. Vous pouvez associer la file d’attente à une procédure stockée d’activation afin que le répartiteur active automatiquement la procédure stockée pour traiter les messages à mesure que les messages arrivent.

  5. Créez un service et associez-le à la file d'attente qui recevra les messages du service. Le service expose les contrats qui définissent les tâches que le service effectuera pour le compte d'autres services. Le service n’a pas besoin de spécifier des contrats pour les tâches que le service demande d’autres services.

Les étapes exactes impliquées dans la création d’un service peuvent différer un peu selon les besoins spécifiques du service. Par exemple, lorsque vous créez un service pour gérer les notifications d’événements, le type de message et le contrat sont déjà définis par SQL Server. Il n’est donc pas nécessaire de les créer.