WebService-Architekturen



Ähnliche Dokumente
SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

E-Services mit der Web-Service-Architektur

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Workflow, Business Process Management, 4.Teil

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Kapitel 5 Web-Services

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Implementierung von Web Services: Teil I: Einleitung / SOAP

Wiederholung: Beginn

Grundlagen der Web-Entwicklung INF3172

WSDL. Web Services Description Language. André Vorbach. André Vorbach

Microsoft.NET und SunONE

XML und Web Services. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Definition Web Service

epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft

Seminar Internet Dienste. Webservices

Verteilte Systeme: Übung 4

VVA Webservice Online Lieferbarkeits-Abfrage

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

3-schichtige Informationssystem-Architektur

Der zukünftige SOAP-Standard des W3C

WebServices Zwischen Buzzword und Nutzen

Thema: Web Services. Was ist ein Web Service?

Beispiel einer Web-Service gestützten Systematischen Suche in den Beständen des Stadtgeschichtlichen Museums Leipzig

Webservices Ein Vortrag von:

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Zustandsgebundene Webservices

Agenda. Web Services unter Lotus Notes/Domino

JAXR Java API for XML Registries. Jasmin Hatteh

SOAP, WSDL, UDDI. Martin Grimmer. Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/Web Services Vortrag 1 am

Zur Definition von Web-Services

Architektur von SOAP basierten Web Services

Java und XML 2. Java und XML

Web Services. Standards und Realisierung in Java

COI-BUSINESSFLOW SOAP-SERVER MODUL INFORMATION

XML, Standards und andere Aktivitäten zur Formierung des Semantic Web

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Norm 225 Service Definition mit WSDL

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Motivation. Web Services in der Bioinformatik. Web Services. Motivation (2) Definition

Web-Services - die GIS-Zukunft?

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Mobile und Verteilte Datenbanken

Auszug aus JAX-WS Folien

PL/SQL Web-Services mit Oracle 11g

Web-Konzepte für das Internet der Dinge Ein Überblick

Standards und Standardisierungsgremien

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

Man liest sich: POP3/IMAP

SOA mit.net: Vom Geschäftsprozess zur Lösung

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Web-Services Grundlagen

Christoph Mathas. SOA intern. » Praxiswissen zu Service-orientierten IT-Systemen HANSER

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand

Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk

SAP NetWeaver Gateway. 2013

XML und SOAP Einführung und Grundlagen

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

SOAP Simple Object Access Protocol. Dr. Reinhard Riedl Universität Zürich/Universität Rostock

Enterprise Application Integration Erfahrungen aus der Praxis

Systembeschreibung. Masterplan Kommunikationsinterface. ASEKO GmbH. Version 1.0 Status: Final

<Insert Picture Here> Einführung in SOA

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Client/Server-Systeme

Übungen zu Softwaretechnik

Java 2, Enterprise Edition Einführung und Überblick

Software Reuse Sommer 2004

SOAP Simple Object Access Protocol

Spezifikation DPD und primetime WebService Shopfinder Gültig für Paketversender in Österreich. Version 3.3.0

EDI Datenaustausch und Konvertierung Funktionsumfang & Services

XML-RPC, SOAP und Web Services. Jörn Clausen

Norm 240 Versionierung

Inhalt. 3 Architektureller Entwurf Modellgeleitete Entwicklung Was ist Software-Architektur?... 43

Transkript:

WebService-Architekturen W12 Mario Jeckle mario.jeckle jeckle@daimlerchrysler.comcom DaimlerChrysler Forschungszentrum Ulm

Inhaltsübersicht WebService was ist das? Dienstanbieter (Service Provider) Dienstnachfrager (Service Requester) Dienstmakler (Service Broker) W12 Web Service Architekturen 2

WebService was ist das? Charakteristische Merkmale: Immaterialität (keine Produktion physischer Güter) Ephemer (nicht lagerfähig) Standortabhängigkeit (nicht transportfähig) Produktions-Konsumptions Konsumptions- Synchronität (keine Entkopplung zwischen Produzent und Konsument) W12 Web Service Architekturen 3

WebService was ist das? WebService := Per Web erbrachte Dienstleistung property service WSDL SOAP XML UDDI SDL DISCO SCL XML-RPC ASN.1 EDI ADS Web-Service Dienstleistung NASSL RPC naming service IDL ASCII............ W12 Web Service Architekturen 4

WebService was ist das? VB C++ C#... Java...... Common Language Specification Java Bytecode WSDL UDDI WebServices SOAP XML Schema XML 1.0 + Namespaces HTTP, SMTP,... TCP/IP Netzwerk W12 Web Service Architekturen 5

