Im Zusammenhang mit Message Queuing sind Warteschlangen temporäre Speicherorte für verschiedene Typen von Nachrichten. Folgende Verursacher können Warteschlangen erstellen:

  • Anwendungen

  • Administratoren

  • Message Queuing

Von Anwendungen oder Administratoren erstellte Warteschlangen werden als Anwendungswarteschlangen bezeichnet. Warteschlangen, die von Message Queuing erstellt werden, sind als Systemwarteschlangen bekannt.

Anwendungswarteschlangen

Message Queuing schließt die folgenden Typen von Anwendungswarteschlangen ein:

Öffentliche und private Warteschlangen

Öffentliche Warteschlangen

In einer Domänenumgebung werden öffentliche Warteschlangen in den Active Directory-Domänendiensten veröffentlicht und damit in der Gesamtstruktur repliziert. Nur die Eigenschaften dieser Warteschlangen werden repliziert, nicht die Warteschlangen selbst oder ihre Inhalte. Jeder Computer innerhalb der Gesamtstruktur kann auf Informationen über öffentliche Warteschlangen zugreifen, sofern der Benutzer ausreichende Berechtigungen für den Zugriff auf die betreffenden Warteschlangenobjekte hat. Allgemein gesagt kann jeder Benutzer in der Gesamtstruktur, der Zugriff auf Active Directory-Domänendienste hat und über die Berechtigung zum Senden von Nachrichten für eine gegebene öffentliche Warteschlange verfügt, Nachrichten dorthin senden. Diese Berechtigung wird standardmäßig beim Erstellen der Warteschlange gewährt. Um Nachrichten aus einer öffentlichen Warteschlange lesen zu können, müssen Sie über die Berechtigungen Nachricht einsehen oder Nachricht empfangen für die Warteschlange verfügen.

In einer Umgebung mit Active Directory-Domänendiensten stellt die Definition von öffentlichen Warteschlangen sicher, dass die Warteschlangen im Verzeichnisdienst registriert und die Registrierungen gesichert werden. Die Warteschlangen sind dauerhaft und für andere Anwendungen verfügbar.

Private Warteschlangen

Private Warteschlangen werden nicht in Active Directory-Domänendienste veröffentlicht. Sie werden auf dem lokalen Computer angezeigt, auf dem sie sich befinden. Private Warteschlangen haben den Vorteil, keinen Verzeichnisdienstoverhead hervorzurufen, wodurch sie folgende Eigenschaften aufweisen:

  • Sie sind schneller zu erstellen.

  • Beim Zugriff tritt keine Wartezeit auf.

  • Sie rufen keinen Replikationsoverhead hervor.

In einer Arbeitsgruppenumgebung stehen ausschließlich private Warteschlangen zur Verfügung.

Damit eine Message Queuing-Anwendung auf dem lokalen Computer auf eine private Warteschlange zugreifen kann, muss sie lediglich den Pfad dieser Warteschlange kennen. Eine Message Queuing-Anwendung auf einem Remotecomputer muss einen direkten oder privaten Formatnamen verwenden, um auf eine Warteschlange zuzugreifen. Um Nachrichten in einer Warteschlange zu lesen, benötigt die Message Queuing-Remoteanwendung die Berechtigung zum Empfangen von Nachrichten für die betreffende Warteschlange. Standardmäßig hat jeder die erforderlichen Berechtigungen, um Nachrichten an öffentliche und private Warteschlangen zu senden.

Transaktions- und Nichttransaktionswarteschlangen

Eine Transaktionswarteschlange enthält nur Transaktionsnachrichten, also Nachrichten, die innerhalb einer Transaktion gesendet werden. Die Anforderungen für das Senden und Empfangen von Nachrichten beruhen auf dem Typ der verwendeten Warteschlange (Transaktions- oder Nichttransaktionswarteschlange) und ihrem Speicherort (lokaler oder Remotecomputer).

Senden von Nachrichten

Werden zum Senden von Nachrichten Transaktionen verwendet, können die Nachrichten an jede beliebige Transaktionswarteschlange gesendet werden, und zwar unabhängig davon, wo sie sich befindet. Transaktionswarteschlangen können aber nur Nachrichten annehmen, die im Kontext einer Transaktion gesendet wurden. Ebenso nehmen Nichttransaktionswarteschlangen nur Nachrichten an, die außerhalb des Kontextes einer Transaktion gesendet wurden.

Empfangen von Nachrichten

Sie können Nachrichten von einer lokalen oder Remotewarteschlange empfangen.

Unterwarteschlangen

