Serviceorientierte Architektur / Web Service

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

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Serviceorientierte Architektur / Web Service

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

Verteilte Systeme: Übung 4

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

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Ü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)

Business Process Execution Language. Christian Vollmer Oliver Garbe

Verteilte Anwendungen. Teil 10: UDDI und WSDL

Wiederholung: Beginn

Workflow, Business Process Management, 4.Teil

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Norm 225 Service Definition mit WSDL

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

Gliederung Einleitung Die Interprozess Kommunikation Zusammenfassung Fragen. .NET Remoting. André Frimberger

Java und XML 2. Java und XML

Definition Web Service

Seminarvortrag Serviceorientierte Softwarearchitekturen

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

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

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang,

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

Kapitel 5 Web-Services

Zustandsgebundene Webservices

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

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

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

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

Service Oriented Architecture. Hanno Wunderlich SWT-Projekt WS07/08

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

Microsoft.NET und SunONE

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

Implementierung von Web Services: Teil I: Einleitung / SOAP

Kapitel WT:VI (Fortsetzung)

Web Services. 1. Quelle. Brian Connel The Seven Pillars of Web Services Management. Erschienen September 2002 im eai Journal

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

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

JAXR Java API for XML Registries. Jasmin Hatteh

Implementierung von Geschäftsprozessen in der Verwaltung mit Hilfe von SOA

Client/Server-Systeme

Webservices Ein Vortrag von:

Web Service Entwicklung mit Java. Sven Lindow

3-schichtige Informationssystem-Architektur

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel

Markus Schulz Seminar: XML für Fortgeschrittene

SOA, Webservices und SOAP für Schnelleinsteiger

Geschäftsprozessmodellierung essmodellierung mit BPEL

Web Services. Eine kleine Einführung. Werner Gaulke

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar?

Architektur von SOAP basierten Web Services

Analyse von Sicherheitaspekten in Service-orientierten Architekturen

Themen. Web Service - Clients. Kommunikation zw. Web Services

Semtation GmbH SemTalk

Standards und Standardisierungsgremien

Serviceorientierte Architekturen - SOA

SOAP Simple Object Access Protocol

Mobile und Verteilte Datenbanken

Software Engineering II (IB) Serviceorientierte Architektur

Netzprogrammierung Web-Dienste

Web-Services Grundlagen

Norm 410 Security Token Service

Service-orientierte Architektur. Das nächste große Ding?

Block Web-Dienste. Beispiel: ohne Browser. ohne Browser. Beispiel: Definition

GI-Services erstellen und bereitstellen

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

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

Einführung in WebServices

Verteilte Systeme - Überblick

E-Services mit der Web-Service-Architektur

Kommunikation und Kooperative Systeme

Die Technik hinter Web Services. Wie baut man einen Web Service? Was sind die technischen Details von WSDL, SOAP und UDDI?

6 Zusammenschaltung von Web-Services

Web Services Composition (BPWS4J )

SOAP und REST Ein Vergleich von service- und ressourcenorientierten Architekturen und deren Einsatz im VMA-Projekt

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

SOAP. SOAP: Envelope

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Apache AXIS Architektur

Web-Services - die GIS-Zukunft?

SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen

Grundlagen des Grid Computing

A Generic Database Web Service for the Venice Lightweight Service Grid

Webservices in der IBM Welt eine neue Herausforderung für DB2 Spezialisten

Abschlussprüfung Sommer 2009 IHK Präsentation und Fachgespräch

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Transkript:

/ Web Service Hauptseminar im Institut für Verteilte Systeme Nenad Marjanovic Universität Ulm 17.12.2007

Übersicht Was ist SOA? Vorteile aus Sicht des Entwicklers Vorteile aus Sicht des Managers Nachteile von SOA 1 2 3 4 5 2 von 42 Nenad Marjanovic / Web Service

Übersicht Was ist SOA? Vorteile aus Sicht des Entwicklers Vorteile aus Sicht des Managers Nachteile von SOA 1 Was ist SOA? Vorteile aus Sicht des Entwicklers Vorteile aus Sicht des Managers Nachteile von SOA 2 3 4 5 3 von 42 Nenad Marjanovic / Web Service

