ASP.NET Web Services - PowerPoint PPT Presentation

About This Presentation
Title:

ASP.NET Web Services

Description:

Title: ASP.NET Web Services Subject: Microsoft .NET Author: Ralph Zeller Last modified by: Ralph Zeller Created Date: 6/6/1999 8:24:13 PM Document presentation format – PowerPoint PPT presentation

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

less

Transcript and Presenter's Notes

Title: ASP.NET Web Services


1
Softwareentwicklung mit .NET Teil 5 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 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"? encoding"utf-8"?gt ltsoapEnvelope x
mlnsxsi"http//www.w3.org/2001/XMLSchema-instanc
e" xmlnsxsd"http//www.w3.org/2001/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 Inline
11
Web ServiceBeispiel 2 FinanzServices Outline
12
Testen des Web Services
  • Aufruf über URL
  • http//localhost/Fservice.asmx
  • Rückgabe ist eine Testseite für Web Service

13
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

14
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

15
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

16
WS beschreibenBeispiel 3 FService.wsdl
17
WSDLWeb Services Description Language
  • Öffentliche Beschreibung eines Web Services in
    XML
  • .wsdl File mit disco.exe oder
  • http//localhost/Fservice.asmx?wsdl generieren
  • 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
  • WSDL.exe
  • Input
  • WSDL Datei oder Link auf Web Service
  • 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 4 Darlehensrechner
23
Win Forms Client Beispiel 5 Darlehensrechner
24
WS veröffentlichen
  • .disco File
  • Wird mit disco.exe oder
  • http//localhost/Fservice.asmx?disco generiert
  • enthält Link auf WSDL File eines Web Services
  • XML Format
  • UDDI
  • Globales Verzeichnis für Web Services

lt?xml version"1.0"? encoding"utf-8"?gt ltdiscovery
xmlns"http//schemas.xmlsoap.org/disco/"gt
ltcontractRef ref"http//localhost/FService.asmx?w
sdl" 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.
  • SOAP - Simple Object Access Protocol Protokoll
    zur plattformübergreifender Anwendungskommunikatio
    n
  • Web Services Komponenten, die ihre Methoden über
    ein XML-basiertes Interface für Internet-Clients
    zur Verfügung stellen
  • WSDL - Web Service Description Language
    Beschreibung der Web Services
  • 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