Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP - - PDF document

web services inhalt
SMART_READER_LITE
LIVE PREVIEW

Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP - - PDF document

Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich


slide-1
SLIDE 1

1

Web Services

Fachseminar „Verteilte Systeme“

  • 8. April 2002 - Marco Steiner

Assistent: Thomas Schoch Professor: Dr. F. Mattern

Web Services: Inhalt

  • Bedeutung
  • Gegenwart
  • Architektur

– SOAP – WSDL – UDDI

  • Vergleich mit Jini
  • Zukunft

– Probleme – Möglichkeiten

slide-2
SLIDE 2

2

Bedeutung der Web Services

  • Wiederverwendbare Softwarekomponenten
  • Lose untereinander verbundene Komponenten
  • In sich geschlossen eng definierte

Funktionalität

  • Können von Programmen angesprochen

werden

  • Werden übers Internet verteilt
  • Satz von Standards

Web Services im Überblick

  • Grosses Presseecho (Hype)
  • Selbstbeschreibend
  • Publikation, Lokalisierung, Aufruf
  • Überall im Web oder in lokalem Netzwerk
  • Unabhängig von:

– Betriebssystem – Programmiersprache – Komponenten-Modell

  • Kompatibel mit Firewalls
slide-3
SLIDE 3

3 TCP/IP-Architektur:

Gegenwärtige Technologien

  • TCP/IP
  • HTTP
  • SMTP
  • Java
  • XML

Hardware Netzwerk Interface Internet (IP) Transport (TCP) Anwendungen (SMTP, HTTP, ...)

Weitere Entwicklung des Web

  • Nach IBM

– Bandbreite wird billiger – Speicher wird billiger – Inhalt wird dynamischer – Verteilte Verarbeitung wird wichtiger

  • Nach Tim Berners-Lee

Semantisches Web

slide-4
SLIDE 4

4

Architektur

Netzwerk Mitteilungsaustausch (XML) Service Beschreibung Service Veröffentlichung Service Entdeckung

HTTP, SMTP, ... SOAP WSDL UDDI

SOAP

SOAP

HTTP, SMTP, FTP, ... WSDL UDDI (Publication) UDDI (Discovery) SOAP

Mitteilungsaustausch

slide-5
SLIDE 5

5

SOAP: Simple Object Access Protocol

  • Grundidee:

– Entfernte Methodenaufrufe (rpc style) – Nachrichtenaustausch (document style)

  • Definition des XML-Formats der Nachricht
  • Strukturierter und typisierter Austausch
  • Mehrere mögliche Endpoints
  • Definiert nicht das Transport-Protokoll

– Enthält aber Vorschlag für Transport via http

  • Inzwischen über 70 Implementierungen

SOAP: XML für Messages

  • SOAP basiert auf XML
  • Als Nachrichten werden ebenfalls XML-

Dokumente verwendet

  • Können mit Text-Editor erstellt und

gelesen werden

  • Durch verbreitete Akzeptanz schon viele

Werkzeuge zur Unterstützung

slide-6
SLIDE 6

6

  • Definition vom Transport separiert
  • Verschiedene Möglichkeiten des

Transports

  • Synchrone vs. asynchrone

Datenübertragung

SOAP: Transport

smtp: http:

SOAP: Envelope

  • Trennung zwischen Nutzinformation

und Metadaten

  • Envelope

– Body – Header

Envelope Header Header Eintrag ... Body

slide-7
SLIDE 7

7

SOAP: Erweiterungen

  • Definiert im Header-Teil des Envelopes
  • Zusätzliche Funktionalität kann eingebaut

werden, ohne SOAP zu verändern

  • Mögliche Erweiterungen:

– Transaktionen – Verschlüsselung – Objekt-Referenzen – Verrechnung (Accounting) – ...

WSDL

HTTP, SMTP, FTP, ... SOAP WSDL UDDI (Publication) UDDI (Discovery) WSDL

Service Beschreibung

slide-8
SLIDE 8

8

WSDL: Web Services Description Language

  • Definition und Beschreibung von Web Services
  • Verstecken Implementierung
  • Programmierschnittstellen

– Methoden und Attribute – Adresse im Web – Verwendetes Transportprotokoll – Übertragungsformate der Daten

  • Tools zur automatischen Generierung

WSDL: Types

  • Relevante Datentyp-Definitionen
  • Bevorzugt XSD als Typen-System
  • Elementare und komplexe Typen
  • Typenfreiheit möglich
  • Zusätzliche Typen-Systeme

– Erweiterungs-Elemente

<definitions .... > <types> <xsd:schema .... />* </types> </definitions>

slide-9
SLIDE 9

9

WSDL: Messages

<definitions .... > <message name="nmtoken"> * <part name="nmtoken" element="qname" | type="qname"/> * </message> </definitions>

type type ... definitions message part part message ... ... ...

WSDL: Port Types

<wsdl:definitions .... > <wsdl:portType name="nmtoken"> <wsdl:operation name="nmtoken" .... /> * </wsdl:portType> </wsdl:definitions>

