SOA Torben Merhofe S ervice O riented A rchitecture.

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

SOAP, nur ein neuer XML- Dialekt?
C ommon O bject R equest B roker A rchitecture
Basis-Architekturen für Web-Anwendungen
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
SOAP Simple Object Access Protocol
Lightweight Directory Access Protocol
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.
1 Web Services (SOAP, REST, WSDL). © Prof. T. Kudraß, HTWK Leipzig 2 Web Service – Definitionen? Gartner Group: Web services are software technologies,
Kommunikation in verteilten Systemen (Middleware)
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Semantische Webdienste in OWL-S und WSMO Name : Sinan Sen Betreuer : Dr. Andreas Gerber Datum :
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
OGSI und Jini im Focus Sebastian Albrecht. 2 Gliederung OGSI Einordnung neue Komponenten Zukunft Jini Entstehung Architektur Lookup Service Bewertung.
Seminar Praktische Informatik Web Services
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
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
Auf dem Weg zur serviceorientierten Architektur (SOA)
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Dienstattribute für service-orientierte Workflows
Grundlagen: Client-Server-Modell
Management- und Web Services- Architekturen
Einführung in Web Services Web Services in der Praxis
David Kružić Studienprojekt: DecidR+ 18. Januar 2010 WS – BPEL.
Reinhold Rumberger Web Services.
SOAP.
->Prinzip ->Systeme ->Peer – to – Peer
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Datenbanken und Internet
Welcome to Web Services & Grid Computing Jens Mache
Web Services (Axis) ETIS SS05.
WS 2006/07Prof. Dr. Andreas Schmietendorf1 Ausblick und Entwicklungstendenzen SOA und Web Services erstellt in Anlehnung an Stark, T.: J2EE – Einstieg.
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Service Oriented Architecture & Enterprise Service Bus Sven Stegelmeier.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Betriebs- systeme und Verteilte Systeme Einführung in Web Services Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Christian Neubert.
Betriebs- systeme und Verteilte Systeme Namens- und Verzeichnisdienste Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Maher Al-Bunni.
Workflowsysteme und Datenbanksysteme Gliederung Motivation Basis- funktionalitäten Klassifikations- merkmale Referenz-Modell MQ Workflow Zusammenfassung.
Webbasierte Kommunikation am Beispiel REST Seminarvortrag von Heiko Overath.
1 Simulation einer Ladesäule für Elektrofahrzeuge nach dem Open Charge Point Protocol Felix Batke 3. Lehrjahr.
SE 2010, Paderborn Produktlinien-Engineering im SOA-Kontext.
Mainframe und WebServices bei der W. KAPFERER KG Einfache Internet-Lösungen in Verbindung mit vorhandenen Host-Programm-Strukturen.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
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.
Identity Management.  Zentrale Begriffe und Probleme  Modellbildung  Methoden zur Authentisierung über HTTP  Technische Aspekte  Compliance  Hindernisse,
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
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
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Standardtechnologien von Web Services Daniel Schade.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Was sind Web Services? Marko Harasic
Vernetzte Forschungsumgebung in den eHumanities
Datenaustausch und Interoperabilität
Business Process Excuction Lanaguage
Business Process Excuction Lanaguage
1.
Datenbanken online sowie offline verfügbar machen
 Präsentation transkript:

SOA Torben Merhofe S ervice O riented A rchitecture

Gliederung ● SOA-Grundlagen – Definition – Bestandteile – 10 Schritte zur SOA ● Realisierung mit Hilfe von Web Services – Definition – Standards ● UDDI ● WSDL ● SOAP ● Fazit

Definition ● Managementkonzept: eine an Geschäftsprozessen ausgerichtete Infrastruktur ● Systemarchitektur: Bereitstellung fachlicher Dienste und Funktionalitäten in Form von Services SOA ist ein Managementkonzept und setzt erst in zweiter Linie ein Systemarchitekturkonzept voraus – Software-Design Ansatz – Technologie unabhängig – Kein grundlegend neuer Ansatz im Software-Design (Corba)

Definition Elementarer Grundgedanken der SOA sind die Trennung der Zuständigkeiten nach fachlichen Gesichtspunkten, sowie die Kapselung technischer Details. Damit überträgt die SOA altbewährte Prinzipien der Softwarearchitektur auf die Domäne der Anwendungslandschaft. Informatik Spektrum 17, Okt. 2005