Was ist SOA? Was ist SOA? Vorteile aus Sicht des Entwicklers Vorteile aus Sicht des Managers Nachteile von SOA Definition Die Abkürzung SOA steht für serviceorientierte Architektur. Darunter versteht man die Auslagerung von Funktionen oder Geschäftsprozessen auf einen internen oder externen Dienst. Keine Programmiersprache oder konkrete Technik Architektur für den Softwareaufbau 4 von 42 Nenad Marjanovic / Web Service

Vorteile aus Sicht des Entwicklers Was ist SOA? Vorteile aus Sicht des Entwicklers Vorteile aus Sicht des Managers Nachteile von SOA Zentrale Speicherung des Codes. Änderungen sofort bei allen Dienstnutzern verfügbar Implementierung des Dienstes unrelevant - Kommunikation über feste Schnittstellen Leichte Wiederverwendbarkeit Schnelle Entwicklung komplexer Abläufe durch Dienstketten 5 von 42 Nenad Marjanovic / Web Service

Vorteile aus Sicht des Managers Was ist SOA? Vorteile aus Sicht des Entwicklers Vorteile aus Sicht des Managers Nachteile von SOA Kostenersparnis durch Verringerung des Wartungsaufwands Kostenersparnis durch gemeinsame Nutzung der Ressourcen in verschiedenen Abteilungen Kostenersparnis bei Neuentwicklung und Belegung von Ressourcen durch Nutzen von externen Diensten Neue Einnahmequelle durch Anbieten von implementierten Diensten 6 von 42 Nenad Marjanovic / Web Service

Nachteile von SOA Was ist SOA? Vorteile aus Sicht des Entwicklers Vorteile aus Sicht des Managers Nachteile von SOA Evtl. neue Sicherheitsprobleme durch Kommunikation über Netzwerk Wenn Dienst oder Netzwerk ausfällt, kann Aufgabe nicht ausgeführt werden Kommunikation mit Dienst beansprucht Zeit (generieren von Anfragen und verarbeiten von Antworten) 7 von 42 Nenad Marjanovic / Web Service

8 von 42 Nenad Marjanovic / Web Service 5 Übersicht Komponenten Dienst Dienstnutzer Verzeichnisdienst Interaktionsstruktur 1 2 Komponenten Dienst Dienstnutzer Verzeichnisdienst Interaktionsstruktur 3 4

Komponenten Komponenten Dienst Dienstnutzer Verzeichnisdienst Interaktionsstruktur Eine serviceorientierte Architektur besteht im Wesentlichen aus Dienst Dienstnutzer Verzeichnisdienst 9 von 42 Nenad Marjanovic / Web Service

Dienst Komponenten Dienst Dienstnutzer Verzeichnisdienst Interaktionsstruktur Stellt eine gewisse Funktionalität bereit Dienst kann plattform- und programmiersprachenunabhängig genutzt werden Gibt genau definierte Kommunikationsschnittstelle vor Implementierung und Architektur bleibt verborgen Wird meist über das Netzwerk (Intra- oder Internet) angesprochen 10 von 42 Nenad Marjanovic / Web Service

Dienstnutzer Komponenten Dienst Dienstnutzer Verzeichnisdienst Interaktionsstruktur Nimmt die Funktionalität eines Dienstes in Anspruch Ist eine Applikation oder selbst ein Dienst Falls gewisse Funktionität nicht erfüllt werden kann Schnelle Anbietung - spätere eigene Implementierung 11 von 42 Nenad Marjanovic / Web Service

Verzeichnisdienst Komponenten Dienst Dienstnutzer Verzeichnisdienst Interaktionsstruktur Liefert einem Nutzer notwendige Informationen über im Verzeichnis registrierte Dienste Funktionalität eines Dienstes Ort, wo der Dienst aufgerufen werden kann Informationen über die Nutzung der Schnittstelle Nutzer sucht über den Verzeichnisdienst die benötigten Dienste heraus. Vorteile: Kann auch erst zur Laufzeit geschehen. Dadurch schnelle Reaktion auf evtl. günstigere oder nicht verfügbare Services 12 von 42 Nenad Marjanovic / Web Service

Interaktionstruktur Komponenten Dienst Dienstnutzer Verzeichnisdienst Interaktionsstruktur 13 von 42 Nenad Marjanovic / Web Service

Übersicht Was ist XML? Struktur Warum XML in SOA? 1 2 3 Was ist XML? Struktur Warum XML in SOA? 4 5 14 von 42 Nenad Marjanovic / Web Service

