ZAWWW-2st1.2-w06.tresc-1.0-Slajd5
Protokół SOAP
SOAP (Simple Object Access Protocol) to prosty protokół komunikacyjny oparty na języku XML, umożliwiający przekazywanie wywołań zdalnych komponentów Web Services. SOAP może współdziałać z dowolnym niskopoziomowym sieciowym mechanizmem transportowym, np. HTTP, HTTPS, SMTP, JMS, RMI. Podstawowymi znacznikami wykorzystywanymi do budowy komunikatów SOAP są: <Envelope> – otacza cały komunikat, <Header> – zawiera informacje nagłówkowe, <Body> – zawiera informacje o żądaniu i odpowiedzi, <Fault> – opisuje błędy, jakie wystąpiły podczas przetwarzania wywołania.
Protokół SOAP umożliwia wywoływanie komponentów Web Service w dwóch trybach: (1) Remote Procedure Call (RPC) i (2) dokumentowym (document-oriented). Tryby te różnią się formą przekazywania parametrów. W trybie RPC wywołanie ma charakter tradycyjny – komponentowi przekazywana jest lista parametrów formalnych wraz z ich bieżącymi wartościami. W trybie dokumentowym usługa otrzymuje tylko jeden parametr wywołania, którym jest dokument XML.
Wywołania komponentów usługowych Web Services mogą mieć charakter synchroniczny lub asynchroniczny. W trybie wywołania synchronicznego aplikacja klienta wysyła żądanie uruchomienia zdalnej funkcji biznesowej i wstrzymuje pracę aż do chwili otrzymania wyników jej realizacji. Tryb ten może opierać się na komunikacji HTTP, HTTPS, RMI/IIOP, SMTP, itp. W trybie wywołania asynchronicznego aplikacja klienta wysyła żądanie uruchomienia zdalnej funkcji biznesowej lecz nie oczekuje na jej wynik, kontynuując działanie. Tryb ten może opierać się na komunikacji HTTPR, JMS, IBM MQSeries Messaging, MS Messaging, itp. Zwykle tryb synchroniczny jest wykorzystywany przez komponenty RPC, natomiast tryb asynchroniczny – przez komponenty dokumentowe.