23
Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Embed Size (px)

Citation preview

Page 1: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Auf dem Weg zur serviceorientierten Architektur (SOA)

Thomas Güdelhöfer

WLP Systems GmbHHamburgNovember 2006

Page 2: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Themenübersicht

• Was bisher geschah

• Definition

• Prozess-Sicht und lose Kopplung

• Arten von Services

• Prozess-Integrität

• Sicherheit, Skalierbarkeit und Verfügbarkeit

• SOA-Projektmanagement

• Fazit

Page 3: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Architektur-Ansätze

• 80er: Unternehmensweites Datenmodell

• Durch ein einheitliches Datenmodell soll eine Integration aller Aspekte eines Unternehmens gelingen.

• 90er: EAI

• Durch einen einheitlichen Software-Bus (z.B. CORBA) sollen alle System integriert werden.

Page 4: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Definition

Eine serviceorientierte Architektur (SOA) ist eine IT-Strategie:

• Die unternehmensweite Architektur gründet sich auf eine Zerlegung in Applikations-Frontends, Services, ein Service-Verzeichnis und einen Service-Bus.

• Ein Service besteht aus einen Vertrag, einem oder mehreren Schnittstellen und einer Implementation.

Service 1

Applikation 1 Applikation 2 Applikation 3

Service 2 Service 3 Service 4Service Verzeichnis

Service Definition

Service Definition

Service Definition

Page 5: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Prozess-Sicht

• Definition von Prozessen, nicht Applikationen

• Systemgrenzen nicht ausfransen lassen

• Insellösung vs. Eierlegendewollmilchsau

• SOA bietet einen Dritten Weg

• Lücken in der Prozessabdeckung schließen

• Access-DB in jeder Abteilung

• Fokus auf Nutzen, nicht auf Kosten

Page 6: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Lose Kopplung

• Reduktion der künstlichen Abhängigkeiten.

• Der Fön braucht Strom echte Abhängigkeit• Der Fön braucht einen Adapter künstliche Abhängigkeit

• Neue Versionen der Schnittstelle ohne Störung alter Versionen.• Corba erfüllt diese Forderung nicht.

Page 7: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Lose Kopplung

• Deskriptiver statt instruktiver Aufruf.

• Unterschied zwischen Koch und Kellner:

• Das Essen wird beim Kellner bestellt (deskriptiver Aufruf) ohne die Details der Zubereitung zu beschreiben.

• Systeme müssen nicht gleichzeitig verfügbar sein.

• Asynchrone Kommunikation, besonders wichtig über Unternehmensgrenzen hinweg.

• Finden der Services zur Laufzeit.

• Service-Verzeichnis

Page 8: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Design for Change

• IT leistet geschäftlichen Nutzen nur dann, wenn aktuelle Bedürfnisse erfüllt werden

• Minimierung der Soll-Ist-Lücke

• Verkürzung des Zyklus Anforderung – Analyse – Design – Implementierung

• Bei loser Kopplung haben Änderungen nur lokale Auswirkungen

Page 9: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Service-Wiederverwendbarkeit

• Wird ein Service von genau einem Nutzer genutzt, dann ist es noch kein SOA!

• Granularität der Services

• Auffindbarkeit der Services

• Bedarf steigt mit der Firmengröße

Page 10: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Service-Verzeichnis

• Beschreibung aller Services

• Service-Definition (z.B. WSDL)

• Service-Vertrag (Beschreibung, Erlangen von Zugriffsrechten)

• Verantwortliche für Betrieb und Weiterentwicklung

• Die einfachste Ausführung eines Service-Verzeichnisses ist eine Papierliste.

• Standard für Service-Verzeichnisse: UDDI

• Ein Service-Verzeichnis ist notwendig, sobald viele Projekte Services nutzen sollen.

• Credit Suisse Group hatte 2004 ca. 1000 Services im Unternehmen.

Page 11: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Arten von Services

• Sichtbare Applikation

• Sind im eigentlichen Sinne keine Services

• Rufen die Services der SOA auf

• Grund-Service

• Grundbausteine einer SOA

• Datenzentrierte Services

• Geschäftslogik Services

• Zwischen-Service

• Technologische Adapter (z.B. Corba WebService)

• Funktionsergänzungen (z.B. Verschlüsselung)

• Rufen andere Services auf

Page 12: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Arten von Services

• Prozess-Service

• Kapselung der Prozess-Logik

• Prozessausführung über verschiedene Endgeräte

• Rufen andere Services auf

• Öffentlicher Service

• Unternehmensübergreifende Integration

• Zwingend grobgranular und lose gekoppelt

• Services teilen den Funktionsumfang vertikal auf

• Sind nicht einer Applikation 1:1 zugeordnet

