Rozšíření systému pro zátěžové testy o SOAP a agenty Zbyněk Pyšný
Rozšíření systému pro zátěžové testy o SOAP a agenty Obsah prezentace Představení původní aplikace Webové služby SOAPWSDL Popis aktuální aplikace
Původní aplikace C#.NET Zátěžové testy webových stránek volba počtu uživatelů, počtu požadavků Zobrazení výsledků a vykreslení grafů Generování reportů a ukládání nastavení testů Cíl DP: rozšířit aplikaci o možnost testování SOAP a sledování vzdáleného serveru (CPU load, memory)
Webové služby Rozhraní mezi aplikačním kódem a uživatelem kódu Lze použít různé protokoly a standardy (HTTP, SMTP, Jabber…) Abstrakce dovolující interoperabilitu Počítačová síťWebová službaAplikační kódUživatel
Webové služby - komponenty Service listener komunikace po transportním protokolu Service proxy převod přijatých požadavků na volání metod Aplikační kód zpracování volané metody, výpočet Webový aplikační server Aplikační kódProxy služby Naslouchač služby
Webové služby - architektura Důvod: just-in-time integrace Service provider poskytování služeb Service registry nabízení služeb Service consumer používání služeb Implementace vícevrstvým modelem
Webové služby - vícevrstvý model Discovery layer mechanismus k získávání popisu poskytovatelů služeb (UDDI, WS-Inspection) Description layer popis způsobů používání služeb (WSDL, RDF, DAML) Packaging layer formát zpráv (SOAP) Transport layer přenos dat (HTTP, SMTP) Network layer Shodná s TCP/IP Network Layer
SOAP vrstva Packaging W3C specifikace SOAP (Simple Object Access Protocol) 1.1, SOAP 1.2 ( Rozdíly viz ) ( Rozdíly viz ) Specifikuje způsob „balení“ zpráv do XML a sadu pravidel pro převod datových typů do XML Implementace XML specifikace
SOAP – zprávy, HTTP přenos SOAP zpráva obsahuje: Envelope element Header element mustUnderstand Body element Nespecifikován obsah SOAP Fault Verzování (1.1 vs 1.2) SOAP přes HTTP: Nejpoužívanější Obvykle projde přes firewall SOAPaction hlavička Chyba 500 Server Error HTTP server HTTP request SOAP request HTTP client HTTP response SOAP response
SOAP - ukázka zprávy POST /StockQuote HTTP/1.1 Content-Type: text/xml Content-Length: nnnn SOAPAction: "urn:StockQuote#GetQuote„ <SOAP-ENV:Envelope xmlns:SOAP-ENV=" xmlns:ns1="urn:mojeURI"> 1987
WSDL Web Services Description Language (W3C specifikace) Popis webových služeb co služba dělá, jak vyvolat její metody, kde je najít, přípojné body, formát vstupů, výstupů… Umožňuje abstraktní popis služeb Popis přípojných bodů a jejich zpráv, bez ohledu na to, jaký formát zpráv nebo síťový protokol je pro jejich výměnu používán. Jednání se zprávami jako s abstraktním popisem dat, která se přenášejí. Jednání s typy portů jako s abstraktní kolekcí operací webových služeb. Typ portu pak může být mapován na konkrétní protokol a datový formát. Možnost generování WSDL dokumentu z již implementovaných metod a naopak
WSDL - struktura dokumentu Dokument obsahuje elementy definitionstypesmessageportTypebindingservice * * * * * *
Aktuální aplikace Testování SOAP WSDL parser, generování šablony Nastavení parametrů šablony Sledování statistik serveru Win (aplikace, služba): paměť, CPU, aktivní sessions, TCP segmenty (celkem, přijaté, odeslané) Linux: paměť, CPU Logování chybových zpráv SOAP
Náhledy aplikace
Zdroje SOAP WSDL Martin Kuba : WebServices (Datakon 2006) Understanding WSDL Programming Web Services with SOAP : James Snell (O’Reilly, 2002) SOAPclient Děkuji za pozornost. Otázky?