WS 2006/07 Prof. Dr. Andreas Schmietendorf

32
WS 2006/07 Prof. Dr. Andreas Schmietendorf 1 Ausblick und Entwicklungstendenzen SOA und Web Services erstellt in Anlehnung an Stark, T.: J2EE – Einstieg für Anspruchsvolle, Addison-Wesley, Pearson Studium, München 2005

Transcript of WS 2006/07 Prof. Dr. Andreas Schmietendorf

Page 1: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 1

Ausblick und Entwicklungstendenzen

SOA und Web Services

erstellt in Anlehnung an Stark, T.: J2EE – Einstieg für Anspruchsvolle,Addison-Wesley, Pearson Studium, München 2005

Page 2: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 2

Übersicht zur Vorlesung

Industrialisierung der Softwareentwicklung

SOA Grundlagen

Überblick zur Web Service Technologie

Sichten auf eine SOA nach dem W3C

Überblick zum Enterprise Service Bus

Orchestrierung & Choreografie

Erfolgsfaktoren für eine SOA

Page 3: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 3

Zur Einstimmung

Gartner Group: “By 2008, SOA will be a prevailing software

engineering practice, ending the 40-year domination of monolithic

software architecture”

Page 4: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 4

Industrialisierung der Softwareentwicklung

Page 5: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 5

Industrialisierung der Softwareentwicklung

Quelle: Hotle, M.; Vecchio, D.: AD Scenario – Tying Agile Development, BPM and Architecture Together,Gartner Symposium ITxpo, Cannes/France 2005

Page 6: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 6

Industrialisierung der Softwareentwicklung

Quelle: Hotle, M.; Vecchio, D.: AD Scenario – Tying Agile Development, BPM and Architecture Together,Gartner Symposium ITxpo, Cannes/France 2005

Page 7: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 7

“In the past, we've been builders of custom software, or deployers

of packages. In the new, agile application development, we'll find

that reuse and assembly will be the keys. Application

development organizations can't code themselves into the future!”

Industrialisierung der Softwareentwicklung

Page 8: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 8

SOA Grundlagen

Page 9: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 9

SOA Grundlagen

SOA is not a quick fix for all of your business or IT challenges, but it

does provide a clear strategic pathway forward for your

organization. Remember, the IT challenges that SOAs address are

artefacts of years of corporate decisions and behaviours over time.

It will take time to undue the accumulated technological complexity

in your IT architecture.

Quelle: Marks, E. A.: Answering the Six Most-Asked SOA Questions – White Paper, AgilePath Corporation, Newburyport/MA, 2005

Page 10: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 10

SOA Grundlagen

Grundlegendes Prinzip einer SOA ist es, fachlich determinierte Funktionalität

als modulare und wieder verwendbare Services zur Verfügung zu stellen.

Neue Anwendungen können dann aus bereits existierenden Services statisch

oder dynamisch „zusammengesetzt“ werden. Man spricht dabei auch von

einer losen Koppelung, da es keine starken logischen oder physischen

Abhängigkeiten gibt, und zwar weder zwischen den Services untereinander,

noch zwischen den Services und den Anwendungen, in denen sie genutzt

werden. Somit ist es auch leicht möglich, laufende Anwendungen durch

Austausch einzelner Services zu modifizieren, zu erweitern oder zu

optimieren.

Page 11: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 11

DienstnutzerDienstnutzer DienstanbieterDienstanbieter

VerzeichnisdienstVerzeichnisdienst

s u c h e nr e g is t r ie r e n

n u t z e n

SOA Grundlagen

Page 12: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 12

■ Klassen (z.B. Java & C++)● Begriff der Kapselung (Datenzugriff via Funktionen)

● Enge Bindung

● Technische orientierte Funktionen (fein granular)

■ Softwarekomponente (z.B. Enterprise Java Beans)● bestehend aus n Klassen

● wohl definiertes Interface

● Unterstützung der Zugriffstransparenz

