Request-Response Messaging
In einem Messagingmuster vom Typ "Anforderungsantwort" sendet eine Partei eine Anforderungsnachricht und die empfangende Partei gibt eine Antwortnachricht zurück. Zwei typische Beispiele für die Verarbeitung vom Typ "Anforderungsantwort" sind die Interaktion zwischen einem Browser und einem Webserver unter Verwendung des HTTP-Adapters und die Webdienstverarbeitung unter Verwendung des SOAP-Adapters (Simple Object Access Protocol). In BizTalk Server werden sowohl die Anforderungs- als auch die Antwortnachrichten in einer typischen Veröffentlichungs-/Abonnenten-Art behandelt. Dies ist ein wichtiger Aspekt, über den Sie sich beim Optimieren der Leistung einer BizTalk-Anwendung im Klaren sein müssen, denn die Konfiguration eines Systems, das einen hohen Durchsatz erfordert, unterscheidet sich von der Konfiguration eines Systems, das für einzelne Nachrichten eine geringe Wartezeit erfordert.
Wenn eine Nachricht über einen Adapter vom Typ "Anforderungsantwort" eingeht, veröffentlicht BizTalk Server die Anforderungsnachricht zunächst in der MessageBox-Datenbank. Danach geht diese Nachricht bei dem entsprechenden Abonnenten ein, bei dem es sich wahrscheinlich um eine an einen Empfangsport gebundene Orchestrierung handelt. Dieser Abonnent formuliert eine Antwortnachricht und veröffentlicht sie in der MessageBox, und zwar zusammen mit den Eigenschaften, die dafür sorgen, dass sie an den Empfangsport, von dem die Anforderung stammt, zurückgesendet wird. Schließlich wird die Antwortnachricht vom Herausgeber der Anforderung, dem Empfangsadapter, der sie übermittelt hat, abgerufen und an die aufrufende Anwendung zurückgesendet. Diese Schritte sind im nachstehenden Diagramm dargestellt.
Verlauf einer vom SOAP-Adapter empfangenen Nachricht vom Typ "Anforderungsantwort"
Der SOAP-Adapter übermittelt Nachrichten an den Endpunkt-Manager.
Der Endpunkt-Manager veröffentlicht die Nachricht in der MessageBox-Datenbank.
Die Orchestrierung, die an den Empfangsport gebunden ist und somit ein Abonnement für die Nachricht hat, empfängt die Nachricht und verarbeitet diese.
Die Orchestrierung sendet eine Antwortnachricht, die in der MessageBox-Datenbank veröffentlicht wird.
Der Endpunkt-Manager empfängt die Antwortnachricht.
Der Endpunkt-Manager sendet die Antwort an den SOAP-Adapter zurück.
Die Auswirkungen dieses Verhaltens auf die Leistung können leicht übersehen werden, wenn ein Verständnis der internen Implementierung fehlt. BizTalk Server ist ursprünglich für Szenarien mit hohem Durchsatz optimiert, kann allerdings auch für eine Umgebung mit niedrigerem Durchsatz und einem Bedarf an geringeren Wartezeiten (wie dies insbesondere in Szenarien vom Typ "Antwortanforderung" der Fall ist) konfiguriert werden. Bei einer Optimierung in diesem Szenario müssen mehrere Komponenten berücksichtigt werden. Zum einen finden Abonnenten über einen Abfragemechanismus heraus, ob veröffentlichte Nachrichten vorhanden sind. Wurde ein zu langes Abfrageintervall eingestellt, kann dies bei Interaktionen vom Typ "Anforderungsantwort" zu einer längeren Wartezeit als erwünscht führen.
Beachten Sie, dass es in diesem Szenario zwei Abonnements gibt, die ausgefüllt werden müssen: das Abonnement für die erste Nachricht und das Abonnement für die Antwortnachricht, was die Auswirkungen dieses Abrufintervalls erhöht. Zum anderen sieht die Konfigurierung der Empfangsadapter vor, dass sie Nachrichten in unterschiedlich großen Batches in der MessageBox-Datenbank einfügen. Die meisten Adapter ermöglichen es Ihnen, die Batchgröße über eine typische Adapterkonfigurationsschnittstelle oder über Parameter in BizTalk Server oder der Registrierung einzustellen. Bei einer zu hohen Batchgröße erhöht sich die Wartezeit für einzelne Nachrichten. Weitere Informationen zu den Leistungsmerkmalen von BizTalk Server finden Sie unter Planen der nachhaltigen Leistung.