Charakteristische Merkmale ● Architekturmuster, das den Aufbau einer Anwendungslandschaft aus einzelnen fachlichen Bausteinen, die jeweils eine klar umrissene fachliche Aufgabe haben, beschreibt ● Bausteine sind lose gekoppelt, indem sie ihre Funktionalitäten in Form von Services anbieten => keine starken logischen oder physikalische Abhängigkeiten

Charakteristische Merkmale Services/Dienste ● SOA beschreibt Funktionalitäten als modulare und wiederverwendbare Services/Dienste ● Service – fest definierte Leistung – Grobkörnig (Kompletten Schritt innerhalb eines Geschäftsprozesses) – Element eines oder mehrerer größerer Verarbeitungsabläufe – Verbirgt alle Implementationsdetails – plattformunabhängig – Wiederverwendbar – Standardisierte Schnittstellen

Beispiel ● Online-Brokerage kann in einer SOA auf folgenden Diensten aufsetzen – Wertpapierdienst, der handelbare Wertpapiere nennt – Depotdienst, der Zugriff auf das Wertpapierdepot des Anwenders erlaubt – Marktdatendienst, der zu einem Wertpapier die aktuellen Börsenkurse liefert – Ordnerdienst, der Kauf-/Verkaufsaufträge übermittelt – Archivdienst, der alle Daten der Transaktion sicher archiviert ● Dienste werden aus Webanwendung aufgerufen

Elemente einer SOA SOA Application frontend Service repository Service Bus ContractImplementationInterface Business Logic Data Elemente einer SOA (nach D. Krafzig, K, Banke, D. Slama: Enterprise SOA. Prentice Hall PTR, Upper Saddle River 2005)

Hauptbestandteile einer SOA ● Service-Provider ● Service-Broker ● Service-Consumer

Service-Provider ● Erstellt, kauft oder mietet einen Sevice ● Stellt den Service zur Verfügung ● Stellt Spezifikationen des Services zur Verfügung – Allgemeine Informationen zum Service – Beschreibung des Service Interface

Service-Broker ● Optional ● Verwaltet Services eines Service-Providers über die Service-Registry ● Darstellung angebotener Services meist durch ein Web-Frontend ● Hauptfunktionen: – Registrieren neuer Services – Ändern, löschen registrierter Services – Suche nach verfügbaren Services

Service-Consumer ● Sucht einen Service ● Benutzt den Service

Conceptual model of a SOA Service-Consumer Service-Provider Service-Broker + InvokeService() + bindToService() + findService() Service Description realizeuse containsDescribed in Consumer Obtains Service description from Broker or directly from Provider (Broker is optional)

10 Schritte zur SOA Schritte 1-3 ● Think big, start small – Mit wenigen Services anfangen ● Fachabteilungen einbinden – kennen sich am besten mit den Prozessen aus ● Bestandsaufnahme – vorhandene IT-Ressourcen in der Anfangsphase so weit wie möglich nutzen (SOA-Grundsatz), nötige Bestandsaufnahme in 2 Schritten: ● 1.Schritt: Datenquellen und Anwendungen dokumentieren, die von der ersten SOA-Implementierung betroffen sind ● 2.Schritt: Inventarisierung sämtlicher Hard- und Softwaresysteme

10 Schritte zur SOA Schritt 4 ● Erste Services einbinden – redundante Logik in den beteiligten Applikationen identifizieren und diese als Services definieren – Beispiel: Anlegen einer Kundendatei ● Mehrere Altanwendungen erledigen diese Funktion häufig auf unterschiedlichen Wegen ● seperater Service, den alle Applikationen gemeinsam nutzen,=>Redundanzen auflösen, Wartungsaufwand vermindern

10 Schritte zur SOA Schritte 5-6 ● Registry installieren – Anfangs reicht einfache Website, die Services auflistet – Steigt Anzahl an Services muss eine ''echte'' Registry erstellt werden – Grundlage für Registry bildet der Verzeichnisdienst ''Universal Description, Discovery and Integration'' (UDDI) ● Governance regeln – Governance in diesem Kontext als Kombination von Workflow-Regeln: für den Service verantwortlich? Qualitätsprobleme? – Registries dienen als Governance-Instrument der SOA- Infrastruktur (Besitzer, Versionsverwaltung, Serviceschnittstellen...) – Definition von Serviceschnittstellen und deren Verwaltung

