SOA Torben Merhofe. Service Oriented Architecture



Ähnliche Dokumente
Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Verteilte Systeme: Übung 4

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

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

Workflow, Business Process Management, 4.Teil

Wiederholung: Beginn

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

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

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

Zustandsgebundene Webservices

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

Implementierung von Web Services: Teil I: Einleitung / SOAP

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

Architektur von SOAP basierten Web Services

Thema: Web Services. Was ist ein Web Service?

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

Kapitel 5 Web-Services

E-Services mit der Web-Service-Architektur

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

POIS-Praktikum Prozessimplementierung, RosettaNet PIPs 3A

Grundlagen der Web-Entwicklung INF3172

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

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

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

3-schichtige Informationssystem-Architektur

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

Java und XML 2. Java und XML

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

GI-Services erstellen und bereitstellen

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Standards und Standardisierungsgremien

Man liest sich: POP3/IMAP

Der Cloud Point of Purchase. EuroCloud Conference, 18. Mai 2011 (Christoph Streit, CTO & Co-Founder ScaleUp)"

PL/SQL Web-Services mit Oracle 11g

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

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

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

WebServices Zwischen Buzzword und Nutzen

Service-Orientierte InterSystems GmbH 2009

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

5. Übung zur Vorlesung Service-orientierte Architekturen

VVA Webservice Online Lieferbarkeits-Abfrage

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Definition Web Service

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Wissenschaftliche Vertiefung Web Services. Esslingen, 22. Januar 2016 Simon Schneider

Java Enterprise Architekturen Willkommen in der Realität

XML und SOAP Einführung und Grundlagen

SAP NetWeaver Gateway. 2013

Semantic Web Services

Enterprise Applikation Integration und Service-orientierte Architekturen. 08 Einführung Service-Orientierte Architekturen

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

white sheep GmbH Unternehmensberatung Schnittstellen Framework

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

Thema: Microsoft Project online Welche Version benötigen Sie?

BPM im Kontext von Unternehmensarchitekturen. Konstantin Gress

Übungen zu Softwaretechnik

WS-Security. Thies Rubarth. Sicherheitskonzepte in global verteilten Anwendungen. 21. Sep 2007 ACM/GI Localgroup #216

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

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

Securing SOAP e-services

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

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

ICS-Addin. Benutzerhandbuch. Version: 1.0

Evaluierung verteilter Middleware-Technologien zur Steigerung der Integrationsfähigkeit von Enterprise-Software

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Software Engineering II (IB) Serviceorientierte Architektur

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

How-to: Webserver NAT. Securepoint Security System Version 2007nx

OP-LOG

Umstieg auf Microsoft Exchange in der Fakultät 02

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Web Sockets mit HTML5. Quelle:

Skript Pilotphase für Arbeitsgelegenheiten

Intranet/Extranet: Zentrales CMS oder Portal-Lösung

WSDL. Heutige Vorlesung. Wozu WSDL? Wie wird WSDL verwendet? Language. Services. Description. Web. Abstrakte vs. konkrete Syntax

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

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

Enterprise Application Integration Erfahrungen aus der Praxis

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I

COMPUTER MULTIMEDIA SERVICE

Transparente SOA Governance mit Modellierung. OOP 2010 München, 28. Januar 2010, 12:30 Uhr Modeling Day

Containerformat Spezifikation

Verschlüsselung

Anwendungsprotokolle: HTTP, POP, SMTP

Infrastruktur: Vertrauen herstellen, Zertifikate finden

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

Durch Standardisierung können Webservices von jedem Cluster verwendet werden, unabhängig von Betriebssystem und verwendeter Sprache.

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

Guide DynDNS und Portforwarding

Webservices Ein Vortrag von:

Übung: Verwendung von Java-Threads

Transkript:

SOA Torben Merhofe Service Oriented Architecture

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

Definition SOA ist ein Managementkonzept und setzt erst in zweiter Linie ein Systemarchitekturkonzept voraus Managementkonzept: eine an Geschäftsprozessen ausgerichtete Infrastruktur Systemarchitektur: Bereitstellung fachlicher Dienste und Funktionalitäten in Form von Services 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 Service repository Service Bus Contract Implementation Interface 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 Consumer Obtains Service description from Broker or directly from Provider (Broker is optional) Service-Consumer use contains Service Description Described in realize Service-Provider + InvokeService() + bindtoservice() Service-Broker + findservice()

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, Email...) 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 <definitions>: root-element <types> Definition der Datentypen (XML-Schema Syntax zur Definition) <messages> Def. der übertragenen Daten Ein oder mehrere logische Teile <binding> Definiert Message-Format und Protokolldetails <ports> Spezifiziert eine Adresse für eine Bindung, URI <service> Fassen eine Menge von eventuellen Ports zusammen

WSDL Hauptelemente <porttype>: 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 <definitions> <types> definition of types... </types> <message> definition of a message... </message> <porttype> definition of a porttype... </porttype> <binding> definition of a binding... </binding> <service> definition of a service... </service> </definitions>

WSDL Beispiel Service der nach Erhalt eines Aktiennamens den aktuellen Wert zurückgibt <definitions name="stockquote" targetnamespace="http://example.com/stockquote.wsdl" xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">....

WSDL Beispiel... <types> <schema targetnamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/xmlschema"> <element name="tradepricerequest"> <complextype> <all> <element name="tickersymbol" type="string"/> </all> </complextype> </element> <element name="tradeprice"> <complextype> <all> <element name="price" type="float"/> </all> </complextype> </element> </schema> </types>...

WSDL Beispiel... <message name="getlasttradepriceinput"> <part name="body" element="xsd1:tradepricerequest"/> </message> <message name="getlasttradepriceoutput"> <part name="body" element="xsd1:tradeprice"/> </message> <porttype name="stockquoteporttype"> <operation name="getlasttradeprice"> <input message="tns:getlasttradepriceinput"/> <output message="tns:getlasttradepriceoutput"/> </operation> </porttype>...

</definitions> WSDL Beispiel <binding name="stockquotesoapbinding" type="tns:stockquoteporttype"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getlasttradeprice"> <soap:operation soapaction="http://example.com/getlasttradeprice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="stockquoteservice"> <documentation>my first service</documentation> <port name="stockquoteport" binding="tns:stockquotesoapbinding"> <soap:address location="http://example.com/stockquote"/> </port> </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: <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:header>... </soap:header> <soap:body>... <soap:fault>... </soap:fault> </soap:body> </soap:envelope>

SOAP Beispiel: SOAP Request POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn HTTP Header <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.example.org/stock"> <m:getstockprice> <m:stockname>ibm</m:stockname> </m:getstockprice> </soap:body> </soap:envelope>

SOAP Beispiel: SOAP Response HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn HTTP Header <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.example.org/stock"> <m:getstockpriceresponse> <m:price>34.5</m:price> </m:getstockpriceresponse> </soap:body> </soap:envelope>

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 www.computerwoche.de)

Literatur und Quellen http://de.wikipedia.org http://www.computerwoche.de http://www.w3schools.com Informatik Spektrum, Oct. 7 2005 Erl, Thomas: Service oriented architecture Concepts, technologie and designs, Pearson Education, USA 2005 Wolfgang Herrmann: In zehn Schritten zur SOA. Computerwoche 07.12.2005 IBM White Paper, Service-oriented modeling and architecture, www.developerworks.com