■ Serviceangebote● Fachlich determinierte grob granulare Funktion

● Einsatz im heterogenen Kontext (Prg.-Sprache & OS)

● Unterstützung einer losen Kopplung

SOA Grundlagen

Page 13: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 13

Service Designer

Application Designer

Buildtime Komponente

Runtime Komponente

Service Manager

Process Designer

publish

publish

Buildtime

Runtime

bind, invoke

inform

control

use

useService Center

SOA Grundlagen

Page 14: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 14

Quelle: Frisius, O.: Service Oriented Architecture – Revolution oder Buzzword,sd&m AG, GI / ACM Stuttgart, Dezember 2005

SOA Grundlagen

Page 15: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 15

SOA Ziele:

■ Schnelle Bereitstellung neuer Lösungen (Integration vs. Entwicklung)

■ Transparenz verfügbarer fachlicher Serviceangebote

■ Identifizierung potentieller Funktions- und Datenredundanzen

■ Verhindern redundanter Entwicklungen

● Wiederverwendung von bereits vorhandenen Services

● Reduktion der Kosten für Entwicklung & Wirkbetrieb

■ Etablierung von internen und externen Servicemarktplätzen

● Evolutionäre Optimierung vorhandener Servicelandschaften

● Reduktion der Kundenbindung - Flexibilisierung

■ Einheitliche Spezifikation der vorhandenen Services

SOA Grundlagen

Page 16: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 16

Web Service Technologie im Überblick

Page 17: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 17

Überblick WS-Technologie

Page 18: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 18

SOAP

SOAP (bis zur Version 1.2 Simple Object Access Protocol) dient

dem XML-basierten “Verpacken” von Informationen bezüglich der

Kommunikation zwischen heterogenen Dienstanbieter im Web. Es

stellt zur Kommunikation sowohl einen RPC, als auch einen DOC-

basierten Mechanismus zur Verfügung. Die Übertragung der XML-

Datei kann z.B. mittels HTTP, aber auch anderer Protokolle erfolgen.

Überblick WS-Technologie

Page 19: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 19

WSDL

Die „Web Service Description Language“ dient der unmittelbaren

Beschreibung/Spezifikation des eigentlichen Web-Services. Dafür

wird ein entsprechendes XML-Schema zur Verfügung gestellt,

welches sowohl funktionale (Nachrichten – Operationen – Interfaces)

und technische (Binding, Endpunkt) Details, aber keine

semantischen Aspekte aufgreift. Sie nutzt die durch SOAP

gekapselten Dienstkomponenten und stellt ebenso die Verbindung

zur darüber liegenden Schicht her.

Überblick WS-Technologie

Page 20: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 20

UDDI

Die „Universal Description, Discovery and Integration“ Komponente

nimmt die Registrierung eines Webservices vor und beinhaltet die

einzelnen Dienstbeschreibungen für den Kunden. Diese sind in

folgende Bereiche unterteilt: den White-, Yellow- und Green-Pages

sowie den Service Type Registration. Erst durch die Einführung der

Idee von „private UDDI‘s“ erlangt diese Spezifikation größere

Bedeutung.

Überblick WS-Technologie

Page 21: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 21

XMLbinärNetz-kommunikation

UDDINaming Service,

Interface Reposit.Naming, Verzeichnis

WSDLIDLInterfacebe-schriebung

URLIOR, URLEndpunkt-referenzierung

SOAP (HTTP – TCP/IP)

IIOP (TCP/IP)Protokoll

Web ServicesCORBA

Quelle: Dostal, W.; Jeckle, M.; Melzer, I.; Zengler, B.: Service-orientierte Architekturen mit Web Services, Spektrum Akademischer Verlag, München 2005

Überblick WS-Technologie

Page 22: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 22

Sichten auf eine SOA

Page 23: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 23

Quelle: Booth, D.; Haas, H.; McCabe, F.; Newcomer, E.; Champion, M.; Ferries, C.; Orchard, D.: Web Service Architecture. NOTE-ws-arch-20040211, W3C – World Wide Web Consortium, Boston/MA, 2004

