Freigeben über


Hintergrundinformationen zu Meldungswarteschlangen und Messaging-Technologie

Aktualisiert: November 2007

Microsoft Windows Message Queuing bietet Anwendungsentwicklern eine einfache Möglichkeit, durch das Senden und Empfangen von Meldungen schnell und zuverlässig mit Anwendungsprogrammen zu kommunizieren. Wenn Sie nicht mit der MessageQueue-Technologie vertraut sind, bietet Ihnen dieses Thema eine kurze Übersicht über die wesentlichen Begriffe und Konzepte.

Grundbegriffe des Messaging

Eine Meldung ist eine Dateneinheit, die zwischen zwei Computern ausgetauscht wird. Eine Meldung kann sehr einfach sein und nur aus einer Textzeichenfolge bestehen oder komplexer, wobei auch eingebettete Objekte beteiligt sein können.

Meldungen werden an Warteschlangen gesendet. Eine Meldungswarteschlange ist ein Container, in dem die Meldungen so lange zwischengespeichert werden, bis sie übermittelt wurden. Der Meldungswarteschlangenmanager fungiert als Mittler bei der Übertragung einer Meldung von der Quelle zum Ziel. Ein Hauptzweck einer Warteschlange besteht darin, für die Weiterleitung zu sorgen und die Übermittlung von Meldungen zu garantieren. Wenn der Empfänger beim Senden einer Meldung nicht verfügbar ist, speichert die Warteschlange die Meldung so lange, bis sie erfolgreich übermittelt werden konnte.

Message Queuing, die Microsoft-Messagingtechnologie, stellt Messaging- und Meldungswarteschlangenfunktionen für beliebige Anwendungen zur Verfügung. Darüber hinaus stellt sie Messaging und andere Funktionen für eine beliebige Kombination von Computern mit Microsoft Windows zur Verfügung, unabhängig davon, ob sich diese im gleichen Netzwerk befinden oder zur gleichen Zeit online sind.

Ein Message Queuing-Netzwerk ist eine Gruppe von Computern, die sich gegenseitig Meldungen schicken können. Die verschiedenen Computer im Netzwerk spielen verschiedene Rollen, um eine reibungslose Durchführung des Messaging zu gewährleisten. Manche stellen Routinginformationen bereit, um festzulegen, wie Meldungen gesendet werden, manche besitzen Schlüsselinformationen für das gesamte Netzwerk und manche senden und empfangen einfach nur Meldungen.

Beim Einrichten von Message Queuing entscheidet der Administrator, welche Server miteinander kommunizieren können. Außerdem legt er bestimmte Aufgaben für bestimmte Server fest. Die Computer, die dieses Message Queuing-Netzwerk bilden, werden als Sites bezeichnet und sind durch Sitelinks miteinander verbunden. Jedem Sitelink sind Kosten zugeordnet, die vom Administrator bestimmt werden und angeben, wie schnell der Sitelink von Meldungen passiert werden kann.

Der Message Queuing-Administrator richtet auch einen oder mehrere Computer im Netzwerk ein, die als Routingserver bezeichnet werden. Ein Routingserver trifft Entscheidungen darüber, wie eine Meldung übermittelt wird, indem er die Kosten verschiedener Sitelinks prüft und die schnellste und effizienteste Möglichkeit bestimmt, mit der die Meldung über mehrere Sites übermittelt werden kann.

Die folgende Abbildung zeigt eine typische Konfiguration von Message Queuing-Sites und deren Interaktion:

Weiterleiten von Meldungen zwischen Sites

Tipp:

Sie müssen sich während der Anwendungsentwicklung keine Gedanken über die Einzelheiten des Meldungsroutings machen, weil das Message Queuing-Netzwerk von Administratoren optimiert werden kann, um eine effiziente Meldungsübermittlung zu gewährleisten.

Warteschlangentypen

Es gibt zwei Hauptkategorien von Warteschlangen – Warteschlangen, die von Ihnen oder anderen Netzwerkbenutzern erstellt werden, und Systemwarteschlangen. Folgende benutzerdefinierten Warteschlangen stehen zur Verfügung:

  • Öffentliche Warteschlangen werden über das Message Queuing-Netzwerk hinweg repliziert; im Grunde können alle Sites, die über das Netzwerk verbunden sind, darauf zugreifen.

  • Private Warteschlangen werden nicht im ganzen Netzwerk veröffentlicht. Stattdessen sind sie nur auf dem lokalen Computer verfügbar, auf dem sie sich befinden. Nur Anwendungen, die den vollständigen Pfadnamen oder die Bezeichnung der Warteschlangen kennen, können auf diese Art von Warteschlangen zugreifen.

  • Verwaltungswarteschlangen enthalten Meldungen, die den Empfang von Meldungen bestätigen, die innerhalb eines vorhandenen Message Queuing-Netzwerks gesendet wurden. Geben Sie die Verwaltungswarteschlange an, die von den MessageQueue-Komponenten verwendet werden soll.

  • Antwortwarteschlangen enthalten Antwortmeldungen, die an die sendende Anwendung zurückgeschickt werden, nachdem die Meldung von der Zielanwendung empfangen wurde. Geben Sie die Antwortwarteschlange an, die von den MessageQueue-Komponenten verwendet werden soll.