WebService vs. Systemintegration Systemintegration Kopplung technischer Systeme (zumeist) Programmierparadigmenspezifisch Technische Realisierung der Kommunikation sekundär Langfristige Kooperation WebServices Diensterbringung Paradigmenunabhängigkeit Kommunikation von primärem Interesse Ad hoc Kollaboration W12 Web Service Architekturen 6

WebService-Architektur WebServices bilden ein verteiltes System WebServices sind (zumeist) in eine existierende Systemwelt integriert oder zu integrieren WebServices sind kein kommerziell verfügbares Produkt WebServices sind nicht genau eine homogene integrierte Architektur WebServices beruhen auf einer Reihe eigenständiger Standards und Ideen, die in eine Architektur zu integrieren sind W12 Web Service Architekturen 7

WebService-Architektur... zerfällt in (mindestens) drei Rollen: Dienstanbieter (Service Provider) Bietet eine Dienstleistung über Web an Beschreibt und annonciert diesen Dienst Übernimmt Implementierung, Betrieb und Wartung Dienstnachfrager (Service Requestor) Nutzt angebotenen Dienst Sucht angebotene Dienste nach gewissen Kriterien Integriert Service in eigene Dienste und Applikationen Dienstmakler (Service Broker) Bietet Speicherung von Dienstbeschreibungen an Verwaltet kategorisierte Dienstbeschreibungen Ermöglicht automatisiertes Auffinden existierender Dienste W12 Web Service Architekturen 8

WebService-Architektur... zerfällt in (mindestens) drei Rollen: Dienstmakler (Service Broker) publish find Dienstanbieter (Service Provider) bind & Dienstnachfrager (Service Requestor) execute W12 Web Service Architekturen 9

Dienstanbieter Bietet eine Dienstleistung über Web an Zu lösende Teilprobleme: Abwicklung der Kommunikation (Protokoll) Struktur und Darstellung des Kommunikationsinhalts (Nutzdaten) Bekannteste Lösung: SOAP XML W12 Web Service Architekturen 10

Dienstanbieter Bietet eine Dienstleistung über Web an SOAP: Grundidee: Entfernte Methodenaufrufe und Nachrichtenaustausch XML-Darstellung beliebiger Inhalte Trennung zwischen Nutzinformation und Metadaten Ursprüngliche Entwicklung als XML-RPC (HTTP-basiert, asynchron) Weiterentwicklung durch DevelopMentor,, IBM, Microsoft, Lotus und UserLand Software als Simple Object Access Protocol (SOAP) Seit SOAP/1.1 synchron und (Transport-)Protokollunabhängig Als SOAP v1.2 derzeit durch eine W3C-Arbeitsgruppe im Standardisierungsprozeß W12 Web Service Architekturen 11

Dienstanbieter Bietet eine Dienstleistung über Web an POST /soap/servlet/rpcrouter HTTP/1.0 POST /soap/servlet/rpcrouter HTTP/1.0 Host: alice:80 Content-Type: Host: alice:80 text/xml; charset=utf-8 Content-Length: Content-Type: text/xml; 474 charset=utf-8 Content-Length: 474 SOAPAction: "" SOAPAction: "" <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" HTTP-Port xmlns:xsd="http://www.w3.org/1999/xmlschema"> xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" xmlns:xsd="http://www.w3.org/1999/xmlschema"> <SOAP-ENV:Body> <SOAP-ENV:Body> <ns1:add xmlns:ns1="urn:numberadder" <ns1:add xmlns:ns1="urn:numberadder" SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <number1 xsi:type="xsd:int">1</number1> Request <number1 xsi:type="xsd:int">1</number1> <number2 xsi:type="xsd:int">2</number2> </ns1:add> <number2 xsi:type="xsd:int">2</number2> </ns1:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Web-Server Web-Server Firewall Firewall W12 Web Service Architekturen 12

