Partager via


Concepts relatifs à la technologie de messagerie et aux files d'attente de messages

Mise à jour : novembre 2007

Avec Microsoft Windows Message Queuing, les développeurs d'applications peuvent communiquer de façon simple, rapide et fiable avec les programmes d'application par l'envoi et la réception de messages. Si la technologie MessageQueue ne vous est pas familière, cette page offre une vue d'ensemble succincte des termes et concepts essentiels.

Concepts clés de la messagerie

Un message est une unité de données envoyée d'un ordinateur à un autre. Il peut s'agir d'un message simple, constitué d'une chaîne de texte, ou plus complexe, comportant parfois des objets incorporés.

Les messages sont envoyés vers des files d'attente. Une file d'attente de messages est un conteneur qui conserve les messages lors de leur transit. Le gestionnaire de files d'attente de messages joue le rôle d'intermédiaire en relayant un message depuis sa source jusqu'à sa destination. La fonction principale d'une file d'attente est de fournir le routage et d'assurer la remise des messages ; si le destinataire est inaccessible lors de l'envoi d'un message, la file d'attente conserve ce dernier jusqu'à ce que la remise puisse aboutir.

Message Queuing, la technologie de messagerie de Microsoft, offre des fonctionnalités de messagerie et de file d'attente des messages à toute application. Elle propose également ces fonctionnalités à toute combinaison d'ordinateurs sur lesquels Microsoft Windows est installé, qu'ils fassent ou non partie du même réseau et qu'ils soient ou non en ligne en même temps.

Un réseau Message Queuing représente tout groupe d'ordinateurs configurés pour échanger des messages entre eux. Plusieurs ordinateurs du réseau jouent différents rôles afin de garantir un fonctionnement correct de la messagerie. Certains fournissent des informations de routage pour déterminer la procédure d'envoi des messages tandis que d'autres détiennent des informations clés pour tout le réseau ou sont simplement chargés d'envoyer et de recevoir des messages.

Au cours de l'installation de Message Queuing, un administrateur détermine quels serveurs peuvent communiquer entre eux et définit des rôles spéciaux pour des serveurs spécifiques. Les ordinateurs qui composent ce réseau Message Queuing constituent des sites et ils sont connectés entre eux par des liaisons de site. Chaque liaison de site est associée à un coût déterminé par l'administrateur. Ce coût indique la rapidité de transfert des messages via cette liaison.

L'administrateur Message Queuing configure en outre un ou plusieurs ordinateurs du réseau en tant que serveurs de routage. Un serveur de routage prend des décisions quant à la procédure de remise d'un message en examinant le coût des différentes liaisons de site et en déterminant l'itinéraire le plus rapide et le plus efficace pour remettre le message sur plusieurs sites.

L'illustration suivante montre une configuration classique de sites Message Queuing et les interactions entre eux :

Routage de messages entre sites

Acheminement des messages

Conseil :

Vous n'avez pas à vous inquiéter des détails de routage de messages au cours du développement dans la mesure où la configuration de votre réseau Message Queuing peut être optimisée par les administrateurs afin d'offrir une remise efficace des messages.

Types de files d'attente

Il existe deux grandes catégories de files d'attente : les files d'attente créées par vous ou d'autres utilisateurs du réseau et les files d'attente système. Les files d'attente créées par les utilisateurs peuvent être subdivisées comme suit :

  • Les files d'attente publiques sont répliquées dans tout le réseau Message Queuing et sont normalement accessibles à tous les sites connectés par le réseau.

  • Les files d'attente privées ne sont pas publiées sur tout le réseau. Elles ne sont disponibles que sur l'ordinateur local qui les héberge. Les files d'attente privées peuvent devenir accessibles uniquement par des applications qui connaissent le nom du chemin d'accès complet ou l'étiquette de la file d'attente.

  • Les files d'attente d'administration contiennent des messages accusant réception des messages envoyés au sein d'un réseau Message Queuing donné. Spécifiez la file d'attente d'administration que vos composants MessageQueue doivent utiliser, le cas échéant.

  • Les files d'attente de réponses contiennent des messages de réponse retournés à l'application émettrice lorsque le message est reçu par l'application de destination. Spécifiez la file d'attente de réponse que vos composants MessageQueue doivent utiliser, le cas échéant.

