Скачать презентацию WEB SERVICES Piotr Skwarski Marcin Matysiak Czym Скачать презентацию WEB SERVICES Piotr Skwarski Marcin Matysiak Czym

a05f615c7c57618c847d37b0c9f6085d.ppt

  • Количество слайдов: 25

WEB SERVICES Piotr Skwarski Marcin Matysiak WEB SERVICES Piotr Skwarski Marcin Matysiak

Czym jest Web Service? • Usługi sieciowe w architekturze wielowarstwowej • Funkcje mogą być 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. 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 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 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 • 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 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 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 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 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 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 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 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 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 Przykładowy UDDI: http: //uddi. microsoft. com

Budowanie własnego Web Service • Web Service można tworzyć w dowolnym obiektowym języku programowania, 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 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 Public string Date. Difference. . .

Testowanie usługi Web Service Testowanie takiej funkcji odbywa się za pomocą specjalnie wygenerowanej przez 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. 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 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 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 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 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 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 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.