Autor

Wg gesucht anfrage Muster

Eine Anwendung fordert einige Informationen von einem Server an, die zu einem späteren Zeitpunkt in mehreren Antworten zurückgegeben werden. Dies kann daran liegen, dass die angeforderten Informationen nicht auf einmal verfügbar waren (z. B. verteilte Web-Suchen). Schließlich können einige Anwendungen möglicherweise die Abhängigkeiten und Beziehungen zwischen Nachrichtenelementen beschreiben. Beispielsweise kann ein Antwortelement auf eine Vielzahl von Anforderungen anwendbar sein. es wäre von Vorteil, die Beziehung dieses Elements zu Anforderungselementen zu beschreiben, damit es eine Vielzahl von Anforderungen auf wirtschaftliche Weise erfüllen kann. Ebenso kann das Vorhandensein eines bestimmten Elements ein Auslöser für einen Cacheability-Mechanismus sein, der auf ein anderes Element angewendet wird, z. B. Validierung oder Ungültigerklärung.

Als Nächstes habe ich einen Kanal erstellt, um alle Dateien zu behandeln, die dem Suchmuster entsprechen. Abbildung 5 zeigt einen RPC-Aufruf über ein zugrunde liegendes Transportprotokoll wie HTTP, das Anforderung/Antwort unterstützt. In diesem Fall sind keine zusätzlichen Header erforderlich, um die Anforderungs- und Antwortnachrichten zu korrelieren. Beispielanforderung und Antwort-SOAP-Nachrichten sind: Eine ähnliche Überlegung wäre, wie die Situation zu behandeln ist, wenn das Element, dessen ID der Markerwert ist, zwischen Anforderungen gelöscht wird. In diesem Fall sollte die Antwort logisch mit dem nächsten Element beginnen. Die Definition von „logisch” ist notwendigerweise unscharf und hängt davon ab, wie die Daten sortiert werden. Es kann jedoch einige Fälle geben, in denen es nicht sinnvoll ist, zu versuchen, das nächste logische Element zu bestimmen. In diesen Fällen sollte eine Antwort mit 400 ungültigen Anfordern zurückgegeben werden, mit einer eindeutigen Erklärung in der Fehlermeldung, dass der angeforderte Markerwert nicht vorhanden ist. Ebenso kann das „Schreiben” zwischenspeichern in Situationen nützlich sein, in denen eine Anforderungsnachricht in einem Anforderungs-Antwort-Nachrichtenaustauschmuster (sowie ähnliche Nachrichten in anderen Nachrichtenaustauschmustern) nicht sofort weitergeleitet oder beantwortet werden muss. Eine solche Erreichbarkeit kann, wie oben beschrieben, durch verschiedene Methoden erweitert werden. Ein Absender sendet eine Nachricht asynchron an einen Empfänger, der eine Antwort zu einem späteren Zeitpunkt erwartet. Der Absender markiert die Anforderung mit einem Bezeichner, der es ermöglicht, die Antwort mit der ursprünglichen Anforderung zu korrelieren.

Der Absender kann die Nachricht auch mit einem Bezeichner für einen anderen Dienst (außer dem ursprünglichen Absender) markieren, der der Empfänger der Antwort ist. Ein Beispiel für diese Art von Szenario ist das Zwischenspeichern der Antwort auf eine Anforderung in Situationen, in denen eine nachfolgende Anforderung sicher mit demselben Ergebnis beantwortet werden kann. Dieses Beispiel deckt sich mit Szenario S809 (Caching mit Ablauf), in dem ein Katalog jeden Morgen um 8 Uhr aktualisiert wird. Nachdem der Katalog aktualisiert wurde, sind alle Preisabfragen dafür bis 8 Uhr am nächsten Tag gültig. Wenn eine Preisabfrageanforderung für dasselbe Element wiederholt wird, kann eine zwischengespeicherte Antwort an den SOAP-Absender zurückgegeben werden, andernfalls wird die Anforderung an den Katalogserver weitergeleitet, und ihre Antwort wird zwischengespeichert. Alle Einträge im Cache werden zum Zeitpunkt der verfügbaren verfügbaren Aktualisierung des Katalogs gelöscht. Abbildung 18 zeigt eine mögliche Architektur. Wenn das zugrunde liegende Transportprotokoll die Korrelation einer Anforderung und deren übereinstimmende Antwort direkt unterstützt, kann die in Abbildung 3 dargestellte Lösung geeignet sein. Ein Beispiel für ein solches zugrunde liegendes Transportprotokoll wäre ein synchroner HTTP-POST. Bei dieser Implementierung würde die in anderen XML-Protokoll-WG-Dokumenten vorgeschlagene Transportbindung verwendet. Das Geschäftsdokument, das als Anforderung vom SOAP-Absender gesendet wird, wird als Nutzlast der Anforderungsnachricht eingefügt. Nach Eingang der Anforderung generiert der Verarbeitungsantrag ein Dokument, das als Nutzlast der Antwortnachricht mit entsprechenden Statuscodes zurückgegeben wird.

Wenn die Anforderungsnachricht aus irgendeinem Grund nicht von der beabsichtigten Geschäftsanwendung empfangen oder verarbeitet wurde, werden geeignete Statusmeldungen von der zugrunde liegenden Transportschicht generiert und an den SOAP-Absender gemeldet. Das Paginieren von Antworten sollte nach dem Anwenden der Filter in einer Abfrage erfolgen, da es möglich ist, dass auf der ersten Seite der Ergebnisse keine Übereinstimmungen vorhanden sind, und das Zurückgeben einer leeren Seite ist eine schlechte API, wenn der Benutzer explizit eine Reihe von Ergebnissen angefordert hat.