
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 <Web. Method> Public string Date. Difference. . .
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.
a05f615c7c57618c847d37b0c9f6085d.ppt