290 likes | 396 Views
XML w serwisach webowych. Zapotrzebowanie na serwisy XML. Zapotrzebowanie na serwisy XML. Ewolucja aplikacji rozproszonych. Czym jest aplikacja rozproszona Dlaczego potrzebne są aplikacje rozproszone Aplikacje rozproszone jako usługodawcy Aplikacje rozproszone a sieć.
E N D
Zapotrzebowanie na serwisy XML Zapotrzebowanie na serwisy XML
Ewolucja aplikacji rozproszonych • Czym jest aplikacja rozproszona • Dlaczego potrzebne są aplikacje rozproszone • Aplikacje rozproszone jako usługodawcy • Aplikacje rozproszone a sieć
Problemy związane z tradycyjnymi aplikacjami rozproszonymi • Problemy projektowe aplikacji rozproszonych • Architektura RPC • Architektura w oparciu o „wiadomości” • Standardy internetowe
Problemy projektowe aplikacji rozproszonych • Niekompatybilne typy danych • Błędy serwera i braki odpowiedzi • Błędy klienta • Ponawianie wywołań • Bezpieczeństwo • Synchronizacja pomiędzy komputerami
Standardy internetowe • Problemy z protokołami binarnymi • Protokoły internetowe i formaty danych • HTML • HTTP • XML • Problemy związane z aplikacjami sieciowymi • Bezpieczeństwo • Wydajność
Koncepcja sieciowych serwisów XML • Czym są serwisy XML • Zbiorem usług dostarczanych poprzez sieć • Oparte na technologiach internetowych • Umożliwiają budowanie z komponentów • Przyszłość aplikacji rozproszonych
SOAP XML or Binary Formats HTTP Sockets TCP/IP Wykorzystywane przestrzenie .NET System.Web.Services System.Runtime.Remoting System.Net System.Net.Sockets System.Net.Sockets
Przykłady zastosowań serwisów XML • Aplikacje ASP • Integracja aplikacji
Architektura serwisu XML Zapotrzebowanie na serwisy XML
Service-Oriented Architecture Broker usługi publikacja wyszukiwanie Dostawca usługi Konsument usługi łącznie
Architektura serwisu XML aSOA • Ogólna architektura serwisu XML • Serwis XML jako implementacjaSOA • Przykład serwisu: Serwis XML transferu pieniędzy
Serwis XML jako implementacjaSOA UDDI SOAP SOAP IIS Klient SOAP .NET Serwis XML
Role warchitekturze webowych serwisów XML • Dostawca • Konsument • Pośrednik
Model programowania serwisu XML • Protokoły • Brak przechowywania stanu • Luźne powiązanie • Uniwersalne formaty danych
Wykorzystanie serwisu XML Zapotrzebowanie na serwisy XML
Serwis XML Klient XML Dokument WSDL • Czym jest WSDL • Struktura dokumentu WSDL • Elementtypes • Elementmessage • ElementportType • Elementbinding • Elementservice
Serwis XML Klient Web Service Proxy serwisu XML • Proxy a WSDL • Generowanieproxy poprzez Wsdl.exe • Konfigurowanie proxy
Konfigurowanieproxy • Właściwość Proxy • Właściwość AllowAutoRedirect • Właściwość Url • Właściwość Credentials • Właściwość Timeout Bank mbank = new Bank(); mbank.Url = "http://serwis.mbank.com/Bank.asmx"; ICredentials credentials = new NetworkCredential ("Adam", "ABarr", "mbank.com"); mbank.Credentials = credentials; mbank.Timeout = 20000; IWebProxy proxy = new WebProxy("http://proxy:80", true); mbank.Proxy = proxy; mbank.AllowAutoRedirect = true;
Klient Web Service Wykorzystywanie serwisu XML poprzez Visual Studio .NET • Przykład: aplikacja desktopowa • Przykład: aplikacja internetowa • Synchroniczni vs. Asynchroniczniklienci
Klient Klient serwisu XML Przykład: aplikacja desktopowa
Klient Klient Serwisu XML Przykład: aplikacja internetowa
Przykład: Serwis XML transferu pieniędzy Serwis XML mBanku Serwis XML PKO Internet Klient serwisu XML Serwis XML płatności
Synchroniczni vs. Asynchroniczni klienci • Ograniczenia wywołań synchronicznych • Wywołania asynchroniczne poprzez proxy
Implementacja serwisu XML Zapotrzebowanie na serwisy XML
Implementowanie metod serwisu XML • Publikowanie metod serwisu XML • Typy danych i parametrów • Przykład: Tworzenie i wykorzystanie DataSet-u w oparciu o „typ”
Publikowanie metod serwisu XML • Atrybut WebMethod • Parametry atrybutu WebMethod: • BufferResponse • CacheDuration • Description • EnableSession • MessageName • TransactionOption
Typy danych i parametrów • Proste typy danych • Parametry We/Wy • Zmienne listy parametrów • Złożone typy danych: • Klasy i struktury • Tablice • Kolekcje • DataSet-y