Web Services (SOAP, REST, WSDL) - PowerPoint PPT Presentation

About This Presentation
Title:

Web Services (SOAP, REST, WSDL)

Description:

Web Services (SOAP, REST, WSDL) Web Service Definitionen? Gartner Group: Web services are software technologies, making it possible to build bridges between IT ... – PowerPoint PPT presentation

Number of Views:118
Avg rating:3.0/5.0
Slides: 25
Provided by: kudrass
Category:
Tags: rest | soap | wsdl | java | services | servlet | web

less

Transcript and Presenter's Notes

Title: Web Services (SOAP, REST, WSDL)


1
Web Services(SOAP, REST, WSDL)
2
Web Service Definitionen?
  • Gartner Group Web services are software
    technologies, making it possible to build bridges
    between IT systems that otherwise would require
    extensive development efforts.
  • Forrester Research Software designed to be used
    by other software via Internet protocols and
    formats
  • W3C A Web service is a software application
    identified by a URI, whose interface and bindings
    are capable of being defined, described and
    discovered as XML artifacts. A Web service
    supports direct interactions with other software
    agents using XML-based Messages exchanged via
    internet-based protocols. (October 2002)
  • OASIS Service Oriented Architecture (SOA) is a
    paradigm for organizing and utilizing distributed
    capabilities that may be under the control of
    different ownership domains. (2006)

3
Dienste als kleinste Bestandteile in einer
Serviceorientierten Architektur (SOA)
  • Dienst beschreibt eine eigenständige
    Funktionalität
  • Funktionalität durch Dienst vollständig
    implementiert
  • eigenständig aus Sicht des Dienstnutzers
  • Eine öffentliche Schnittstelle ist verfügbar
  • alle Angaben in beschreibender Form
  • hersteller-, plattform- und technologieneutrale
    Beschreibung
  • Jeder Dienst ist eigenständiges Artefakt
  • Dienst austauschbar durch andere Implementierung
  • Kenntniss der Interna des Dienstes nicht notwendig

4
WS- Universum
WS-Security
WS-Policy
WS-BPEL
WS-Transaction
WS- Universum
UDDI
?
5
Basiskomponenten
  • Kommunikation
  • Dienstbeschreibung
  • Verzeichnisdienst
  • SOAP beschreibt das XML-basierte
    Nachrichtenformat der Kommunikation und dessen
    Einbettung in ein Transportprotokoll
  • WSDL ist eine XML-basierte Beschreibungssprache,
    um Web Services (Dienste) zu beschreiben
  • UDDI beschreibt einen Verzeichnisdienst für Web
    Services. UDDI spezifiziert eine standardisierte
    Verzeichnissstruktur für die Verwaltung von Web
    Services-Metadaten allgemeine Anforderungen,
    Web-Service-Eigenschaften, benötigte
    Informationen zum Auffinden von Web Service

6
Merkmale einer SOA
  • Lose Kopplung
  • Dynamisches Binden
  • Verzeichnisdienst
  • Verwendung von Standards
  • Einfachheit
  • Sicherheit
  • Komplexe Aspekte
  • Automatisierung der Kommunikation
  • Geschäftsprozessmodellierung
  • Ereignisse
  • Semantik

7
Vorläufer und artverwandte Technologien
  • Sun RPC (1985)
  • Microsoft COM (1993)
  • für prozessinterne Aufgabenstellung, nicht für
    Netzwerkkommunikation geeignet
  • CORBA (1992)
  • Microsoft DCOM (1996)
  • CORBA-Pendant für die Windows-Welt
  • Weiterentwicklung COM ab Windows2000
  • Java RMI (1996)

8
Web Services Stack
Components
Requirements
WS-BPEL
Service Flow
Service Discovery
UDDI, WS-Inspection
Service Publication
UDDI
Service Description
WSDL
XML-based Messaging
SOAP
HTTP, HTTPS, SMTP
Network
9
Was ist SOAP?
  • ursprünglicher Name Simple Object Access
    Protokoll
  • XML-Markup-Language
  • weist Ähnlichkeiten zu Protokoll auf
  • SOAP-Spezifikation beschreibt nur Aufbau einer
    Nachricht, nicht den Versand!
  • Eigenschaften
  • Regeln, wie Daten in Nachrichten einzubinden und
    zu interpretieren sind, Konventionen für
    XML-basierten RPC
  • keine Vorschriften zur Semantik
  • kann beliebige Transportprotokolle nutzen, z.B.
    HTTP, SMTP, FTP, auch TCP/IP
  • ermöglicht transparenten Zugang zu Applikationen
    über Standardport des Webservers somit
    Bindeglied zwischen Applikationen

10
Grundansatz Serialisierung
  • Eigene Serialisierungs-Spezifikationen möglich
  • Standard-Serialisierung
  • Objekte bzw. Objektstrukturen üblicher Typsysteme
    (Java, C, C) werden auf XML abgebildet
  • Arrays und Referenzen sind auch möglich

11
Metapher des E-Umschlags
  • SOAP document style
  • packt XML in Envelope