10 Schritte zur SOA Schritt 7 ● Sicherheit planen – Anbindung externer Partner als natürliche Ergänzung =>Vorteile aber auch Sicherheitsrisiken – Absicherung von XML-Messages über relativ simples Framework, am häufigsten benutzt: ● WS-Security ● SOAP ● WSDL

10 Schritte zur SOA Schritt 8 ● Messaging Infrastruktur aufbauen – Kleine SOA-Implementierung ● Direkte synchrone XML-Verbindung auf Basis der SOAP- Spezifikation – Steigt Komplexität und Umfang, braucht man asynchrone verlässliche Messaging-Funktionen ● Klassische EAI-Plattform ● Enterprise Service Bus (ESB) ● Java Messaging Service (JMS) ● Web-Service Spezifikation WS-Reliable-Messaging

10 Schritte zur SOA Schritt 9 ● Service-Management einrichten – Verwalten der Services – Überwachung von Zustand, Leistung – Prüfen ob Service-Levels eingehalten werden – Failover-Mechanismen aufsetzen – Mehrere Standards, z.B. ● Web Services Distributed Management (WSDM) ● WS-Management

10 Schritte zur SOA Schritt 10 ● Services orchestrieren (aus Services größere Anwendungen zusammenfügen) – Unabdingbar, um der SOA-Vision von prozessgestützten ''Composite Applications'' näher zu kommen – In der Praxis nur selten verwendet, da sehr komplex – In diesem Kontext genannter Standard ● Business Process Execution Language (BPEL)

SOA Realisierung durch Web Services Es gibt auch noch andere Technologien zur Umsetzung von SOA, aber: ● WS werden seit Jahren als tragende Technologie zur Entwicklung einer SOA diskutiert ● WS werden von vielen als der ideale Ansatz zur Umsetzung der SOA angesehen

SOA Realisierung durch Web Services Was ist ein Web Service? ● Software-Anwendung ● Über URI eindeutig identifizierbar ● unterstützt direkte Interaktion mit anderen Services ● Kommunizieren untereinander mit XML-basierten Nachrichten, die über Internetprotokolle transportiert werden ● Nicht für menschliche Benutzer gedacht, sondern für Softwaresysteme, die automatisiert Daten austauschen und Funktionen auf entfernten Rechnern aufrufen ● 4 Standards auf XML-Basis als Grundlage – UDDI: als Verzeichnisdienst – WSDL: zur Beschreibung der Methoden und Parameter – SOAP (oder XML-RPC): zur Kommunikation

Architektur von WS

Funktionsweise von WS ● Anbieter veröffentlicht seine Dienste beim Broker ● Konsument sucht/wählt Dienst beim Broker ● Dynamische Anbindung des Konsumenten an den Anbieter => Konsument greift nun auf Methoden zu ● WS bilden die 3 wichtigsten Teile der Zusammenarbeit zwischen Server und Client ab:Zusammenfinden, Binden und den Datenaustausch

Beispiel für WS Interaktion zwischen Fluggesellschaft und Reisebüro ● FG (Anbieter) stellen Möglichkeiten zum suchen bzw. buchen von Flügen über WS zur Verfügung ● RB (Konsument) bieten auf ihrer Webseite Flüge verschiedener FG an, von denen sie zur Laufzeit über UDDI erfahren ● Kunde kann auf Webseite des RBs Preise und Termine vergleichen und direkt buchen

UDDI ● Universal Description, Discovery and Integration ● Verzeichnisdienst ● Dient zum veröffentlichen und auffinden von WS ● SOAP-Schnittstelle ● 3 Arten von Informationen – ''White Pages'' – ''Yellow Pages'' – ''Green Pages''

UDDI Informationsarten ● Informationen in den ''White Pages'' – Namensregister – Auflistung der Anbieter mit allen Detailangaben – Kontaktinformationen (Tel., Fax, ...) ● Informationen in den ''Yellow Pages'' – Branchenverzeichnis – Spezifische Suche nach Services – Klassifiziert Services anhand internationaler Standards, z.B. UNSPSC ● Informationen in den ''Green Pages'' – Informationen über Geschäftsmodell des Unternehmens – Technische Details zu den Services – Auskunft über Geschäftsprozesse

