1 Web Services (SOAP, REST, WSDL). © Prof. T. Kudraß, HTWK Leipzig 2 Web Service – Definitionen? Gartner Group: Web services are software technologies,

Slides:



Advertisements
Ähnliche Präsentationen
SOAP, nur ein neuer XML- Dialekt?
Advertisements

Einer der Dienste im Internet
Basis-Architekturen für Web-Anwendungen
Sebastian Peters TIB-Workshop zur DOI-Registrierung 3. November 2011 DataCite Technik Vertiefung.
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
SOAP Simple Object Access Protocol
Datenbankzugriff im WWW (Kommerzielle Systeme)
Web Services und Workflow-Steuerung
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
DOM (Document Object Model)
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Kommunikation in verteilten Systemen (Middleware)
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
JAVA RMI.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Seminar Internet Technologien
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Systementwicklungsprojekt:
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Seminar Praktische Informatik Web Services
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Grundlagen: Client-Server-Modell
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 5 Folie 2 Windows Communication Foundation (WCF) s.a.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
Management- und Web Services- Architekturen
Oliver Spritzendorfer Thomas Fekete
1 (C)2006, Hermann Knoll, HTW Chur, FHO teKRY407 Geheimhaltung, Authentikation, Anonymität Protokolle: Übersicht Referat Santos: Hash-Funktionen.
Einführung in Web Services Web Services in der Praxis
Reinhold Rumberger Web Services.
SharePoint 2013 Web Services
SOAP.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
->Prinzip ->Systeme ->Peer – to – Peer
Universal Plug and Play
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Lektion 2: Service 18. February 2013 Folie 1 von 19.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Datenbanken und Internet
Welcome to Web Services & Grid Computing Jens Mache
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
Web Services (Axis) ETIS SS05.
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
Webbasierte Kommunikation am Beispiel REST Seminarvortrag von Heiko Overath.
Mainframe und WebServices bei der W. KAPFERER KG Einfache Internet-Lösungen in Verbindung mit vorhandenen Host-Programm-Strukturen.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
 Präsentation transkript:

1 Web Services (SOAP, REST, WSDL)

© Prof. T. Kudraß, HTWK Leipzig 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)

© Prof. T. Kudraß, HTWK Leipzig 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

© Prof. T. Kudraß, HTWK Leipzig 4 WS-* Universum WS-BPEL WS- Transaction WS-Security WS-Policy UDDI ? ?

© Prof. T. Kudraß, HTWK Leipzig 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

© Prof. T. Kudraß, HTWK Leipzig 6 Merkmale einer SOA Lose Kopplung Dynamisches Binden Verzeichnisdienst Verwendung von Standards Einfachheit Sicherheit Komplexe Aspekte – Automatisierung der Kommunikation – Geschäftsprozessmodellierung – Ereignisse – Semantik

© Prof. T. Kudraß, HTWK Leipzig 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)

© Prof. T. Kudraß, HTWK Leipzig 8 Web Services Stack Network Service Description XML-based Messaging Service Publication Service Discovery Service Flow SecurityManagementQuality of services HTTP, HTTPS, SMTP … SOAP WSDL UDDI UDDI, WS-Inspection WS-BPEL ComponentsRequirements

© Prof. T. Kudraß, HTWK Leipzig 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

© Prof. T. Kudraß, HTWK Leipzig 10 Grundansatz: Serialisierung class PurchaseOrder { String item = socks; int amount = 1; } socks 1 Serializer 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

© Prof. T. Kudraß, HTWK Leipzig 11 Metapher des »E-Umschlags« SOAP document style – packt XML in Envelope

© Prof. T. Kudraß, HTWK Leipzig 12 Hub Sender/ Empfänger Hub Sender/ Empfänger Vermittlung Knoten

© Prof. T. Kudraß, HTWK Leipzig 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)

© Prof. T. Kudraß, HTWK Leipzig 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)

© Prof. T. Kudraß, HTWK Leipzig 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

© Prof. T. Kudraß, HTWK Leipzig 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)

© Prof. T. Kudraß, HTWK Leipzig 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 programmiersprachenunabhängig Spezifikation unter 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

© Prof. T. Kudraß, HTWK Leipzig 18 WSDL WSDL beantwortet die 4 elementaren Fragen: – Welche Datentypen gibt es? Element – Welche Funktionalität besitzt der Dienst? und Element – Wie wird kommuniziert? Element – Wo befindet sich der Dienst? Element

© Prof. T. Kudraß, HTWK Leipzig 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

© Prof. T. Kudraß, HTWK Leipzig 20 Interface Definition Interface Implementierung WSDL Dokument Struktur eines WSDL Files Types Messages / Interfaces Bindings Service Definition

© Prof. T. Kudraß, HTWK Leipzig 21 WSDL Welche Datentypen gibt es?

© Prof. T. Kudraß, HTWK Leipzig 22 WSDL Welche Funktionalität besitzt der Dienst?

© Prof. T. Kudraß, HTWK Leipzig 23 WSDL Wie wird kommuniziert? <soap:body encodingStyle=" namespace=" use="encoded"/> <soap:body encodingStyle=" namespace=" use="encoded"/>

© Prof. T. Kudraß, HTWK Leipzig 24 WSDL Wo befindet sich der Dienst? binding="intf:PersonServiceSoapBinding"> address="