ASP.NET Web Services - PowerPoint PPT Presentation

About This Presentation
Title:

ASP.NET Web Services

Description:

Teil 4 ASP.NET Web Services Dr. Ralph Zeller Was ist ein Web Service? Ein Web Service ist eine Komponente, die ihre Methoden ber Standard Web Protokolle wie SOAP ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 29
Provided by: Ralp88
Category:
Tags: asp | net | ariba | services | web

less

Transcript and Presenter's Notes

Title: ASP.NET Web Services


1
Softwareentwicklung mit .NET Teil 4 ASP.NET Web
Services Dr. Ralph Zeller
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
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 überPaketservice aus
  • Status wird über die Seite des Buchhändlers
    abgefragt
  • Web Service holt Status-informationen des
    Paket-services

4
SOAPSimple 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-übergreifen
    des Marshaling von Daten/Objekten)

5
SOAP Beispiel
POST /FService.asmx HTTP/1.1 Host
localhost Content-Type text/xml
charsetutf-8 Content-Length length SOAPAction
"http//tempuri.org/Rueckzahlungsrate" lt?xml
version"1.0"?gt ltsoapEnvelope xmlnsxsi"http//w
ww.w3.org/2000/10/XMLSchema-instance"
xmlnsxsd"http//www.w3.org/2000/10/XMLSchema" x
mlnssoap"http//schemas.xmlsoap.org/soap/envelop
e"gt ltsoapBodygt ltRueckzahlungsrate
xmlns"http//tempuri.org/"gt
ltstrKapitalgtstringlt/strKapitalgt
ltstrZinssatzgtstringlt/strZinssatzgt
ltstrMonategtstringlt/strMonategt
lt/Rueckzahlungsrategt lt/soapBodygt lt/soapEnvelop
egt
6
WS Ausführungsmodell
  • Web Services basieren auf ASP.NET

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 alsWSDL-Datei
    (Web Service Description Language)
  • Compile on demand

8
Code Syntax
  • WebService Direktive
  • Einstellungen für den ASP.NET Compiler
  • WebMethod Attribut
  • Code Deklaration Syntax
  • Outline
  • Inline (in C)

lt_at_ WebService Languagevalue Classvalue gt
lt_at_ WebService Class"MyClass.MyWebService" gt
lt_at_ WebService Language"C" Class"MathService"
gtusing System.Web.Servicespublic class
MathService WebService WebMethod ...
9
Beispiel .asmx Datei
lt_at_ WebService Language"C" Class"MathService"
gtusing Systemusing System.Web.Servicespubl
ic 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
Web ServiceBeispiel 1 FinanzServices
11
Testen des Web Services
  • Aufruf über URL
  • http//localhost/Fservice.asmx
  • Rückgabe ist eine Testseite für Web Service

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
Aufruf über GET POST
  • http//server/appl/service.asmx/method?paramvalue
  • 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
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
WS AufrufoptionenBeispiel 2 FService.asmx testen
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
WSDLWeb 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
WSDL
  • Abstrakte Darstellung der WSDL Elemente

service_1
port_C
port_B
service_2
message
port_D
port_A
message
porttype
19
Beispiel WSDL Datei
ltdefinitions name"serviceName"gt ltimport
namespace"http//namespacePath"
location"http//path/fileName.wsdl"gt ltportType
name"portNameType"gt ltoperation
name"opName"gt ltinput message"msgNameInput"
/gt ltoutput message"msgNameOutput" /gt
lt/operationgt lt/portTypegt ltbinding
name"bindingName"gt ltsoapoperation
soapAction"http//..." /gt lt/bindinggt ltservice
name"serviceName"gt ltport name"portName"
binding"bindingName"gt ltsoapaddress
location"http//..." /gt lt/portgt
lt/servicegtlt/definitionsgt
20
Web Service ClientsApplikationsmodell
Web ServiceEntwickler
Web ApplikationEntwickler
Web Server 1
Service App
.asmx
.aspx
Web Server 2
Service App
Proxy
Web Form
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
Web Forms Client Beispiel 3 Hypothekar Rechner
23
Win Forms Client Beispiel 4 Hypothekar Rechner
24
WS veröffentlichen
  • .disco File
  • Wird durch GET Parameter ?disco generiert
  • http//localhost/Fservice.asmx?disco
  • enthält Link auf SDL File eines Web Services
  • XML Format
  • UDDI
  • Globales Verzeichnis für Web Services

lt?xml version"1.0"?gt ltdiscovery
xmlns"http//schemas.xmlsoap.org/disco/"gt
ltcontractRef ref"http//localhost/FService.asmx?s
dl" docRef"http//localhost/FService.asmx"
xmlns"http//schemas.xmlsoap.org/disco/scl/"/gt lt/
discoverygt
25
UDDIUniversal Discovery, Description and
Integration
  • Globale Datenbank über Unternehmungen
  • Wer bietet was an?
  • Von 30 Unternehmen getragen
  • IBM, Ariba, Microsoftbetreiben EINE verteilte
    Datenbank
  • SAP, Oracle, Sun, etc.
  • http//www.uddi.org

26
UDDI Benutzung
  • Daten in XML beschrieben
  • White pages (Name, Kontakt)
  • Yellow pages (Welche Branche)
  • Green pages (Binding Information Wie kannKunde
    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
UDDI Beispiel
  • DoAll hat Web-Shop Web Services
    (Produktkatalog)
  • DoAll ist in UDDI Registry eingetragen
  • Marketplace Search Engines kontaktieren UDDI
  • 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
  • http//www.doall.com, http//www.bcentral.com

28
Fragen?
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 Anwendungskommunikatio
    n
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com