Dienstanbieter Bietet eine Dienstleistung über Web an Web-Server HTTP/1.0 200 OK Content-Type: HTTP/1.0 200 text/xml; OK charset=utf-8 Content-Length: Content-Type: text/xml; 529 charset=utf-8 Set-Cookie2: Content-Length: JSESSIONID=tibpjehn11;Version=1;Discard;Path="/soap" 529 Set-Cookie: Set-Cookie2: JSESSIONID=tibpjehn11;Path=/soap JSESSIONID=tibpjehn11;Version=1;Discard;Path="/soap" Servlet-Engine: Set-Cookie: JSESSIONID=tibpjehn11;Path=/soap Tomcat Web Server/3.2.1 (JSP Servlet-Engine: 1.1; 2.2; Tomcat Java 1.3.0; Web Server/3.2.1 Windows 2000 5.0 x86; java.vendor=sun Microsystems Inc.) (JSP 1.1; Servlet 2.2; Java 1.3.0; Windows 2000 5.0 x86; java.vendor=sun Microsystems Inc.) <?xml version='1.0' encoding='utf-8'?> <SOAP-ENV:Envelope <?xml version='1.0' encoding='utf-8'?> xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" HTTP-Port Response xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" xmlns:xsd="http://www.w3.org/1999/xmlschema"> xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" <SOAP-ENV:Body> xmlns:xsd="http://www.w3.org/1999/xmlschema"> <ns1:addresponse <SOAP-ENV:Body> xmlns:ns1="urn:numberadder" <ns1:addresponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> xmlns:ns1="urn:numberadder" <return SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> xmlns:ns2="http://xml.apache.org/xml-soap" <return xsi:type="ns2:vector"> xmlns:ns2="http://xml.apache.org/xml-soap" <item xsi:type="ns2:vector"> xsi:type="xsd:int">3</item> </return> <item xsi:type="xsd:int">3</item> </ns1:addresponse> </return> </SOAP-ENV:Body> </ns1:addresponse> </SOAP-ENV:Envelope> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Web-Server Firewall Firewall W12 Web Service Architekturen 13

Dienstanbieter Bietet eine Dienstleistung über Web an SOAP Ausblick auf Version 1.2: Breit getragener Standard (über 30 Arbeitsgruppenmitglieder) Frühe Umsetzung (Teilweise deutlich) präzisere Spezifikation SOAP-Action Action Header Eigener MIME-Type bei HTTP-Binding mustunderstand Status- und Fehlercodes XML-Namensräume... Engere Integration in W3C-XML XML-Standards (z.b. InfoSet) W12 Web Service Architekturen 14

Dienstanbieter Beschreibt und annonciert diesen Dienst Zu lösendes Teilproblem: Codierung von technischer Information über den Dienst abstrakte Dienstbeschreibung Aufrufparameter angebotene Operationen unterstützte Netzwerkprotokolle Bekannteste Lösung: WSDL (WebService Description Language) W12 Web Service Architekturen 15

Dienstanbieter Beschreibt und annonciert diesen Dienst WebService Description Language (WSDL) nutzbar durch binding kommuniziert durch service porttype message nimmt entgegen W12 Web Service Architekturen 16

Dienstanbieter Beschreibt und annonciert diesen Dienst WebService Description Language (WSDL): service: Gruppiert an technische Charakteristika gebundene ports zu einem Dienst binding: Definiert Protokolle und Datenformate eines porttypes porttype: Definiert abstrakte Operationen durch Definition ihrer Ein-/Ausgabenachrichten message: Abstrakte Definition der übertragenen Daten W12 Web Service Architekturen 17

Dienstanbieter Übernimmt Implementierung, Betrieb und Wartung Implementierung Programmiersprachliche Umsetzung der Kontrollogik durch Serverkomponente Abbildung der internen Datenstrukturen auf das verwendete Nachrichtenformat RPC/Nachrichten /Nachrichten-Infrastruktur, z.b. SOAP Betrieb: Beschreibung und Annoncierung des angebotenen Dienstes "klassische" Fragestellungen wie Sicherheitsaspekte, Skalierbarkeit, Lastverteilung, Performance... W12 Web Service Architekturen 18

Dienstanbieter Übernimmt Implementierung, Betrieb und Wartung Implementierung Durch die Nutzung der in XML-Schema Part 2 definierten Datentypen entsteht kein impedance mismatch W12 Web Service Architekturen 19

Dienstnachfrager Nutzt angebotenen Dienst Anhand der durch den Anbieter spezifizierten und publizierten Schnittstellen Unter Verwendung der vorgegebenen Schnittstellen und Datenformate Evtl. client-seitige Bereitstellung und Unterstützung diverser Sicherheitsmechanismen (z.b. Schlüsselverwaltung, SSL) Evtl. Vorhaltung notwendiger Abwicklungs- informationen (z.b. Passwort) W12 Web Service Architekturen 20

Dienstnachfrager Sucht angebotene Dienste nach gewissen Kriterien Anbieter 1 Nachfrager Anbieter 2 Dienst- Dienst- Dienst- Dienst- Anbieter 3 W12 Web Service Architekturen 21

