Maintenant que tous les éléments sont définis, il est possible d'initialiser une conversation au sens Service Broker. Pour mener à bien cette tâche le Transact SQL s'est enrichi des termes suivants : BEGIN DIALOG CONVERSATION, MOVE DIALOG, GET CONVERSATION GROUP, END CONVERSATION, SEND, RECEIVE, GET TRANSMISSION STATUS, BEGIN CONVERSATION TIMER.
Etablir le dialogue
La syntaxe détaillée de ces différentes instructions est disponible dans la documentation en ligne de SQL Server 2005, mais une utilisation de quelques une de ces instructions est illustrée avec les exemples qui suivent. Dans l e premier exemple, illustré ci-dessous, l’initiateur et la cible de la conversation, respectivement service 1 et service 2 sont exécutés sur la même base et depuis le même script. Le message au format xml est transmis à la cible qui le récupère depuis la file d’attente associée au service cible, c’est à dire dans ce cas la file 2 qui est la file d’attente associée à sevice 2.
Cet exemple simple, permet de valider simplement l’ensemble de la structure mise en place et d’illustrer les instructions spécifiques au dialogue entre les 2 services.
begin tran
— Exemple d’utilisation de service broker
DECLARE @identifiantConversation UNIQUEIDENTIFIER
— Initier le dialogue
BEGIN DIALOG CONVERSATION @identifiantConversation
FROM SERVICE service1 TO SERVICE ‘service2’
ON CONTRACT ContratExemple WITH ENCRYPTION=OFF;
— Envoyer un message
declare @messagePersonnalise xml;
set @messagePersonnalise=
N'<client><nom>DUPONT</nom><prenom>Jean</prenom></client>’;
SEND ON CONVERSATION @identifiantConversation
MESSAGE TYPE MResultat (@messagePersonnalise);
commit tran;
begin tran
— Lire le message depuis la file d’attente
declare @messageRecu TABLE(
NomService NVARCHAR(512),
NomContrat NVARCHAR(256),
TypeMessage NVARCHAR(256),
msg NVARCHAR(MAX));
WAITFOR(
RECEIVE TOP (1) service_name, service_contract_name,message_type_name, message_ body
FROM file2
INTO @messageRecu
),TIMEOUT 10;
select * from @messageRecu;
— Mettre fin a la conversation
END CONVERSATION @identifiantConversation;
commit tran;
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA de confiance : le facteur clé pour rentabiliser les projets d’entreprise
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Hôpitaux virtuels : renforcer le système de santé français grâce au numérique
- Cybercriminalité bancaire : l’IA industrialise les attaques en 2026
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
