Web Serwisy w praktyce Technologie internetowe (28.04.2005) Tomasz Popów (tomek@netmf.com)
??? Dlaczego powstały? Co to są Web Serwisy? Wcześniejsze technologie (CORBA, DCOM, Java RMI) Oparte na własnych protokołach (firewall – problemy, blokowanie portów przez adminów, 80 jest prawie zawsze dostępny) Zorientowane połączeniowo Technologia objęta standardem (Microsoft, SUN, IBM, w3.org, …) Protokoły transportowe HTTP / SMTP / … HTTP (żądanie/odpowiedź) SMTP Dane binarne i tekstowe
Protokół SOAP (Simple Object Access Protocol) Standardowy mechanizm opakowania danych w przesyłanej wiadomości Komunikacja Klient – Serwer poprzez zdalne wywołanie procedur (Sun RPC, Microsoft DCE, Java RMI, CORBA ORPC) Standard (Micorsoft, IBM, Sun, SAP, Ariba) Proxy? – czasami. W praktyce wiele serwerów proxy źle przekazuje nagłówki SOAP.
Zalety SOAP Nie jest ściśle związany z danym językiem programowania Nie jest ściśle związany z protokołem transportowym Tak naprawdę SOAP to XML – dowolny protokół który jest w stanie transportować tekst może działać z SOAP Korzysta z już ustalonych standardów.
SOAP (wnętrzności) http://www.w3.org/TR/SOAP - 1.1v <?xml version=„1.0”?> <soap:Envelope xmlns:soap=„http://schemas.xmlsoap.org/soap/envelope/”> <soap:Header> <!-- Opcjonalny również inne elementy To, From, …--> <To>Tomek</To> <From>Dziekan</From> </soap:Header> <soap:Body> <!-- Wlasciwa tresc wiadomosci --> Proszę o stawienie się w dziekanacie. </soap:Body> </soap:Envelope>
WSDL (Web Service Description Language) Dostarcza formalny opis WS. Plik lub URL z WSDL’em to wszystko czego potrzebuje programista aby skorzystać z WS. PRZYKŁAD
Serwery WS IIS Apache Java BOSS
Klienci Języki: C++, C#, VB .NET, PHP, Java, Perl Systemy: Windows, UNIX, Linux, … Urządzenia: PC, Palmtopy, Tablety PC, Telefony komórkowe, Zegarki, … Aktywne strony internetowe Aplikacje okienkowe Aplikacje konsolowe
WS jak zacząć … Darmowe środowisko Web Matrix Publikowanie (przestrzeń nazewnicza) Popularne usługi XML w sieci Internet http://webapi.allegro.pl (komercyjne aplikacje) www.wemmethods.net http://api.google.com/GoogleSearch.wsdl WebApi key, ograniczenie 1000 wywołań na dzień kodowanie w UTF-8) PERL - SOAP::Lite wersja 0.52
DEMO Własny WS Klient WS (Pocket PC) Google WebApi w praktyce
Pytania Wy pytacie? Ja pytam :)
Web Serwisy Technologie internetowe (28.04.2005) Tomasz Popów (tomek@netmf.com)