Dienstnachfrager Sucht angebotene Dienste nach gewissen Kriterien Zu lösende Teilprobleme: Wer bietet den gesuchten Dienst an? Wo wird der gesuchte Dienst angeboten? Welche Konditionen gelten? Wie wird der gesuchte Dienst gesucht? Was ist der gesuchte Dienst? Lösungsansatz: UDDI (Universal Description, Discovery and Integration) W12 Web Service Architekturen 22

Dienstnachfrager Sucht angebotene Dienste nach gewissen Kriterien Lösungsansatz: UDDI (Universal Description, Discovery and Integration) Weltweit verteilt organisiertes Verzeichnis mit verschiedenen Diensten Gestattet gezielte Suche und wahlfreies Stöbern Herstellerunabhängige Standardisierungsinitiative (Ariba,, IBM und Microsoft) W12 Web Service Architekturen 23

Dienstnachfrager Sucht angebotene Dienste nach gewissen Kriterien Technische Umsetzung: Tägliche Replizierung zwischen allen UDDI-Standorten UDDI ist selbst ein WebService Kommunikation via SOAP Verwendetes Protokoll: HTTP(S) W12 Web Service Architekturen 24

Dienstnachfrager Sucht angebotene Dienste nach gewissen Kriterien Beispiel: Suche eines Anbieters <?xml version="1.0" encoding="utf-8"?> <find_businesses generic="2.0" xmlns="urn:uddi-org:api_v2"> <findqualifiers> <findqualifier>exactnamematch</findqualifier> </findqualifiers> <name>daimlerchrysler</name> </find_businesses> W12 Web Service Architekturen 25

Dienstnachfrager Sucht angebotene Dienste nach gewissen Kriterien UDDI-Datenstruktur: Datenstruktur: Business Service Business Entity Binding Template tmodel W12 Web Service Architekturen 26

Dienstnachfrager Integration in eigene Dienste und Applikationen Unterstützung des vom genutzten Dienst gewählten Kommunikationsprotokolls Evtl. Umsetzung zusätzlicher technischer Infrastrukturmaßnahmen (z.b. Sicherheit) Sinnvollerweise: Anbindung an ein UDDI-Repository zur Ermittlung eines geeigneten Kommunikationspartners W12 Web Service Architekturen 27

Dienstmakler Bietet Speicherung von Dienstbeschreibungen an UDDI-Repositories Repositories: derzeit betrieben: IBM, Microsoft, SAP Gestatten die kategorisierte Ablage von Dienstbeschreibungen Gleichen Dienstbeschreibungen zwischen den verschiedenen UDDI- Standorten ab W12 Web Service Architekturen 28

Dienstmakler Bietet Speicherung von Dienstbeschreibungen an Struktur eines UDDI UDDI-Repositories: Business Entity: white pages Nach Namen sortiertes Register Business Service: yellow pages Nach Kategorien sortiertes Register Binding Template und tmodel: green pages Detailinformationen Business Entity Business Service tmodel Binding Template W12 Web Service Architekturen 29

Dienstmakler Verwaltet kategorisierte Dienstbeschreibungen Kategorisierung der UDDI-verwalteten WebServices durch Taxonomien NAICS (North American Industry Classification System) UNSPSC (Universal Standard Products and Services Classification) ISO 3166:1999 (Codes for the representation of names of countries and their subdivisions) Beliebige Eigendefinierte W12 Web Service Architekturen 30

Dienstmakler Verwaltet kategorisierte Dienstbeschreibungen Beispiel: Autoreinigungsdienst: 81 Other Services (except Public Administration) 811 Repair and Maintenance 8111 Automotive Repair and Maintenance 81119 Other Automotive Repair and Maintenance 811192 Car Washes W12 Web Service Architekturen 31

Dienstmakler Ermöglicht automatisiertes Auffinden existierender Dienste UDDI-Standard Standard-API-Funktionen: find_x (X:=binding binding, businesses, relatedbusinesses, service, tmodel) Liefert passende UDDI-Elemente get_xdetail (X:=binding binding, business,service service, tmodel) Liefert Details zu einem UDDI- Elemente W12 Web Service Architekturen 32

WebService-Architektur... zerfällt in (mindestens) drei Rollen Dienstmakler (Service Broker) WSDL UDDI Dienstanbieter (Service Provider) SOAP Dienstnachfrager (Service Requestor) W12 Web Service Architekturen 33

Further Information Internet Information Server, SOAP-Toolkit http://www www.microsoft.comcom SOAP http://www www.w3..w3.org/tr/ WSDL http://www www.w3..w3.org/tr/2001/note-wsdl-20010315 UDDI http://www www.uddi.org Dieser Vortrag und weiterführende Information http://www www.jeckle.de W12 Web Service Architekturen 34