Les files d'attente générées par le système appartiennent généralement à l'une des catégories suivantes :

  • Les files d'attente du journal stockent des copies de messages envoyés et des copies de messages retirés d'une file d'attente. Une seule file d'attente de journal sur chaque client Message Queuing stocke des copies des messages envoyés à partir de cet ordinateur. Sur le serveur, une file d'attente du journal distincte est créée pour chaque file d'attente. Ce journal assure le suivi des messages retirés de cette file d'attente.

  • Les files d'attente de lettres mortes stockent des copies de messages qu'il a été impossible de remettre ou qui ont expiré. Si le message expiré ou non remis était un message transactionnel, il est stocké dans une file d'attente de lettres mortes d'un type spécial, appelée file d'attente de lettres mortes de transaction. Les lettres mortes sont stockées sur l'ordinateur sur lequel le message a expiré. Pour plus d'informations sur les délais d'attente et les messages ayant expiré, consultez Propriétés des messages par défaut.

  • Les files d'attente de rapports contiennent des messages qui indiquent l'itinéraire emprunté par un message pour atteindre sa destination. Elles peuvent également contenir des messages de test. Il ne peut y avoir qu'une seule file d'attente de rapport par ordinateur.

  • Les files d'attente système privées sont diverses files d'attente privées qui stockent des messages de notification et d'administration dont le système a besoin pour traiter les actions de messagerie.

La plupart des opérations effectuées dans vos applications concernent l'accès à des files d'attente publiques et à leurs messages. Toutefois, il est probable que vous utilisiez différents types de files d'attente système dans vos opérations journalières, selon que votre application a besoin d'enregistrements dans un journal, d'accusés de réception ou autre traitement spécial.

Communication synchrone et asynchrone

La communication des files d'attente est, par nature, asynchrone dans la mesure où les messages sont envoyés à une file d'attente et reçus d'une file d'attente dans des processus différents. De plus, vous pouvez exécuter des opérations de réception de manière asynchrone. La personne qui souhaite recevoir un message peut appeler la méthode BeginReceive pour toute file d'attente donnée, puis passer immédiatement à d'autres tâches, sans attendre de réponse. Le processus est très différent de la communication synchrone.

Dans le cadre d'une communication synchrone, l'expéditeur d'une demande doit attendre une réponse du récepteur prévu avant de pouvoir effectuer d'autres tâches. Le délai d'attente de l'expéditeur dépend entièrement du temps nécessaire au récepteur pour traiter la demande et envoyer une réponse.

Remarque :

La récupération synchrone ou asynchrone de messages est un processus différent de l'envoi de messages. Les messages sont toujours envoyés en mode asynchrone.

Pour plus d'informations sur le traitement asynchrone dans les files d'attente de messages, consultez Traitement des messages asynchrone.

Sécurité des messages

Il existe plusieurs méthodes destinées à sécuriser le contenu des messages que vous envoyez ou recevez :

  • Vous pouvez recourir à l'authentification pour vérifier la source des messages reçus par vos applications.

  • Vous pouvez utiliser le chiffrement pour empêcher que vos messages soient lus ou utilisés par des personnes non autorisées.

  • Vous pouvez utiliser les droits de contrôle d'accès pour empêcher les utilisateurs disposant de la sécurité ACL (liste de contrôle d'accès) et du code disposant de la sécurité CAS (sécurité d'accès du code) d'envoyer des messages à une file d'attente spécifique d'un ordinateur ou d'en lire.

  • Vous pouvez avoir recours à l'audit pour enregistrer les utilisateurs qui ont tenté d'accéder aux objets Message Queuing, le type d'opération qu'ils ont tenté d'effectuer, et si cette tentative a réussi ou échoué.

Pour plus d'informations, consultez Sécurité des files d'attente de messages.

Installation de Message Queuing

Message Queuing doit être installé sur l'ordinateur de développement pour que vous puissiez utiliser des files d'attente de messages dans le code ou dans l'Explorateur de serveurs. Vous pouvez consulter les instructions relatives à l'installation de Message Queuing dans la documentation Windows 2000 ou Windows NT. Lors de l'installation, vous devez spécifier si vous créez un nouveau serveur Message Queuing principal qui jouera le rôle de concentrateur d'un nouveau réseau, celui de client indépendant d'un réseau existant ou celui de client dépendant d'un réseau existant. Dans la plupart des cas, il ne s'agit pas de créer un nouveau réseau, mais souvent de rejoindre le réseau Message Queuing existant de votre société ou groupe de travail.

Documentation complémentaire

La suite de cette section fournit les informations dont vous avez besoin pour utiliser des composants Message Queuing dans vos applications. Si vous avez besoin de plus amples informations sur les technologies de messagerie dans un contexte autre que celui de Visual Studio ou du .NET Framework, il existe de nombreuses sources d'informations disponibles dans MSDN Library et sur le site Web de Microsoft :

Pour plus d'informations sur

Consultez cette page dans votre documentation Windows 2000 Server

Installation d'un réseau Message Queuing

Installation de Message Queuing

Concepts généraux sur Message Queuing

Vue d'ensemble Message Queuing

Optimisation des performances de Message Queuing

Administration de Message Queuing

Voir aussi

Autres ressources

Utilisation de composants de messagerie