Unterwarteschlangen ermöglichen Anwendungen das Gruppieren von Nachrichten. Unterwarteschlangen sind in den folgenden Situationen nützlich:

  • Verarbeitung von Arbeitsaufträgen Wenn eine Anwendung Nachrichten verarbeitet, die Elemente aus verschiedenen Arbeitsaufträgen enthalten, kann sie die Elemente mithilfe von Unterwarteschlangen nach den Arbeitsaufträgen gruppieren, um eine effizientere Verarbeitung zu erzielen.

  • Handhabung beschädigter Nachrichten. Wenn eine Anwendung eine Nachricht empfängt, die sie zurzeit nicht verarbeiten kann, kann Sie diese Nachricht in eine Fehlerunterwarteschlange verschieben, um sie später zu verarbeiten.

Unterwarteschlangen werden beim Öffnen implizit erstellt. Mit anderen Worten: Wenn eine Nachricht in eine Unterwarteschlange verschoben wird, wird durch diesen Vorgang eine Unterwarteschlange erstellt, falls diese noch nicht existiert. Unterwarteschlangen werden gelöscht, wenn sie leer sind, und weisen keine offenen Handles auf. Anwendungen können Nachrichten nicht direkt in Unterwarteschlangen senden. Sie können Nachrichten nur in eine Unterwarteschlange verschieben. Sie können Nachrichten von Unterwarteschlangen empfangen und sie zwischen einer Haupt- und deren Unterwarteschlangen oder zwischen verschiedenen Unterwarteschlangen derselben Hauptwarteschlange verschieben. Nachrichten können nicht aus der Unterwarteschlange einer Hauptwarteschlange in eine Unterwarteschlange einer anderen Hauptwarteschlange verschoben werden.

In der folgenden Abbildungen können die Nachrichten z.B. zwischen subqueue1 (oder subqueue2) und dem Warteschlangen-Nachrichtenordner von queuea verschoben werden. Es ist auch möglich, die Nachrichten zwischen subqueue1 und subqueue2 zu verschieben. Ebenso können die Nachrichten zwischen queuez und ihren Unterwarteschlangen subqueue3 und subqueue4 verschoben werden.

Es ist jedoch nicht möglich, Nachrichten in irgendeiner Richtung zwischen queuea und subqueue3 bzw. subqueue4 oder zwischen queuez und subqueue1 bzw. subqueue2 zu verschieben. Ebenso ist es nicht möglich, Nachrichten zwischen den Unterwarteschlangen von queuea (subqueue1 und subqueue2) und denen von queuez (subqueue3 und subqueue4) zu verschieben.

Unterwarteschlangen

Unterwarteschlangen verfügen nicht über eigene Eigenschaften oder einen eigenen Status. Sie weisen dieselben Eigenschaften wie die Hauptwarteschlange auf. Eine Unterwarteschlange hat z.B. keine eigenen Eigenschaften der folgenden Art:

  • Kontingent

  • Zugriffssteuerungsliste

  • Transaktionstyp

Unterwartschlangen übernehmen das Kontingent der Hauptwarteschlange, wobei die Nachrichten in der Unterwarteschlange in das Kontingent eingerechnet werden.

In Journal- und anderen Systemwarteschlangen und in Unterwarteschlangen selbst können keine Unterwarteschlangen erstellt werden.

Verwaltungswarteschlangen

Verwaltungswarteschlangen werden von Anwendungen erstellt. Sie werden verwendet, um vom System hervorgerufene negative und positive Bestätigungsnachrichten zu speichern, die Message Queuing oder Connector-Anwendungen erstellen. Sie werden programmgesteuert in der ursprünglich von der Anwendung gesendeten Nachricht angegeben. Jede verfügbare Nichttransaktionswarteschlange kann als Verwaltungswarteschlange angegeben werden. Verwaltungswarteschlangen enthalten keine Verwaltungsnachrichten; diese werden in internen privaten Warteschlangen gespeichert.

Die vom System hervorgerufenen Bestätigungsnachrichten, die an diese Warteschlangen zurückgegeben werden, können anzeigen, ob eine Nachricht bei der Zielwarteschlange angekommen ist, ob sie von der Zielwarteschlange abgerufen wurde, oder beides. Jede Bestätigungsnachricht enthält Informationen darüber, was die Bestätigung ausgelöst hat und zu welcher Nachricht sie gehört. Beim Anfordern von Bestätigungsnachrichten muss die sendende Anwendung die Warteschlange angeben, die als Verwaltungswarteschlange verwendet wird, und den Bestätigungsgrad der Nachricht festlegen Verwaltungswarteschlangen sind gewöhnlich lokal, sodass die sendende Anwendung die Bestätigungsnachrichten lokal lesen kann.

Antwortwarteschlangen

