Partager via


Création de services Service Broker

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, soit l'application traite tous les messages du même type de manière identique, soit elle analyse 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'attribution de nom, consultez Attribution de noms aux objets Service Broker.

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 Service Broker active automatiquement la procédure stockée pour traiter les messages au fur et à mesure de leur arrivée.

  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 de contrat pour les tâches qu'il demande auprès d'autres services.

La procédure précise de création d'un service peut différer en fonction des besoins spécifiques du service. Par exemple, lorsque vous créez un service pour gérer des notifications d'événements, le type de message et le contrat sont déjà définis par SQL Server ; il est donc inutile de les créer.