XML w serwisach webowych
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
TCP/IP Sockets HTTP XML or Binary Formats SOAP System.Net.Sockets Wykorzystywane przestrzenie.NET System.Net.Sockets System.Net System.Runtime.Remoting System.Web.Services
Przykłady zastosowań serwisów XML Aplikacje ASP Integracja aplikacji
Architektura serwisu XML Zapotrzebowanie na serwisy XML
Service-Oriented Architecture Broker usługi Konsument usługi Dostawca usługi łącznie publikacja wyszukiwanie
Architektura serwisu XML a SOA Ogólna architektura serwisu XML Serwis XML jako implementacja SOA Przykład serwisu: Serwis XML transferu pieniędzy
Serwis XML jako implementacja SOA UDDI Klient SOAP.NET Serwis XML SOAP IIS
Role w architekturze 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
Dokument WSDL Czym jest WSDL Struktura dokumentu WSDL – Element types – Element message – Element portType – Element binding – Element service Klient XML Serwis XML
Proxy serwisu XML Proxy a WSDL Generowanie proxy poprzez Wsdl.exe Konfigurowanie proxy Klient Web Service Serwis XML
Konfigurowanie proxy Właściwość Url Właściwość Credentials Właściwość Timeout Właściwość Proxy Właściwość AllowAutoRedirect Bank mbank = new Bank(); mbank.Url = " ICredentials credentials = new NetworkCredential ("Adam", "ABarr", "mbank.com"); mbank.Credentials = credentials; mbank.Timeout = 20000; IWebProxy proxy = new WebProxy(" true); mbank.Proxy = proxy; mbank.AllowAutoRedirect = true; Bank mbank = new Bank(); mbank.Url = " ICredentials credentials = new NetworkCredential ("Adam", "ABarr", "mbank.com"); mbank.Credentials = credentials; mbank.Timeout = 20000; IWebProxy proxy = new WebProxy(" true); mbank.Proxy = proxy; mbank.AllowAutoRedirect = true;
Wykorzystywanie serwisu XML poprzez Visual Studio.NET Przykład: aplikacja desktopowa Przykład: aplikacja internetowa Synchroniczni vs. Asynchroniczni klienci Klient Web Service
Przykład: aplikacja desktopowa Klient serwisu XML Klient
Przykład: aplikacja internetowa Klient Serwisu XML Klient
Przykład: Serwis XML transferu pieniędzy Internet Klient serwisu XML Serwis XML mBankuSerwis XML PKO 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
Przykład: Tworzenie serwisu XML