Was ist XML? Was ist XML? Struktur Warum XML in SOA? Definition Die Abkürzung XML steht für. XML ist eine Metasprache zur Beschreibung von Daten. Die Idee dahinter ist, die Daten von der Semantik zu trennen. Mit XML versucht man Inhalte möglichst leicht maschinell zugänglich, erstell- und manipulierbar zu machen 15 von 42 Nenad Marjanovic / Web Service

Struktur von XML Was ist XML? Struktur Warum XML in SOA? Inhalte werden durch Markierungen (Tags) in funktionale Blöcke gegliedert Markierungen werden duch spitze Klammern gekenzeichnet Alle geöffneten Tags müssen auch geschlossen werden Text zwischen Anfangs- und Endmarke entspricht dem Wert Markierungen können noch mit Eigenschaften versehen werden Die durch die Marken gekennzeichneten Abschnitte können ineinander geschachtelt sein 16 von 42 Nenad Marjanovic / Web Service

Was ist XML? Struktur Warum XML in SOA? Beispiel: Ein geschachteltes XML-Konstrukt. <auto> <marke>audi<marke> <serie>r8</serie> <motor> <hubraum einheit="liter">4.2</hubraum> <leistung einheit="ps">420</leistung> </motor> </auto> 17 von 42 Nenad Marjanovic / Web Service

Warum XML in SOA? Was ist XML? Struktur Warum XML in SOA? XML ist einfach XML liefert die geforderte Plattformunabhängigkeit Das durch Maschinen lesbare Format vereinfacht es Daten zu generieren, zu lesen und zu modifizieren Kann mit beliebigen Marken und Daten gefüllt werden XML ist kostenlos und wird gut unterstützt Zahlreiche Werkzeuge und Bibliotheken, die die Erzeugung von XML-Dokumenten erleichtern Durch W3C standardisiert 18 von 42 Nenad Marjanovic / Web Service

19 von 42 Nenad Marjanovic / Web Service 5 Übersicht Web Service SOAP WSDL UDDI BPEL 1 2 3 4 Web Service SOAP WSDL UDDI BPEL

Web Service Web Service SOAP WSDL UDDI BPEL Konkrete Ausprägung der serviceorientierten Architektur Basierend auf XML Standardisiert von OASIS und W3C Wesentliche Bestandteile: Kommunikationsprotokoll (Beispiel: SOAP) Dienstbeschreibung (Beispiel: WDSL) Verzeichnisdienst (Beispiel: UDDI) Dienste können miteinander gekoppelt werden (Beispiel: BPEL) 20 von 42 Nenad Marjanovic / Web Service

Was ist SOAP? Web Service SOAP WSDL UDDI BPEL Definition SOAP ist ein Kommunikationsprotokoll, über welches entfernte Prozeduraufrufe und Dateiübertragungen durchgeführt werden können. Es werden Nachrichten basierend auf XML ausgetauscht. Besitzt keinerlei Spezifikationen zur eigentlichen Datenübertragung Nutzt bereits bestehende Protokolle für die Übertragung (z.b. HTTP-Protokoll) 21 von 42 Nenad Marjanovic / Web Service

Nachrichten Web Service SOAP WSDL UDDI BPEL In SOAP gibt es drei Nachrichtentypen: Anfrage (Request) Wird vom Nutzer zum Dienst geschickt Antwort (Response) Wird vom Dienst zum Nutzer nach erfolgreicher Bearbeitung der Anfrage geschickt Fehler (Fault) Wird vom Dienst zum Nutzer im Fehlerfall geschickt 22 von 42 Nenad Marjanovic / Web Service

Aufbau einer Nachricht Web Service SOAP WSDL UDDI BPEL Eine Nachricht in SOAP besteht aus: Einem Umschlag (envelope) Umschlag um die Nachricht mit Verweis auf den verwendeten Namensraum Einem optionalen Kopf (head) Enthält zusätzliche Elemente für z.b. Routing-Optionen oder Authentifizierung Einem Rumpf (body) Enthält die eigentliche XML-Nachricht/-Dokument. 23 von 42 Nenad Marjanovic / Web Service