12
Vermittlung
Hub Sender/ Empfänger
Hub Sender/ Empfänger
Knoten
13
REST? Der Rest von was?
  • Alternative zu SOAP
  • REST REpresentational State Transfer
  • kein eigenes Protokoll, keine eigene Nachricht
  • beschreibt Architekturstil für Webstandards
    Webanwendung besteht aus Sammlung von Ressourcen,
    die über HTTP-Operationen angesprochen werden
  • entwickelt von Roy Fielding in seiner
    Dissertation 2000
  • Architektonische Elemente von REST
  • Ressourcen und Repräsentationen
  • Einheitliche Schnittstellen
  • Hypermedia (Verknüpfung)

14
REST Abgrenzung und Vergleich zu SOAP
  • Ressource
  • Quelle an einer beliebigen Stelle im Web,
    eindeutig identifizierbar über URIs oder auch
    URLs
  • in REST Komponenten einer Applikation
  • Beispiele Darlehensanträge, Werbung, Bilder
  • URIs / URLs in Browser als Link oder Lesezeichen
    hinterlegt
  • Unterstützung bei unterschiedlichen
    Repräsentationen derselben Ressource (Content
    Negotiation)
  • Direkter Zugriff auf Ressourcen durch
    Applikation (kein umständliches Entpacken,
    Bearbeiten usw. wie in SOAP)

15
REST Abgrenzung und Vergleich zu SOAP(2)
  • einheitliche Schnittstellen
  • Dienstnutzer weiß, wie Daten zu bekommen sind
  • immer gleiche Operationen angelehnt an HTTP
  • Ressource durch Browser nutzbar (anders als bei
    SOAP)
  • REST-konforme Schnittstelle durch Nutzung von
    HTTP generisch
  • Operationen
  • GET Abfrage der Repräsentation einer Ressource
  • POST Anlegen einer Ressource oder Starten von
    Prozessen auf Server
  • PUT Ressource auf Server anlegen oder verändern
  • DELETE Löschen von Ressourcen
  • HEAD Abfrage von Metadaten über Ressource durch
    Client
  • OPTIONS Abfrage vorhandener Methoden an einer
    Resource
  • Web Services erhalten bei neuen Anforderungen
    immer neue Schnittstellen mit passenden
    Datentypen und Operationen

16
REST Abgrenzung und Vergleich zu SOAP(3)
  • Hypermedia (Verknüpfung)
  • Verknüpfen und Nutzen von Ressourcen
    untereinander
  • Eigentliche Verlinkung enthält Inhalt, der
    Nachricht selbst repräsentiert
  • von Ressourcenname zu Prozess
  • Standards
  • HTTP GET, POST, DELETE, PUT
  • Datenformate XML, XHTML, PNG, GIF, JPEG, HTML
  • MIME-Typen für HTTP undd URIs
  • Nachrichten
  • Übertragung in allen gängigen Formaten
  • Keine speziellen Formate erforderlich
  • REST-Nachricht selbsterklärend ohne Wissen über
    zuvor versendete oder später zu versendende
    Nachrichten
  • Status der Nachricht über den Inhalt (also die
    Repräsentation) des Hypertext-Dokuments
    abgebildet
  • Ressource durch Browser nutzbar (anders als bei
    SOAP)

17
WSDL
  • WSDL Web Services Definition Language
  • Beschreibt WebServices in XML Notation
  • Funktion wie IDL in Corba (aber nicht nur
    abstrakte Beschreibung)
  • ist plattform-, protokoll- und programmiersprachen
    unabhängig
  • Spezifikation unter www.w3.org/TR/wsdl
  • spezifiziert ein Interface zu einem Dienst nur
    syntaktische Elemente
  • nicht vorhanden (dafür gibts andere Standards)
  • QoS-Informationen (z.B. Kosten, Antwortzeit)
  • Sicherheitsbestimmungen
  • semantische Beschreibung (Effekte einer
    Operation)
  • besitzt die Dateiendung .wsdl
  • Historie
  • Veröffentlichung von WSDL 1.1 durch im März 2001
  • WSDL 2.0 veröffentlicht im Juni 2007

18
WSDL
  • WSDL beantwortet die 4 elementaren Fragen
  • Welche Datentypen gibt es?
  • lttypes/gt Element
  • Welche Funktionalität besitzt der Dienst?
  • ltmessage/gt und ltinterface/gt Element
  • Wie wird kommuniziert?
  • ltbinding/gt Element
  • Wo befindet sich der Dienst?
  • ltservice/gt Element

19
Elemente in WSDL
Message Abstrakte Definition der
auszutauschenden Daten (typischerweise auf
XML-Basis) Operation Abstrakte Aktionen, die ein
Service unterstützt (d.h. Menge von Input und
Output Messages) Port Type Menge von
Operationen, ab WSDL 1.2 Interface Binding
Beschreibt Abbildung eines Interfaces auf
konkretes Datenübertragungsprotokoll (z.B.
SOAP) Endpunkt (Port) Einzelner individueller
"Endpunkt" mit konkretem Binding, identifiziert
durch eine Netzwerkadresse Service Sammlung
zusammengehöriger Endpunkte
20
Struktur eines WSDL Files
21
WSDL
  • Welche Datentypen gibt es?

22
WSDL
  • Welche Funktionalität besitzt der Dienst?

23
WSDL
  • Wie wird kommuniziert?

24
WSDL
  • Wo befindet sich der Dienst?
Write a Comment
User Comments (0)
About PowerShow.com