Sichten auf eine SOA

Page 24: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 24

Quelle: Booth, D.; Haas, H.; McCabe, F.; Newcomer, E.; Champion, M.; Ferries, C.; Orchard, D.: Web Service Architecture. NOTE-ws-arch-20040211, W3C – World Wide Web Consortium, Boston/MA, 2004

Sichten auf eine SOA

Page 25: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 25

Quelle: Booth, D.; Haas, H.; McCabe, F.; Newcomer, E.; Champion, M.; Ferries, C.; Orchard, D.: Web Service Architecture. NOTE-ws-arch-20040211, W3C – World Wide Web Consortium, Boston/MA, 2004

Sichten auf eine SOA

Page 26: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 26

Quelle: Booth, D.; Haas, H.; McCabe, F.; Newcomer, E.; Champion, M.; Ferries, C.; Orchard, D.: Web Service Architecture. NOTE-ws-arch-20040211, W3C – World Wide Web Consortium, Boston/MA, 2004

Sichten auf eine SOA

Page 27: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 27

Quelle: Kohl, T.: IT-Architektur Weiterentwicklung der IT durch neue(?) Konzepte wie SOA und Enterprise Service Bus,Cecmg-Jahrestagung, Magdeburg 2006

Sichten auf eine SOA

Page 28: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 28

Aufgaben des ESB

Page 29: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 29

Kundendaten Vertrag Produkt Lokation

ERP CRM SCM Third Party

Service Service Service Service Service Service Service ServiceNachrichten

Adapter

Transformation

Orchestrierung

Service-verzeichnis

ITIL-CMDB

Enterprise Service Bus

ESB – Enterprise Service Bus

Page 30: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 30

■ ESB als Rückgrad einer SOA (häufig auch „EAI light“)

■ Nachrichtenbasierte Kommunikation (Kopplung) zwischen Services

● Transformation verwendeter Datenformate

● Protokollunabhängige Übermittlung von Nachrichten

● Transaktionssicherung ausgeführter Geschäftsprozessfunktionen

● Überwachung und Qualitätsmanagement der Prozessaktivitäten

■ Unterstützung verschiedener Kommunikationsmodelle

● Synchrone Kommunikation

● Asynchrone Kommunikation

● Versetzt synchrone Kommunikation

● Subscriber basierte Kommunikation

ESB – Enterprise Service Bus

Page 31: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 31

■ Unterstützung ausgewählter Standards für Web Services

● SOAP – Simple Object Access Protocoll

● WSDL – Web Service Desciption Language

● WS-Security – Authentifizierung und Verschlüsselung

● BPEL bzw. WS-CDL – Prozesssteuerung

■ Management der auszuführenden Prozessabläufe

● Intelligente & ggf. inhaltsabhängige Verteilung (Routing) von Nachrichten

● Reaktion auf Fehlerzustände (z.B. Ausfall und Überlast)

■ Metainformationen im Kontext der Servicebeschreibungen.

ESB – Enterprise Service Bus

Page 32: WS 2006/07 Prof. Dr. Andreas Schmietendorf

WS 2006/07 Prof. Dr. Andreas Schmietendorf 32

SOA Service CenterM

ana

gem

ent

Re

gist

ry

Se

arch

Eng

ine

Ce

rtifi

catio

n

SLAManagement

AvailabiltyManagement

SecurityManagement

QoSMeasurement

BillingSupport

VersionManagement

ChoreographyManagement

TransactionManagement

Service Endpoint

Service Interface

Service Specification

MQ WebSphere:IP-Adressen, Queue-Manager & -Name

Web Service:URL

... ...

MQ WebSphere:XML-Schemata

Web Service:WSDL

... ...

Non Standarddescription formats

Web Services:UDDI

Standarddescription format

...

Visualisierung & Animation

ESB – Enterprise Service Bus