Přehled testování asynchronní služby

Asynchronní služby používají pro komunikaci mezi objekty vzorec interakce zpětného volání. Asynchronní služby lze použít například v systémech typu publikovat-odebírat poskytovaných dodavateli middlewaru zaměřeného na zprávy nebo v doménách správy systémů a zařízení.

Služby WS-Notification

Asynchronní služby jsou standardizovány ve specifikacích WS-Notification:

Webové služby a služby XML, které implementují specifikaci WS-Notification, můžete testovat vytvořením asynchronního požadavku uvnitř testu. Asynchronní požadavek obsahuje rozhraní pro příslušnou specifikaci WS-Notification spolu se strukturou zpětného volání.

Proprietární asynchronní služby

Můžete testovat proprietární asynchronní služby, které neimplementují specifikace WS-Notification. Chcete-li testovat tyto služby, ručně vytvoříte požadavek na službu, který obsahuje rozhraní pro službu, a poté můžete do požadavku přidat asynchronní strukturu zpětného volání.

Data XML asynchronního požadavku musí obsahovat koncový bod určující adresu URL příjemce zpětného volání. Během testu se tento koncový bod použije k přesměrování zpětného volání na testera namísto na skutečného příjemce.

Struktura zpětného volání

Chcete-li testovat asynchronní služby, musíte v testu vytvořit strukturu asynchronního požadavku, jak ukazuje následující diagram:

Příklad struktury asynchronního požadavku
Požadavek na webovou službu nebo prostý požadavek XML poskytuje akci odběru a obsahuje prvek zpětného volání, který popisuje chování testu ve třech stavech:
  • Stav Paralelní obsahuje prvky testu, které jsou spuštěny po požadavku na odběr a během čekání na odezvu upozornění.
  • Stav Přijmout obsahuje prvky testu, které jsou spuštěny po přijetí odezvy upozornění od služby.
  • Stav Vypršení časového limitu obsahuje prvky testu, které se spustí, pokud není po prodlevě určené v prvku zpětného volání přijata odezva upozornění.

Po dokončení spuštění všech prvků obsažených v paralelních prvcích, prvcích přijetí a prvcích vypršení časového limitu, pokračuje spuštění dalším prvkem v testu po asynchronním požadavku.

Metoda generování asynchronní struktury zpětného volání v testu závisí na tom, zda asynchronní služba používá specifikaci WS-Notification:
  • Služby WS-Notification: Vytvořte asynchronní požadavek v testu.
  • Proprietární služby: V testu ručně vytvořte požadavek na webovou službu nebo požadavek XML a poté do tohoto požadavku přidejte asynchronní strukturu zpětného volání.

Váš názor