slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Softwareentwicklung mit .NET Teil 5 ASP.NET Web Services Dr. Ralph Zeller PowerPoint Presentation
Download Presentation
Softwareentwicklung mit .NET Teil 5 ASP.NET Web Services Dr. Ralph Zeller

Loading in 2 Seconds...

play fullscreen
1 / 28

Softwareentwicklung mit .NET Teil 5 ASP.NET Web Services Dr. Ralph Zeller - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

Softwareentwicklung mit .NET Teil 5 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 zur Verfügung stellt. Web Services Beispiele. Günstigster Online Buchhändler

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Softwareentwicklung mit .NET Teil 5 ASP.NET Web Services Dr. Ralph Zeller' - leif


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Softwareentwicklung mit .NET

Teil 5

ASP.NET

Web Services

Dr. Ralph Zeller

was ist ein web service
Was ist ein Web Service?
  • Ein Web Service ist eine Komponente, die ihre Methoden über Standard Web Protokolle wie SOAP zur Verfügung stellt
web services beispiele
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
soap simple object access protocol
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-übergreifendes Marshaling von Daten/Objekten)
soap beispiel
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"

<?xml version="1.0"? encoding="utf-8"?>

<soap:Envelope

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope">

<soap:Body>

<Rueckzahlungsrate xmlns="http://tempuri.org/">

<strKapital>string</strKapital>

<strZinssatz>string</strZinssatz>

<strMonate>string</strMonate>

</Rueckzahlungsrate>

</soap:Body>

</soap:Envelope>

ws ausf hrungsmodell

Web Client

ASP.NET

Applikationen

IIS

.NETFramework

Betriebssystem

WS Ausführungsmodell
  • Web Services basieren auf ASP.NET
web service prog modell
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
code syntax
Code & Syntax
  • WebService Direktive
    • Einstellungen für den ASP.NET Compiler
  • WebMethod Attribut
  • Code Deklaration Syntax
    • Outline
    • Inline (in C#)

<%@ WebService Language=value Class=value %>

<%@ WebService Class="MyClass.MyWebService" %>

<%@ WebService Language="C#" Class="MathService" %>using System.Web.Services;public class MathService : WebService { [ WebMethod ]...

beispiel asmx datei
Beispiel .asmx Datei

<%@ WebService Language="C#" Class="MathService" %>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; }}

testen des web services
Testen des Web Services
  • Aufruf über URL
    • http://localhost/Fservice.asmx
  • Rückgabe ist eine Testseite für Web Service
web service aufrufen
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
aufruf ber get post
Aufruf über GET & POST

http://server/appl/service.asmx/method?param=value

  • 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
aufruf ber soap
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
wsdl web services description language
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
slide18
WSDL
  • Abstrakte Darstellung der WSDL Elemente

service_1

port_C

port_B

service_2

message

port_D

port_A

porttype

message

beispiel wsdl datei
Beispiel WSDL Datei

<definitions name="serviceName"> <import namespace="http://namespacePath" location="http://path/fileName.wsdl"> <portType name="portNameType"> <operation name="opName"> <input message="msgNameInput" /> <output message="msgNameOutput" /> </operation> </portType> <binding name= ="bindingName"> <soap:operation soapAction="http://..." /> </binding> <service name="serviceName"> <port name="portName" binding="bindingName"> <soap:address location="http://..." /> </port> </service></definitions>

slide20

Web Service ClientsApplikationsmodell

Web ServiceEntwickler

Web ApplikationEntwickler

Web Server 1

Service App

.asmx

.aspx

Web Server 2

Service App

Proxy

Web Form

ws clients entwickeln
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
ws ver ffentlichen
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

<?xml version="1.0"? encoding="utf-8"?>

<discovery xmlns="http://schemas.xmlsoap.org/disco/">

<contractRef ref="http://localhost/FService.asmx?wsdl"

docRef="http://localhost/FService.asmx"

xmlns="http://schemas.xmlsoap.org/disco/scl/"/>

</discovery>

uddi universal discovery description and integration
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
uddi benutzung
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)
uddi beispiel
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