Asynchrone Servicetests - Übersicht

Bei asynchronen Services wird ein Rückrufinteraktionsmuster für die Kommunikation zwischen Objekten verwendet. Asynchrone Services werden beispielsweise in Messaging-Middleware-Systemen, die von Messaging-Middleware-Herstellern bereitgestellt werden, oder in System- und Gerätemanagementdomänen verwendet.

WS-Notification-Services

Asynchrone Services sind in den WS-Notification-Spezifikationen standardisiert.

Sie können Web-Services und XML-Services testen, die die WS-Notification-Spezifikation implementieren, indem Sie innerhalb eines Tests eine asynchrone Anforderung erstellen. In der asynchronen Anforderung ist neben den Schnittstellen für die entsprechende WS-Notification-Spezifikation auch eine Rückrufstruktur enthalten.

Proprietäre asynchrone Services

Sie können proprietäre asynchrone Services testen, die die WS-Notification-Spezifikationen nicht implementieren. Zum Testen dieser Services erstellen Sie manuell eine Serviceanforderung, die die Schnittstellen für den Service enthält. Anschließend fügen Sie der Anforderung die asynchrone Rückrufstruktur hinzu.

Die XML-Daten der asynchronen Anforderung müssen einen Endpunkt enthalten, der die URL des Rückrufempfängers angibt. Während des Tests wird der Rückruf mithilfe dieses Endpunkts an den Tester umgeleitet und nicht an den tatsächlichen Empfänger gesendet.

Rückrufstruktur

Zum Testen asynchroner Services müssen Sie wie im folgenden Diagramm gezeigt in Ihrem Test eine Struktur für eine asynchrone Anforderung erstellen:

Beispiel einer Struktur für eine asynchrone Anforderung
Eine Web-Service-Anforderung oder eine einfache XML-Anforderung stellt die Subskriptionsaktion bereit und enthält ein Rückrufelement, mit dem das Testverhalten in drei Status beschrieben wird:
  • Parallel enthält Testelemente, die nach der Subskriptionsanforderung und während des Wartens auf die Benachrichtigungsantwort ausgeführt werden.
  • Empfangen enthält Testelemente, die ausgeführt werden, nachdem die Benachrichtigungsantwort vom Service empfangen wurde.
  • Zeitlimit enthält Testelemente, die ausgeführt werden, wenn die Benachrichtigungsantwort nach einer im Rückrufelement angegebenen Verzögerung nicht empfangen wird.

Wenn die Ausführung aller in den Parallel-, Empfangs- und Zeitlimitelementen enthaltenen Elemente abgeschlossen ist, wird der Testlauf mit dem nächsten Element im Test nach der asynchronen Anforderung fortgesetzt.

Die Methode für die Generierung der asynchronen Rückrufstruktur im Test hängt davon ab, ob der asynchrone Service die WS-Notification-Spezifikation verwendet:
  • WS-Notification-Services: Erstellen Sie die asynchronen Anforderung im Test.
  • Proprietäre Services: Erstellen Sie manuell eine Web-Service-Anforderung oder eine XML-Anforderung im Test und fügen Sie anschließend der Anforderung die asynchrone Rückrufstruktur hinzu.

Feedback