Nachrichtenaustausch Web Service SOAP WSDL UDDI BPEL Beim Nachrichtenaustausch unterscheidet man zwischen zwei Methoden: Entfernter Prozeduraufruf (Remote Procedure Calls, RPC) Spezialfall von zweiter Methode Enthält im Rumpf den Namen der Prozedur Antwort liefert Rückgabewert der Prozedur Beliebiger XML-Dokumentenaustausch Rumpf enthält beliebiges XML-Dokument Dienst fungiert als Transformator und liefert ebenfalls Dokument zurück. 24 von 42 Nenad Marjanovic / Web Service

Beispiel: Request-Nachricht. Web Service SOAP WSDL UDDI BPEL <?xml version="1.0" encoding="utf-8"?> <SOAP:Envelope...> <SOAP:Body> <ns1:babelfish xmlns:ns1="urn:xmethodsbabelfish"> <translationmode xsi:type="xsd:string"> en_de </translationmode> <sourcedata xsi:type="xsd:string"> Car </sourcedata> </ns1:babelfish> </SOAP:Body> </SOAP:Envelope> 25 von 42 Nenad Marjanovic / Web Service

Beispiel: Response-Nachricht. Web Service SOAP WSDL UDDI BPEL <?xml version="1.0" encoding="utf-8"?> <SOAP:Envelope...> <SOAP:Body> <namesp1:babelfishresponse xmlns:namesp1="urn:xmethodsbabelfish"> <return xsi:type="xsd:string"> Auto </return> </namesp1:babelfishresponse> </SOAP:Body> </SOAP:Envelope> 26 von 42 Nenad Marjanovic / Web Service

Was ist WSDL? Web Service SOAP WSDL UDDI BPEL Definition Die Abkürzung WSDL steht für Web Service Description Language. Sie ist eine maschinenlesbare Beschreibung eines Dienstes, welche es ermöglicht, automatische Codeerzeugungs-Werkzeuge zu erstellen, so dass der Programmierer den Web Service als lokale Methoden behandeln kann. Beschreibt einen Service WSDL ist in einem XML-Format spezifiziert 27 von 42 Nenad Marjanovic / Web Service

XML-Notation einer WSDL-Datei Web Service SOAP WSDL UDDI BPEL <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions> <wsdl:types /> Datentypen <wsdl:message /> Nachrichten <wsdl:porttype /> Operationen <wsdl:binding /> Schnittstellen <wsdl:service /> Zugriff </wsdl:definitions> 28 von 42 Nenad Marjanovic / Web Service

Datentypen Web Service SOAP WSDL UDDI BPEL <wsdl:types /> beschreibt: Die in der Schnittstelle verwendeten Datentypen Wegen Plattformunabhängigkeit häufig analog zur XMLSchema-Spezifikation Beliebige Definition eigener Datentypen Beispiel eines komplexen Datentyps: <complextype name="mensch"> <element name="name" type="xsd:string" /> <element name="alter" type="xsd:int" /> </complextype> 29 von 42 Nenad Marjanovic / Web Service

Nachrichten und Operationen Web Service SOAP WSDL UDDI BPEL <wsdl:message /> beschreibt: Welcher Datentyp bei einer Nachricht übertragen wird <wsdl:porttype /> beschreibt: Die ein- und ausgehenden Nachrichten beim Aufruf einer Operation 30 von 42 Nenad Marjanovic / Web Service

Schnittstelle und Dienst Web Service SOAP WSDL UDDI BPEL <wsdl:binding /> beschreibt: Welche Operationen in einer Schnittstelle aufgerufen werden können <wsdl:service /> beschreibt: Zugriff auf die Schnittstelle (meist über URL) 31 von 42 Nenad Marjanovic / Web Service

Was ist UDDI? Web Service SOAP WSDL UDDI BPEL Definition Die Abkürzung UDDI steht für Universal Description, Discovery and Integration. Es ist ein Verzeichnisdienst bei dem sich Unternehmen, die einen Service anbieten wollen, registrieren können. Er kann von Nutzern über eine SOAP-Schnittstelle angesprochen werden und enthält alle nötigen Informationen um einen dort registrierten Dienst nutzen zu können. Ein UDDI-Dienst ist selbst ein Web Service Verwaltet Daten in XML-Notation Besteht aus drei Verzeichnis-Kategorien 32 von 42 Nenad Marjanovic / Web Service