Page 13: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Geschäfts-Logik vs.Prozess-Logik

• SOA trennt Geschäfts- und Prozess-Logik

• Geschäfts-Logik:

• Grundlegender Datenzugriff, Komplexe Berechnungen und Geschäftsregeln.

• Benötigt Zugriff auf die Geschäftsdaten.

• Einfache Schnittstelle.

• Verwaltet eigene (kurze) Transaktionen

• Prozess-Logik:

• Verwaltet den Prozess-Status

• Stützt sich auf die Geschäfts-Logik

• Langlaufende Aktivität

• Ändert sich häufiger als die Geschäfts-Logik

Page 14: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Prozess-Integrität

• Datenintegrität:

• Richtigkeit

• Genauigkeit

• Konsistenz

• Wichtiges Mittel zur Sicherung der Datenintegrität: Transaktionen

• Prozess-Integrität:

• Behandlung aller möglichen Fehlersituationen in den Prozess-Schritten.

• Prozesse erstrecken sich über lange Zeiträume und mehrere Systeme (manchmal sogar Unternehmen).

• Transaktionen sind nicht geeignet zur Sicherung der Prozess-Integrität.

Page 15: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Prozess-Integrität

• Technische Fehler

• Geschäftliche Ausnahmen

• Maßnahmen:

• Logging und Auditing

• Verteilt über mehrere Systeme, Log-Konsolidierung erforderlich

• Transaktionsketten und kompensierende Operationen

• Nicht jede Operation ist umkehrbar.

• Volumen der Prozess-Instanzen bestimmt den notwendigen Aufwand für automatisierte Fehlerkorrekturen.

Page 16: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Prozess-Service

• Ein Prozess-Service hat eine geringe Wahrscheinlichkeit auf Wiederverwendung.

• Prozess-Services sind keine Grundbedingung für eine SOA

Prozess-Service

Sichtbare Applikation

Grund-Service

Grund-Service

Grund-Service

Sichtbare Applikation

Grund-Service

Grund-Service

Grund-Service

Page 17: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Sicherheit

• Authentifizierung an der Applikation oder am Service.

• Single-Sign-On: Hilfreich für zusammengesetzte Applikationen.

• Verschlüsselung

• Kanalverschlüsselung (SSL)

• Nachrichtenverschlüsselung

• Verfügbarkeit über Firewall-Grenzen hinweg

• WebServices über https

Page 18: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Skalierbarkeit und Verfügbarkeit

• Werden zwischen den Parteien (Service-Lieferant und Nutzer) in SLAs festgelegt.

• Skalierbarkeit ergibt sich aus der verwendeten technische Plattform

• WebService: Verteilung der Last über Load-Balancer auf mehrere Server

• Kapazitäten müssen geplant und entstehende Kosten zugeordnet werden:

• Wer einen Service für ein Projekt nutzen will, muss die Last angeben.

• Wer Services anbietet, muss die Last durch die Nutzer messen.

• Services müssen eine den Applikationen entsprechende Verfügbarkeit haben.

Page 19: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Motivation für SOA

• Beweglichkeit (Agility)

• Kostenreduktion in den Geschäftsprozessen

• Kostenreduktion in der IT

Page 20: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

SOA-Projektmanagement

• Projekte sind keine voneinander separierte Aktivität mehr.

• Sie liefern untereinander wichtige Funktionsbausteine.

• Service-Design mit Blick auf Wiederverwendung.

• Projektübergreifendes Management durch ein SOA-Board:

Service repository

Service Definition

Service Definition

Service Definition

SOA - Board

Projekt 2Projekt 1 Projekt n

Page 21: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

SOA-Projektmanagement

• Nutzung eines Service durch viele Projekte:

• Qualitätskontrolle für den Service gewinnt an Bedeutung:

• Testen gegen den Service-Vertrag.

• Automatisierte Testverfahren sind für die meisten Services erforderlich.

Page 22: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Das Kleingedruckte

• Datenhoheit

• Temporär, Abgleich und Replikation, Zugriff

• Dubletten

• „Was ist eine Dublette?“

• Identifizierung der Stakeholder

• Außerhalb des Projektes

• Prozessoptimierungen verändern das Machtgefüge

Page 23: Auf dem Weg zur serviceorientierten Architektur (SOA) Thomas Güdelhöfer WLP Systems GmbH Hamburg November 2006

Fazit

• SOA bedeutet eine andere Organisation des IT-Geschäftes:

• Denken in Prozessen statt in Applikationen.

• Denken über Projektgrenzen hinaus.

• Die Abhängigkeit der Applikationen von der Funktionsfähigkeit der Services erfordert ein automatisiertes Testen.

• Auch innerhalb des Unternehmens muss über SLAs gesprochen werden.