160 likes | 250 Views
Learn what Web Services are and how they enable applications to exchange data and interact with other applications using various technologies, independent of their build, operating system, or device used to access them. Discover the basics of Web Services, XML, SOAP, XML-RPC, and more.
E N D
WEB SERVICE Stefan Rutkowski
Web SERVICE • Co to jest WEB SERVICE każdy wie
Co to jest WEB SERVICE ? • Usługi Web Services umożliwiają aplikacjom wymienianie się danymi oraz – co jeszcze istotniejsze – wykorzystywanie możliwości innych aplikacji, niezależnie od tego, jak zostały zbudowane, w jakim systemie operacyjnym działają oraz za pomocą jakich urządzeń uzyskuje się do nich dostęp. Mimo że usługi Web Services działają niezależnie od siebie, mogą łączyć się w luźne konfiguracje usług, które wykonują określone zadania.
Jak to może wyglądać ? MVC Widok, kontroler Model
Web service - jakie to proste • Web Services jest nazwą dla technologii dostępu do zdalnych procedur wykorzystująca do komunikacji standardowe techniki przekazywania danych - HTTP - oraz XML jako źródło danych. • Żądania są, w postaci XML, wysyłane przez POST protokołem HTTP, a następnie wynik działania zwracany jest do użytkownika, także w postaci XML.
Standardy tworzenia danych XML • SOAP (Simple Object Access Protocol) • XML-RPC (XML-Remote Procedure Call) • OPML (Outline Processor Markup Language)
SOAP <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Header> ... </soap:Header> <soap:Body> ... <soap:Fault> ... </soap:Fault> </soap:Body> </soap:Envelope>
XML-RPC <?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName <params> <param> <value> <i4>41</i4> </value> </param> </params> </methodCall>
Serwery • 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
PHP != ASP.NET • PHP = TANIOCHA • ASP.NET = ŁATWIZNA
Przykład w PHP • Web Services Description Language (WSDL) Język WSDL definiuje zestaw kilku struktur XML pozwalających na pełny opis usług (struktury danych wymienianych z usługą, sposób połączenia z usługą [najczęściej HTTP]). • Tworzenie skryptu serwera • Tworzenie skryptu klienta
Serwer • <?phpini_set("soap.wsdl_cache_enabled", "0"); //wyłączamy cache dla web serwices na czas tworzenia aplikacji$server = new SoapServer('wsdl/plik.wsdl'); //wczytujemy plik wsdlfunction dodaj($a, $b) //nasza funkcja, którą udostępnimy za pomocą web services{return $a+$b;}$server->addFunction("dodaj"); //dodajemy funkcję do serwera$server->handle(); //obsługujemy zapytania kierowane do serwera?>
Klient • <?phpini_set("soap.wsdl_cache_enabled", "0");$client = new SoapClient('wsdl/plik.wsdl'); //tworzymy obiekt klientaprint_r ($client->dodaj("10.3", "6.255")); //wywołujemy funkcję na serwerze i wyświetlamy wynik?>
Przykład w ASP • Serwer File -> New -> WebSite -> ASP.NET Web Service WebService
Dziękuję za uwagę • Materiały można pobrać ze strony http://uslugiinformatyczne.net.pl/programowanie