Share via


Création de contrats Service Broker

Les contrats définissent le nom d'une tâche professionnelle spécifique et répertorient les types de messages utilisés dans cette tâche. Les contrats Service Broker définissent deux rôles de service : l'initiateur et la cible. L'initiateur d'une conversation entame la conversation en envoyant un message à la cible. Le contrat utilisé par la conversation définit le rôle de service qui peut envoyer des messages d'un type donné.

Pour chaque tâche effectuée par le service, vous devez créer un contrat qui inclut les types de messages associés à chaque étape de la tâche. Pour chaque type de message, vous devez spécifier si le type de message est envoyé de l'initiateur à la cible, de la cible à l'initiateur ou dans les deux sens.

Un contrat ne spécifie pas l'ordre des messages ou le nombre de messages d'un type spécifique pouvant être envoyés. Service Broker impose que l'initiateur envoie le premier message dans une conversation de dialogue. Après le premier message, il n'y a plus d'impératifs en termes de classement.

Plusieurs contrats peuvent utiliser les mêmes types de messages. Par exemple, un message composé d'un document XML qui contient un numéro de référence et une quantité peut être utile dans une tâche qui accepte une commande d'un client, une tâche qui gère l'inventaire et une tâche qui demande l'expédition. Chaque tâche correspond à un contrat spécifique, mais les trois contrats peuvent utiliser le même type de message.

Le format réseau d'un message inclut le nom du contrat. Par conséquent, les noms de contrats sont souvent choisis afin d'éviter les problèmes de classement et les conflits de noms. Pour plus d'informations sur l'attribution de nom, consultez Attribution de noms aux objets Service Broker.