Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Softwareentwicklung mit.NET Teil 4 ASP.NET Web Services Dr. Ralph Zeller.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Softwareentwicklung mit.NET Teil 4 ASP.NET Web Services Dr. Ralph Zeller."—  Präsentation transkript:

1 1 Softwareentwicklung mit.NET Teil 4 ASP.NET Web Services Dr. Ralph Zeller

2 2 Was ist ein Web Service? Ein Web Service ist eine Komponente, die ihre Methoden über Standard Web Protokolle wie SOAP zur Verfügung stellt

3 3 Web Services Beispiele Günstigster Online Buchhändler Input ist ISBN Nummer Web Service durchsucht Web Seiten und gibt Link auf günstigsten Händler zurück Lieferverfolgung bei Buchbestellung Buchhändler liefert über Paketservice aus Status wird über die Seite des Buchhändlers abgefragt Web Service holt Status- informationen des Paket- services

4 4 SOAP Simple Object Access Protocol Mechanismus zum Austausch von strukturierter und typisierter Information zwischen Kommunikationsendpunkten im Internet auf Basis von XML HTTP, SMTP,... als Transportprotokoll XML zur Datenkapselung Spezifikation enthält SOAP Envelope (für Framework) SOAP Encoding (optional, für plattform- übergreifendes Marshaling von Daten/Objekten)

5 5 SOAP Beispiel POST /FService.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/Rueckzahlungsrate" string POST /FService.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/Rueckzahlungsrate" string

6 6 WS Ausführungsmodell Web Client Betriebssystem ASP.NET Applikationen IIS.NET Framework Web Services basieren auf ASP.NET

7 7 Web Service Prog.modell Erstellen Sie eine.asmx Datei, die eine Klasse mit den Methoden enthält, die Sie zur Verfügung stellen möchten Das Hinzufügen des Attributs WebMethod zu einer Public-Methode macht sie automatisch zu einem Web Service ASP.NET macht den "Rest" Erzeugen der Service-Beschreibung als WSDL-Datei (Web Service Description Language) Compile on demand

