
a05f615c7c57618c847d37b0c9f6085d.ppt
- Количество слайдов: 25
WEB SERVICES Piotr Skwarski Marcin Matysiak
Czym jest Web Service? • Usługi sieciowe w architekturze wielowarstwowej • Funkcje mogą być zdanie wywoływane przez zwykłe aplikacje jak i programy oparte o WWW
Przykłady zastosowań • • Automatycznie pobierane kursy walut Notowania giełdowe Aktualna pogoda Obliczenia wg. Podanych wzorów (na przykład należny podatek VAT)
Połączenie standardów • • Ewolucja standardów HTTP i XML Nie wymaga zmiany infrastruktury Zapewnia bezpieczeństwo Jest niezależny od platformy i języka programowania
HTTP + XML = SOAP • Problem wydobycia przez systemy komputerowe informacji z dokumentów HTML • Powstał więc XML który oddzielił dane od prezentacji graficznej • Połączenie jako pomysł wykorzystania XML do wywoływania zdalnych metod przez protokół HTTP dało początek protokołowi SOAP.
Jak to działa? • Klient wykonuje zdalną metodę przekazując ją za pomocą XML • Odpowiedź, czyli wynik działania metody otrzymuje również za pomocą XML • Standard przekazywanych komunikatów wywołań i odpowiedzi XML definiuje SOAP
Warstwa transportowa • Usługę sieciową możemy wywołać za pomocą zwykłej przeglądarki WWW • Używa się w tym celu metod HTTP GET i HTTP POST • SOAP pozwala na kodowanie złożonych struktur danych i plików binarnych
Budowa komunikatów SOAP • Pośrednicząca klasa PROXY • Tłumaczy wywołania metod na komunikaty SOAP • Dekoduje odpowiedzi SOAP • Programista może posługiwać się Web Service tak samo jak lokalnymi komponentami.
Dlaczego Web Service? (1) • Istniejące rozwiązania to: RPC Suna, DCOM Microsoftu, RMI Javy czy ORPC Corby • SOAP pracuje w wyższej warstwie protokołu TCP/IP • Brak konieczności otwierania dodatkowych portów ( wystarczy port 80 – HTTP )
Dlaczego Web Service? (2) • umożliwia to postawienie zapory ogniowej (firewall) • zaszyfrowanie transmisji protokołem SSL
SOAP Stos TCP: SOAP HTTP TCP IP Dzięki temu usługi sieciowe są bezpieczne i łatwe we wdrożeniu
Przedstaw się • Wystarczy odpytać usługę jakie funkcje udostępnia • Brak potrzeby otrzymywania dokumentacji technicznej i plików nagłówkowych od dostawcy • Dokumentacja wbudowana w usługę http: //localhost/uslugi/usluga 1. asmx? wsdl
WSDL • WSDL (Web Service Description Language) nazywany kontraktem • Dokument XML Schema dla standardu Web Services • Dokument WSDL zawiera listę funkcji oraz argumenty wywołań i wyniki • Pozwala na wygenerowanie klasy proxy
Znajdowanie usług - UDDI • Problem odnalezienia usługi, której chcemy użyć w naszym programie • Globalny rejestr usług zwany UDDI (Universal Description Discovery and Integration) • UDDI przechowuje opisy i lokalizacje Web Services zarejestrowanych dostawców
Przykładowy UDDI: http: //uddi. microsoft. com
Budowanie własnego Web Service • Web Service można tworzyć w dowolnym obiektowym języku programowania, na przykład w Javie czy C# (. NET ). • Wystarczy w swoim programie korzystać z dodatkowych bibliotek do tworzenia Web Service
Przykładowa metoda Public string Date. Difference (Date data. Od, data. Do) { // nasza implementacja. . . return roznica. Dat; } Aby ta metoda działała jako usługa Web. Service wystarczy dodać argument
Testowanie usługi Web Service Testowanie takiej funkcji odbywa się za pomocą specjalnie wygenerowanej przez kompilator Visual Studio strony WWW.
Wynik działania Web Service W ten sposób utworzyliśmy usługę Web Service.
Używanie usług Web Service we własnych aplikacjach • Tworzenie programu przebiega identycznie jak w przypadku tradycyjnych aplikacji • Usługami Web Service posługujemy się wewnątrz programu tak samo jak lokalnie dostępnymi komponentami.
Dodawanie referencji do usługi 1. Wybieramy opcję: Add Web Reference 2. Wybieramy usługę podając jej adres URL http: //www. daty. pl/ Date. Difference. asmx
Co zrobi kompilator? • Pobierze kontrakt ( dokument WSDL ) • Stworzy automatycznie obiekt proxy • Już możemy używać jej w programie jak lokalnego komponentu Date. Difference. Service. Date obiekt. Data = new Date. Difference. Service. Date(); Label. Roznica. Dat. Text = obiekt. Data( Data. Od. Text, Data. Do. Text );
Bezpieczeństwo Web Service PROBLEM: Identyfikacja osoby próbującej uzyskać dostęp do naszej usługi ROZWIĄZANIE: Implementacja identyfikacji w usłudze Web Service oraz zastosowanie szyfrowania SSL.
Przykład zastosowania • Serwis Google uruchomił usługę sieciową umożliwiającą przeszukiwanie i sprawdzanie pisowni w języku angielskim • Aby wykorzystać potężne archiwa we własnym programie wystarczy zarejestrować się na stronie: http: //www. google. com/apis
Podsumowanie • Web Service może zmienić sieć Internet w sieć powiązanych ze sobą usług i programów • Może zatrzeć się różnica pomiędzy aplikacjami okienkowymi a aplikacjami internetowymi • Zintegrowanie usług mogłoby przebiec niezależnie od platform i języków programowania bez ponoszenia dużych kosztów.