Architecture du service

This section describes the database objects that specify the basic design of an application that uses Service Broker .

At design time, Service Broker applications specify the following objects:

  • Types de messages — Ils définissent les noms des messages échangés entre les applications. Le cas échéant, ils fournissent la validation pour ces messages.
  • Contrats— Ils spécifient la direction et le type des messages dans une conversation donnée.
  • Files d'attente— Elles stockent les messages. This storage mechanism allows for asynchronous communication between services. Service Broker queues provide additional benefits, such as automatically locking messages in the same conversation group.
  • Services— Are addressable endpoints for conversations. Service Broker messages are sent from one service to another service. Un service spécifie une file d'attente pour la conservation des messages et précise les contrats pour lesquels le service peut être la cible. Un contrat fournit un service doté d'une série bien définie de types de messages.

A Service Broker application uses the SQL Server objects in the previous list to conduct a conversation. Any program that can run Transact-SQL statements in SQL Server can use Service Broker . Les applications peuvent être des procédures stockées écrites en Transact-SQL ou dans un langage compatible CLR, mais aussi des programmes externes qui se connectent à une instance de SQL Server.

The following diagram shows a Service Broker service:

Relations entre objets Service Broker

Comme montré dans l'illustration, le contrat ProcessExpenses précise trois types de messages : SubmitExpense, AcceptDenyExpense et ReimbursementIssued. Le contrat répertorie les types de messages nécessaires pour une conversation accomplissant une tâche de remboursement de frais. Le contrat ProcessExpenses régit les conversations entre le service ProcessExpense et tout service engageant une conversation avec ce service. Le service ProcessExpense stocke les messages entrants et sortants dans la file d'attente ExpenseQueue. La procédure stockée ExpenseProcessing traite les messages qu'elle reçoit de cette file d'attente avant de les y renvoyer, afin qu'ils soient acheminés vers le broker approprié si une réponse est nécessaire.

Voir aussi

Concepts

Types de messages
Contrats
Files d'attente
Création d'applications à l'aide de Service Broker
Services

Autres ressources

Didacticiels de Service Broker

Aide et Informations

Assistance sur SQL Server 2005