8 8 Code & Syntax using System.Web.Services; public class MathService : WebService { [ WebMethod ]... WebService Direktive Einstellungen für den ASP.NET Compiler WebMethod Attribut Code Deklaration Syntax Outline Inline (in C#)

9 9 Beispiel.asmx Datei using System; using System.Web.Services; public class MathService : WebService { [WebMethod] public int Subtract(int a, int b) { return a - b; } public int Subtract_vs(int a, int b) { return b - a; } }

10 10 Web Service Beispiel 1: FinanzServices

11 11 Testen des Web Services Aufruf über URL Rückgabe ist eine Testseite für Web Service

12 12 Web Service aufrufen Aufruf über URL HTTP Request Protokolle HTTP-GET Methodenname und Parameter in der URL HTTP-POST Methodenname und Parameter im HTTP Header HTTP-SOAP Adresse und Parameter in XML Format

13 13 Aufruf über GET & POST Standard HTTP-GET Methodenname = steht im Pfad Argumente = URL query string Mehrere Parameter möglich Nur primitive.NET Datentypen möglich Rückgabe ist ein XML Dokument alle.NET Datentypen möglich HTTP-POST Ähnlich GET Argumente stehen im HTTP Header

14 14 Aufruf über SOAP XML Grammatik für Methodenname, Parameter und Rückgabewerte Unterstützt alle Standard.NET Datentypen und Klassen als value Zusätzlich: Klassen, Structs, Datasets Marshalling von Klassen und Structs Serialisierung in XML Format

15 15 WS Aufrufoptionen Beispiel 2: FService.asmx testen

16 16 Web Service erforschen Aufruf ohne Methodennamen und Parameter HTML Beschreibung des Web Service, Methoden, Parameter und Protokolle Aufruf mit Parameter ?WSDL Formale Beschreibung des Web Service als WSDL Datei Format ist XML Input für WebServiceUtil.exe (Beta1) bzw. WSDL.exe (Beta2)

17 17 WSDL Web Services Description Language Öffentliche Beschreibung eines Web Services in XML WSDL Vertrag Grundelemente von WSDL Services, die mehrere Ports beinhalten Über Ports werden Messages geschickt Jeder Port enthält Adress- und Bindinginfos Binding spezifiziert das Datenformat und Protokolldetails PortTypes definiert die Befehle, die über einen Port geschickt werden können

18 18 WSDL service_2 service_1 message port_A port_D port type port_C port_B message Abstrakte Darstellung der WSDL Elemente

19 19 Beispiel WSDL Datei

20 20 Web Service Entwickler Web Applikation Entwickler Web Server 1 Service App.asmx.aspx Web Server 2 Service App ProxyWeb Form Web Service Clients Applikationsmodell

21 21 WS Clients entwickeln Proxy Klasse generieren WebServiceUtil.exe in Beta1 WSDL.exe in Beta2 Input WSDL Datei Sprache (C#, VB, JScript) Protokoll (GET, POST, SOAP) Output Source Datei mit Proxy Klasse und Code für Aufruf und Marshalling

22 22 Web Forms Client Beispiel 3: Hypothekar Rechner

23 23 Win Forms Client Beispiel 4: Hypothekar Rechner

24 24 WS veröffentlichen.disco File Wird durch GET Parameter ?disco generiert enthält Link auf SDL File eines Web Services XML Format UDDI Globales Verzeichnis für Web Services

25 25 UDDI Universal Discovery, Description and Integration Globale Datenbank über Unternehmungen Wer bietet was an? Von 30+ Unternehmen getragen IBM, Ariba, Microsoft betreiben EINE verteilte Datenbank SAP, Oracle, Sun, etc.

26 26 UDDI Benutzung Daten in XML beschrieben White pages (Name, Kontakt) Yellow pages (Welche Branche) Green pages (Binding Information – Wie kann Kunde Unternehmen integrieren? URL, Telefon, Web Services etc.) Zugriff auf Registry via Web / SOAP Ermöglicht strukturierte Suche und Integration! Menschen können suchen Software kann suchen Dynamische Integration (von z.B.: Web Services)

27 27 UDDI Beispiel 1. DoAll hat Web-Shop + Web Services (Produktkatalog) 2. DoAll ist in UDDI Registry eingetragen 3. Marketplace + Search Engines kontaktieren UDDI 4. Konsument besucht Marketplace Sucht nach Produkten (z.B.: Sägeblatt von DoAll) Marketplace versteht Web Service von DoAll Produktkatalog wird von Marketplace dynamisch dargestellt Dynamische Integration verschiedener Systeme

28 28 Fragen? Uff...

29 29 Glossar MSXML: Microsoft XML-Komponente IIS – Internet Information Server: Der Webserver von Microsoft ISAPI- Internet Server API: Mit dieser Schnittstelle können Erweiterungen für den IIS entwickelt werden. Solche Erweiterungen können nur mit C++ programmiert werden. SDL - Service Description Language: XML-Dialekt zur Beschreibung der Schnittstellen und Methoden eines Webservices (veraltet) SOAP - Simple Object Access Protocol: Protokoll zur plattformübergreifender Anwendungskommunikation SOAP Toolkit: SOAP Implementierung von Microsoft für Windows DNA Anwendungen Web Services: Komponenten, die ihre Methoden über ein XML-basiertes Interface für Internet-Clients zur Verfügung stellen WSDL - Web Service Description Language: wie SDL, nur aktueller Quasi-Standard XML - eXtensible Markup Language: Textbasiertes, allgemeines Datenformat, das Grundregeln für den Aufbau eigener Datenformate definiert. UDDI - Universal Discovery, Description and Integration: Globale Datenbank über Unternehmungen die u.a. Informationen über Web Services enthält.


Herunterladen ppt "1 Softwareentwicklung mit.NET Teil 4 ASP.NET Web Services Dr. Ralph Zeller."

Ähnliche Präsentationen


Google-Anzeigen