Systemgenerierte Warteschlangen gehören im Allgemeinen zu einer der folgenden Kategorien:

  • Journalwarteschlangen speichern optional Kopien von gesendeten Meldungen sowie Kopien von Meldungen, die aus einer Warteschlange entfernt wurden. Auf jedem Message Queuing-Client speichert eine einzelne Journalwarteschlange Kopien von Meldungen, die von diesem Computer gesendet wurden. Auf dem Server wird für jede Warteschlange eine separate Journalwarteschlange erstellt. Dieses Journal verfolgt Meldungen, die aus dieser Warteschlange entfernt werden.

  • Warteschlangen für unzustellbare Meldungen speichern Kopien von nicht zustellbaren oder abgelaufenen Meldungen. Wenn es sich bei der abgelaufenen oder unzustellbaren Meldung um eine Transaktionsmeldung handelte, wird sie in einer besonderen Art von Warteschlange für unzustellbare Meldungen gespeichert, die als Warteschlange für unzustellbare Transaktionsmeldungen bezeichnet wird. Unzustellbare Meldungen werden auf dem Computer gespeichert, auf dem die Meldung abgelaufen ist. Weitere Informationen über Timeoutintervalle und abgelaufene Meldungen finden Sie unter Standardeigenschaften von Meldungen.

  • Berichtswarteschlangen enthalten Meldungen, die die Route angeben, die eine Meldung zu ihrem Ziel genommen hat. Sie können außerdem Testmeldungen enthalten. Auf einem Computer kann es immer nur eine Berichtswarteschlange geben.

  • Private Systemwarteschlangen sind eine Reihe von privaten Warteschlangen mit Verwaltungsmeldungen und Benachrichtigungen, die das System zum Verarbeiten von Messaging-Aktionen benötigt.

Der Großteil der Arbeit, die Sie in den Anwendungen erledigen, betrifft den Zugriff auf öffentliche Warteschlangen und ihre Meldungen. Je nach den Anforderungen der Anwendungen an Journalaufzeichnung, Bestätigung und andere spezifische Verarbeitungsverfahren, verwenden Sie bei Ihrer täglichen Arbeit höchstwahrscheinlich jedoch mehrere Arten von Systemwarteschlangen.

Synchrone und asynchrone Kommunikation

Die Warteschlangenkommunikation ist insofern asynchron, als Meldungen in separaten Prozessen an eine Warteschlange gesendet und von einer Warteschlange empfangen werden. Außerdem können Sie Empfangsvorgänge asynchron ausführen. Die Person, die eine Meldung erhalten möchte, kann die BeginReceive-Methode für eine beliebige Warteschlange aufrufen und anschließend sofort mit anderen Aufgaben fortfahren, ohne auf eine Antwort warten zu müssen. Dies unterscheidet sich erheblich von der bekannten Operation synchrone Kommunikation.

Bei der synchronen Kommunikation muss der Absender einer Anforderung auf eine Antwort vom gewünschten Empfänger warten, bevor er andere Aufgaben ausführen kann. Die Wartezeit des Absenders richtet sich ganz nach der Zeit, die der Empfänger zum Verarbeiten der Anforderung und zum Senden einer Antwort benötigt.

Hinweis:

Der synchrone oder asynchrone Abruf von Meldungen ist separat vom Senden von Meldungen zu betrachten. Meldungen werden immer asynchron gesendet.

Weitere Informationen über die asynchrone Verarbeitung in Meldungswarteschlangen finden Sie unter Asynchrone Meldungsverarbeitung.

Sicherheit bei Meldungen

Sie können auf folgende Arten helfen, den Inhalt von gesendeten und empfangenen Meldungen zu sichern:

  • Mit der Authentifizierung können Sie die Quelle der Meldungen prüfen, die von den Anwendungen empfangen werden.

  • Mit der Verschlüsselung können Sie sicherstellen, dass die Meldungen nicht von unbefugten Personen gelesen oder verwendet werden können.

  • Sie können das Senden von Meldungen an eine bestimmte Warteschlange eines Computers (oder das Lesen von Meldungen in einer solchen) mithilfe von Zugriffsrechten für Benutzer mit ACL-basierter Sicherheit und Code mit Codezugriffssicherheit einschränken.

  • Mit der Überwachungsfunktion können Sie aufzeichnen, welche Benutzer auf Message Queuing-Objekt zuzugreifen versuchen, welche Art der Operation ausgeführt werden sollte und ob der Zugriff erfolgreich war oder fehlschlug.

Weitere Informationen hierzu finden Sie unter Sicherheit bei Meldungswarteschlangen.

Installieren von Message Queuing

Wenn Sie entweder im Code oder im Server-Explorer mit Meldungswarteschlangen arbeiten möchten, muss Message Queuing auf dem Entwicklungscomputer installiert sein. Anweisungen zum Installieren von Message Queuing finden Sie in der Dokumentation zu Windows 2000 oder Windows NT. Bei der Installation müssen Sie angeben, ob Sie einen neuen primären Message Queuing-Server erstellen, der als Hub eines neuen Netzwerks fungiert, einen unabhängigen Client eines vorhandenen Netzwerks oder einen abhängigen Client eines vorhandenen Netzwerks. In den meisten Fällen erstellen Sie kein neues Netzwerk, sondern stellen eine Verbindung zum vorhandenen Message Queuing-Netzwerk für Ihr Unternehmen oder Ihre Arbeitsgruppe her.

Weiterführende Informationen

Die restlichen Seiten dieses Kapitels enthalten Informationen, die Sie für die Verwendung von Message Queuing-Komponenten in den Anwendungen benötigen. Wenn Sie weitere Informationen über Messaging-Technologien außerhalb des Visual Studio- oder .NET Framework-Kontexts benötigen, stehen Ihnen in der MSDN Library und auf der Microsoft-Website viele Informationsquellen zur Verfügung:

Thema

Seite in der Dokumentation zu Windows 2000 Server

Einrichten eines Message Queuing-Netzwerks

Installieren von Message Queuing

Allgemeine Message Queuing-Konzepte

Verstehen von Message Queuing

Optimieren der Message Queuing-Leistung

Verwalten von Message Queuing

Siehe auch

Weitere Ressourcen

Verwenden von Messagingkomponenten