Verzeichniskategorien Web Service SOAP WSDL UDDI BPEL White Pages Vergleichbar mit dem Telefonbuch Enthält nach Namen sortiertes Namesregister mit Detailangaben und Kontaktinformationen Yellow Pages Vergleichbar mit den Gelben Seiten Enthält nach Branchen geordnetes Verzeichnis Einträge werden mit White Pages verknüpft Green Pages Enthält Informationen zum Geschäftsmodell der Anbieter 33 von 42 Nenad Marjanovic / Web Service

Bestandteil von Einträgen Web Service SOAP WSDL UDDI BPEL businessentity Informationen über Organisation, Kontaktdaten, Branche, Dienste businessservice Allgemeine Beschreibungen zu einem Dienst bindingtemplate Technische Details sowie Verweis auf WSDL-Datei tmodel Beschreibt Spezifikation der Schnittstelle. 34 von 42 Nenad Marjanovic / Web Service

Zugriff auf UDDI Web Service SOAP WSDL UDDI BPEL PublishSOAP Anlegen und Verwalten von Diensten für Dienstanbieter InquireSOAP Suche nach Diensten durch einen Nutzer 35 von 42 Nenad Marjanovic / Web Service

Was ist BPEL? Web Service SOAP WSDL UDDI BPEL Definition Die Abkürzung BPEL steht für Business Process Execution Language. Sie ist eine Sprache, die zur Beschreibung der Steuerung und Koordination (Orchestration) mehrerer Web Services in einem Geschäftsprozess dient. Beschreibt Interaktion über mehrere Web Services 36 von 42 Nenad Marjanovic / Web Service

Was macht man mit BPEL? Web Service SOAP WSDL UDDI BPEL Zunächst wird eine Prozessbeschreibung erstellt. Diese beinhaltet: Die verwendeten Services Die verwendeten Nachrichten (und damit Daten) Die zeitliche Abfolge der Interaktionen Beschreibung wird von einer BPEL Execution Engine als BPEL Prozess ausgeführt. 37 von 42 Nenad Marjanovic / Web Service

Übersicht Zusammenfassung Ereignisbasierte Architektur Vergleich mit Zugriff auf ein entferntes Objekt 1 2 3 4 5 Zusammenfassung Ereignisbasierte Architektur Vergleich mit Zugriff auf ein entferntes Objekt 38 von 42 Nenad Marjanovic / Web Service

Zusammenfassung Zusammenfassung Ereignisbasierte Architektur Vergleich mit Zugriff auf ein entferntes Objekt Leichte Wiederverwendung Geringerer Verwaltungsaufwand Leichtere Zusammenführung heterogener Systeme Unerreichbarkeit von Diensten verhindert die Ausführung Nicht für alles geeignet 39 von 42 Nenad Marjanovic / Web Service

Ereignisbasierte Architektur Zusammenfassung Ereignisbasierte Architektur Vergleich mit Zugriff auf ein entferntes Objekt Verfolgt ebenfalls das Prinzip der serviceorientierten Architektur Gleicher Aufbau wie SOA. Unterschied: Nutzer registriert sich beim Dienst, das er kontaktiert werden möchte, wenn bestimmte Ereignisse eintreten. 40 von 42 Nenad Marjanovic / Web Service

/ Sichtweisen Zusammenfassung Ereignisbasierte Architektur Vergleich mit Zugriff auf ein entferntes Objekt Sind Web Services nur ein Zugriff auf ein entferntes Objekt? Gemeinsamkeit: Beides sind Ausprägung verteilter Systeme Aus der Architektursicht: Web Service in einfachster Art nur Austausch von XML-Dokumenten In der Regel ständig verfügbar Muss nicht instanziert werden Referenezen, Lebenszyklen, Garbage Collection gibt es bei Web Services nicht 41 von 42 Nenad Marjanovic / Web Service

/ Sichtweisen Zusammenfassung Ereignisbasierte Architektur Vergleich mit Zugriff auf ein entferntes Objekt Aus der Entwicklersicht: In beiden Fällen häufig Stellvertreterobjekt, das mit Web Service bzw. entfernten Objekt interagiert In beiden Fällen entfernter Prozeduraufruf eigentlicher Hintergrund Schlussfolgerung: Web Services lassen sich um Eigenschaften, die man von entfernten Objekten kennt, erweitern Web Services sind noch nicht mit entfernten Objekten zu vergleichen 42 von 42 Nenad Marjanovic / Web Service