WSDL ● Web Service Description Language ● Definiert plattform-, programmiersprachen- und protokollunabhängige XML-Spezifikationen zur Beschreibung von WS ● WSDL-Dokument beinhaltet funktionelle Angaben zu: – Schnittstelle – Zugangsprotokoll und Details zum Deployment – Alle Informationen zum Zugriff auf den Service, in maschinenlesbarer Form

WSDL Hauptelemente ● : root-Element ● – Definition der Datentypen (XML-Schema Syntax zur Definition) ● – Def. der übertragenen Daten – Ein oder mehrere logische Teile ● – Definiert Message-Format und Protokolldetails ● – Spezifiziert eine Adresse für eine Bindung, URI ● – Fassen eine Menge von eventuellen Ports zusammen

WSDL Hauptelemente ● : – Wichtigste WSDL-Element – Definiert einen Web Service, seine Operationen und die Messages – Operation-Types ● One-Way: Input-Message vom Client ● Request-Response: Input-Message vom Client => Service sendet Antwort (Output-Message) ● Solicit-Response: Service sendet Message und erwartet Antwort vom Client ● Notification: Server sendet Output-Message

WSDL Struktur definition of types..... definition of a message..... definition of a portType..... definition of a binding..... definition of a service.....

WSDL Beispiel Service der nach Erhalt eines Aktiennamens den aktuellen Wert zurückgibt <definitions name="StockQuote" targetNamespace=" xmlns:tns=" xmlns:xsd1=" xmlns:soap=" xmlns="

WSDL Beispiel..... <schema targetNamespace=" xmlns="

WSDL Beispiel

WSDL Beispiel My first service

SOAP ● Simple Object Access Protocol ● Internet-/KommunikationsProtokoll ● XML-basierte, strukturierte und typisierte Informationen ● Plattform- und programmiersprachenunabhängig ● Zur direkten Kommunikation zwischen Anwendungen ● Meist HTTP/TCP zum Transport (Kompatibilität zu gängigen Netzwerk-Architekturen z.B. Firewalls; HTTPS) ● Nachricht wird in Container verschickt, der SOAP-Envelope ● W3C Empfehlung

SOAP Aufbau einer Nachricht SOAP Header (optional) SOAP Body (Pflicht) SOAP Envelope SOAP Message HTTP Message Header: Metainformationen (zum Routing, zur Verschlüsselung....) Body: Nutzdaten

SOAP Beispiel GetStockPriceRequest Anfrage wird an den Server gesendet, Anfrage hat StockName Parameter, ein Price Parameter wird zurückgegeben Skelett einer SOAP Message: <soap:Envelope xmlns:soap=" soap:encodingStyle="

SOAP Beispiel: SOAP Request POST /InStock HTTP/1.1 Host: Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <soap:Envelope xmlns:soap=" soap:encodingStyle=" IBM HTTP Header

SOAP Beispiel: SOAP Response HTTP/ OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <soap:Envelope xmlns:soap=" soap:encodingStyle=" HTTP Header

Fazit

Fazit Vorteile SOA ● IT-Kosten senken ● Wiederverwendbarkeit ● Flexibilität, durch Neukombination bestehender Services ● Reduktion der Komplexität, durch Kapselung der Implementationsdetails hinter Schnittstellen

Fazit Schwierigkeiten SOA ● Vorteile nur, wenn Geschäftsmodell und -prozesse service-orientiert sind ● Mangel an IT-Spezialisten mit fundiertem betriebswirtschaftlichen Know- How ● Vorteile entwickeln sich meist erst langfristig

Fazit aktuelle Entwicklung ● Weltweit 8,6 Milliarden Dollar in SOA-Projekte im letzten Jahr ● Bis 2010 bis zu 33,8 Milliarden Dollar ● Allerdings: ''SOA verbreitet sich im Schneckentempo'' (Studie

Literatur und Quellen ● ● ● ● Informatik Spektrum, Oct ● Erl, Thomas: Service oriented architecture – Concepts, technologie and designs, Pearson Education, USA 2005 ● Wolfgang Herrmann: In zehn Schritten zur SOA. Computerwoche ● IBM White Paper, Service-oriented modeling and architecture,