Utilisations générales de Service Broker
Service Broker se révèle utile pour toute application devant effectuer un traitement asynchrone ou répartir un traitement sur plusieurs ordinateurs. Les utilisations classiques de Service Broker comprennent les tâches suivantes :
Déclenchements asynchrones
Traitement de requêtes fiable
Collecte de données fiable
Traitement distribué côté serveur pour des applications clientes
Regroupement de données pour des applications clientes
Traitement de lots à grande échelle
Déclenchements asynchrones
Les nombreuses applications qui utilisent des déclencheurs, tels que les systèmes OLTP (OnLine Transaction Processing), peuvent retirer un avantage certain de Service Broker. Un déclencheur place dans une file d'attente un message sollicitant la réalisation d'un travail auprès d'un service de Service Broker. En fait, le déclencheur n'effectue pas le travail demandé : il crée plutôt un message contenant des informations sur le travail à accomplir et envoie ce message à un service qui effectue le travail. Le déclencheur est ensuite retourné.
Lorsque la transaction originale est validée, Service Broker remet le message au service de destination. Le programme qui met en œuvre le service accomplit le travail dans une transaction distincte. Le fait de réaliser le travail dans une transaction à part permet la validation immédiate de la transaction d'origine. L'application évite ainsi les ralentissements du système qui découlent habituellement d'une transaction originale laissée ouverte pendant l'exécution du travail.
Traitement de requêtes fiable
Certaines applications doivent traiter des requêtes en toute fiabilité, sans que défaillances matérielles, coupures d'électricité et autres problèmes du même type puissent entrer en ligne de compte. Une application nécessitant un traitement de requêtes fiable peut soumettre des requêtes par l'envoi de messages à un service de Service Broker. L'application qui met en œuvre le service lit le message, exécute la requête et retourne les résultats. Ces trois opérations ont lieu dans la même transaction. Si une panne survient avant la validation de la transaction, l'intégralité de la transaction est annulée et le message retourne dans la file d'attente. Lorsque l'ordinateur est de nouveau opérationnel, l'application redémarre et procède de nouveau au traitement du message.
Collecte de données fiable
Les applications qui rassemblent des données à partir d'une multitude de sources peuvent tirer parti de Service Broker pour la collecte fiable d'informations. Ainsi, une application de vente au détail gérant plusieurs sites peut utiliser Service Broker pour envoyer des informations de transactions à une banque de données centrale. Dans la mesure où Service Broker assure la remise fiable et asynchrone des messages, chaque site peut poursuivre le traitement des transactions même si, à un moment donné, il est temporairement déconnecté de la banque de données centrale. La sécurité Service Broker permet de s'assurer que les messages sont bien remis aux destinataires voulus et que les données sont protégées pendant leur transit.
Traitement distribué côté serveur pour des applications clientes
Les applications volumineuses qui ont accès à plusieurs bases de données SQL Server peuvent bénéficier de la technologie Service Broker. Par exemple, une application Web de commande de livres en ligne peut exploiter Service Broker du côté serveur pour échanger des informations entre les différentes bases de données qui contiennent des informations sur les commandes, les clients, les stocks et les paiements. Dans la mesure où Service Broker fournit une mise en file d'attente des messages et leur remise fiable, l'application peut continuer à accepter des commandes même lorsque l'une des bases de données est indisponible ou surchargée. Dans ce scénario, Service Broker fonctionne comme une infrastructure servant à un système OLTP distribué.
Regroupement de données pour des applications clientes
Les applications qui doivent utiliser ou afficher des informations simultanément à partir de plusieurs bases de données peuvent tirer profit des fonctionnalités de Service Broker. Ainsi, une application de service clientèle qui regroupe des données de divers emplacements sur un seul et même écran peut utiliser Service Broker pour l'exécution de ces différentes demandes en parallèle plutôt qu'en séquentiel : le temps de réponse de l'application se trouve alors considérablement raccourci. L'application du service clientèle envoie des demandes à différents services en parallèle ; au fur et à mesure qu'ils répondent aux demandes, l'application dédiée rassemble les réponses et affiche les résultats.
Traitement de lots à grande échelle
Les applications qui doivent procéder au traitement de lots à grande échelle peuvent tirer profit de l'utilisation de la mise en file d'attente et du traitement en parallèle fournis par Service Broker, afin de gérer rapidement et efficacement de gros volumes de travaux. L'application stocke les données à traiter dans une file d'attente Service Broker. Un programme lit régulièrement les données depuis la file d'attente et procède à leur traitement. Une application peut exploiter la fonction de messagerie fiable qui est fournie par Service Broker pour effectuer un traitement par lots sur un autre ordinateur que celui d'où les requêtes sont originaires.
Voir aussi