Antwortwarteschlangen werden ebenso wie Verwaltungswarteschlangen von Anwendungen erstellt. Sie werden verwendet, um von Anwendungen hervorgerufene Antwortnachrichten zu speichern, die gewöhnlich von einer Anwendung zurückgegeben werden, die Nachrichten aus einer Warteschlange liest. Die Antwortwarteschlange wird beim Senden einer Nachricht von der sendenden Anwendung programmgesteuert angegeben. Jede verfügbare Warteschlange kann als Antwortwarteschlange angegeben werden. Antwortnachrichten sind nicht dasselbe wie administrative Antwortnachrichten; diese werden in einer internen privaten Warteschlange gespeichert.

Die an diese Warteschlangen zurückgegebenen Antwortnachrichten müssen sowohl von der Anwendung verstanden werden, die sie zuürckgibt, als auch von derjenigen, die sie liest. Message Queuing hat keine Kontrolle darüber, welche Informationen in Antwortnachrichten gesendet werden. Wenn die sendende Anwendung Antwortnachrichten anfordert, muss sie die Warteschlangen angeben, die sie als Antwortwarteschlangen verwenden möchte. Antwortwarteschlangen sind gewöhnlich lokal, sodass die sendende Anwendung die Antwortnachrichten lokal lesen kann.

Wenn sowohl eine Antwort- als auch eine Verwaltungswarteschlange benötigt werden, kann ihre Funktionalität in einer einzigen Warteschlange kombiniert werden. Da es sich bei einer Verwaltungswarteschlange um eine Nichttransaktionswarteschlange handeln muss, nimmt diese kombinierte Warteschlange nur Nichttransaktionsnachrichten an.

Berichtswarteschlangen

Berichtswarteschlangen werden von Anwendungen erstellt und zum Speichern von Berichtsnachrichten verwendet, die Message Queuing oder Connector-Anwendungen hervorrufen, wenn die sendende Anwendung die Nachverfolgung anfordert. Berichtsnachrichten zeigen die Route an, die eine Nachricht zu ihrem Ziel auf einem Remotecomputer genommen haben, bzw. die Route einer Testnachricht zu einer Testwarteschlange auf einem Remotecomputer. Es kann nur eine Berichtswarteschlange pro Computer geben.

Alle Bereichtswarteschlangen müssen über die folgende Bezeichnung und die folgende Warteschlangentypkennung verfügen:

  • Bezeichnung: MQReport Queue

  • Warteschlangentypkennung:

    {55EE8F32-CCE9-11CF-B108-0020AFD61CE9}

Berichtswarteschlangen werden gewöhnlich vom Message Queuing-Administrator in Actice Directory-Benutzer und -Computer erstellt. Sie können aber auch von einer Anwendung erstellt werden, wenn dabei die richtige Bezeichnung und die Warteschlangentypkennung angegeben werden. Message Queuing verwendet die Bezeichnung und die Typkennung, um beim Senden von Berichtsnachrichten die richtige Warteschlange zu finden und zu öffnen.

Systemwarteschlangen

Message Queuing erstellt Systemwarteschlangen. Anwendungen können Nachrichten in Systemwarteschlangen lesen, aber keine Nachrichten dorthin senden. Message Queuing stellt die drei folgenden Typen von Systemwarteschlangen bereit:

  • Journalwarteschlangen, die Kopien aller von einer Warteschlange entfernten Nachrichten enthalten. Computerjournale enthalten Kopien aller von einem Computer gesendeten Nachrichten.

  • Interne private Warteschlangen, die als Zwischenwarteschlangen zum Speichern und Weiterleiten von Nachrichten auf einer Zwischenstation zu ihrer Zielwarteschlange verwendet werden. Diese Warteschlangen werden nicht in Active Directory-Domänendienste veröffentlicht. Ausgehende Warteschlangen sind interne private Warteschlangen, die automatisch erstellt werden, um an Remotewarteschlangen gesendete Nachrichten zu speichern.

  • Warteschlangen mit unzustellbaren Nachrichten. Sie enthalten Nachrichten, die nicht ausgeliefert werden können. Message Queuing stellt eine Transaktions- und eine Nichttransaktionswarteschlange mit unzustellbaren Nachrichten bereit.

  • Connector-Warteschlangen, die für das plattformübergreifende Massaging verwendet werden.

  • Ausgehende Warteschlangen, bei denen es sich um lokale interne Warteschlangen handelt und die zum Speichern von Nachrichten verwendet werden, die an Remotewarteschlangen gesendet werden. Nachrichten können unter Offline-Bedingungen in ausgehenden Warteschlangen gespeichert und dann an Zielwarteschlangen auf Remotecomputern gesendet werden, sobald die Konnektivität wiederhergestellt ist. Diese Warteschlangen werden automatisch generiert und können nicht manuell erstellt oder gelöscht werden.

Führen Sie bei Bedarf die folgenden Vorgänge zum Verwalten von Warteschlangen durch:


Inhaltsverzeichnis