definitions portType

  • peration

input ... ... message message message

  • utput

fault

  • peration
slide-10
SLIDE 10

10

WSDL: Bindings

<wsdl:definitions .... > <wsdl:binding name="nmtoken" type="qname"> * <-- extensibility element (1) --> * <wsdl:operation name="nmtoken"> * <-- extensibility element (2) --> * <wsdl:input name="nmtoken"? > ? <-- extensibility element (3) --> </wsdl:input> <wsdl:... / > </wsdl:operation> </wsdl:binding> </wsdl:definitions>

definitions binding

  • peration

input ... ... Style/ Transport

  • utput

fault

WSDL: Ports and Services

<wsdl:definitions .... > <wsdl:service .... > * <wsdl:port name="nmtoken" binding="qname"> * <-- extensibility element (1) --> </wsdl:port> </wsdl:service> </wsdl:definitions>

definitions service port port ... ... ... Adresse: Netzwerk-Endpunkt(e)

slide-11
SLIDE 11

11

WSDL: Zusammenfassung

Abstrakte Definitionen Types Messages PortTypes Operations Konkrete Definitionen Bindings Services Operations Ports

referenziert enthält

UDDI

HTTP, SMTP, FTP, ... SOAP WSDL UDDI (Publication) UDDI (Discovery) UDDI (Discovery) UDDI (Publication)

Registratur

slide-12
SLIDE 12

12

UDDI: Universal Description, Discovery, and Integration

  • Meta-Data an separater Stelle – zentral
  • Weltweite Registratur (130 IT-Firmen)
  • Anmeldung/Abfrage von Web Service
  • Transaktion direkt zwischen den Peers
  • Nachschlagen und Verzeichnen mithilfe

bestimmter SOAP-Nachrichten

  • Drei „Telefonbücher“

Weisse Seiten Gelbe Seiten Grüne Seiten

UDDI: Rollen und Operationen

Service Provider Service Registry Service Requestor

nachschlagen v e r ö f f e n t l i c h e n b i n d e n

slide-13
SLIDE 13

13 Registry Operator

UDDI: Service Cloud

Registry Operator Registry Operator Service Provider v e r ö f f e n t l i c h e n Client n a c h s c h l a g e n UDDI Service Cloud

UDDI: Private

  • Innerhalb einer Unternehmung
  • SOAP, WSDL, UDDI: nützlich für eine

Anwendungs- oder Datenintegrationsstrategie

  • Existierende Unternehmungsfunktionen

und –daten

  • Kommerzielle Software
slide-14
SLIDE 14

14

Vergleich mit Jini

  • Lookup-Service vs. UDDI

– Viele Lookup-Services für bestimmte Gruppen – Code shipping – Proxy (reiner Stellvertreter) oder Smart-Proxy – Discovery via multicast an bekannte Adresse – Anmeldung: eigener Dienstproxy mit Attributen – Leasing Services – Rückgabe von Menge aller Treffer Auswahl lokal

Vergleich mit Jini (Fortsetzung)

  • Braucht Java Virtual Machine

(Homogenität auf Heterogenität)

  • Typ-Sicherheit in Jini durch Java
  • Jini Services als Web Services
slide-15
SLIDE 15

15

Probleme und Herausforderungen

  • Sicherheit

– Vertraulichkeit und Integrität – Schlüsselverwaltung – Identifikation von Webservices-Anwendern

  • Zuverlässigkeit

– Verfügbarkeit

  • Abrechnung
  • Transaktions-Management
  • Tests / Debugging

Möglichkeiten / Zukunft

  • Bisherige Standards: Technologien zur Web Service-

Implementierung

  • Web Services: Technologie für den Zugriff auf

Business-Funktionen im Web

  • Keine Homogenität im Internet
  • Keine symmetrischen Anforderungen, kein Einsatz von

Softwarebrücken (gemeinsame Basis SOAP)

  • Viele und verschiedenartige Verbindungen
  • Leichte Erweiterbarkeit
  • Unterstützung verschiedener Hersteller
  • Allgemeine Industrie-Akzeptanz
slide-16
SLIDE 16

16

Bisherige Anwendungen

  • Hauptsächlich einfache Operationen
  • Beispiele: [Quelle: salcentral.com]

– Verkauf von Web Services für Entwickler – Chat Server – Überprüfung von Kreditkarten-Informationen – Währungskonverter – Verfolgung von Post-Paketen (UPS / FedEx) – Fluginformationen mit Preisen – Übersetzungen (Babelfish) – Rückgabe von Aktienkursen – Verschiedenste mathematische Funktionen – Diverse Spiele

Literatur

  • Professional XML Web Services

Cauldwel et al. (2001 Wrox Press)

  • http://www.w3.org
  • http://www.webservices.org
  • http://www-106.ibm.com/developerworks/webservices/
  • http://msdn.microsoft.com/library/default.asp?url=/library/

en-us/Dnwebsrv/html/webservbasics.asp?frame=true

  • Verschiedene Zeitungen und Zeitschriften