Lean SOA Abspecken senkt das Infarktrisiko › vortrag › lean-soa › lean-soa-vortrag.pdf ·...
Transcript of Lean SOA Abspecken senkt das Infarktrisiko › vortrag › lean-soa › lean-soa-vortrag.pdf ·...
Lean SOA
Abspecken senkt das
Infarktrisiko
Thomas Bayer
predic8 GmbH
Moltkestr. 40
53173 Bonn
www.predic8.de
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Ihr Sprecher
2
Thomas Bayer
Trainer, Berater, Entwickler
SchwerpunkteSOA, XML, Android
Infarkt?
Einige Indikatoren
3
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Quelle: http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
War der Komet wirklich schuld?
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Fieberkurven
org.apache.ws.axis-user
net.java.dev.open-esb.users
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
SOA IBM/SOA Oracle
Quelle: Google Trends
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
8
Quelle: http://amplicate.com
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
WSDL leicht gemacht ;-)
9
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
WSDL 2.0
10
Interface
endpoint
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Ist SOA wirklich tot?
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Auferstehung?
Risikofaktoren
Nichtbeachtung von
Konzepten und
Philosophien
14
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
SOA Manifest
Geschäftswert über technische Strategie
Strategische Ziele über projektspezifischen Nutzen
Immanente Interoperabilität über maßgeschneiderte Integration
Gemeinsam verwendete Services über zweckgebundene
Implementierungen
Flexibilität über Optimierung
Evolutionäre Vervollkommnung über Streben nach anfänglicher
Perfektion
15
Quelle: http://soa-manifest.de/
Architektur-Verfettung
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Reference Cards
UML
HTML5: New Standards for Web Interactivity http://refcardz.dzone.com/refcardz/html5-new-standards-web-
interactivity?oid=ban00015-15
Objective-C for the iPhone and iPad http://refcardz.dzone.com/refcardz/objective-c-iphone-and-ipad
Getting Started with Java EE Security http://refcardz.dzone.com/refcardz/getting-started-java-ee
Getting Started with Maven Repository Management http://refcardz.dzone.com/refcardz/getting-started-repository
Getting Started with JBoss Enterprise Application Platform 5 http://refcardz.dzone.com/refcardz/getting-started-jboss
Getting Started with Java GUI Development http://refcardz.dzone.com/refcardz/getting-started-java-gui
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Die WS*-Spezifikationen
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Web Services Standard Portfolio
WS-Addressing
WS-Policy
WS-Reliability
SOAP
WSDL
BPELUDDI
Verbreitung
KomplexitätStand: Dezember 2008
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
WS-I Profile
Profile Status Standards
Basic 1.0 Final SOAP
Basic 1.1 Final SOAP 1.1, WSDL 1.1
Basic 1.2 Draft
Basic 2.0 Draft
Attachements 1.0 Final
Simple SOAP Binding 1.0 Final
Basic Security 1.0 Final WSS 1.0
Basic Security 1.1 Draft
Reliable Secure 1.0 Draft
Kerberos Token Profile 1.0 Draft
REL Token Profile 1.0 Draft
SAML Token 1.0 Draft
Stand: Dezember 2008
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Shop
Shop Anwendung
Bestellung
Adresse
RechnungKunde
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Shop Services
Shop BestellungService
AdressService
RechnungServiceKundenService
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Eigenständige Services
BestellungService
AdressService
RechnungServiceKundenService
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
BestellungService Projekt
RechnungService Projekt
AdressService Projekt
KundenService Projekt
Ein Projekt pro Service
BestellungService
AdressService
RechnungServiceKundenService
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Abhängigkeiten
BestellungService
AdressService
RechnungServiceKundenService
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Fette ESB Architektur
ESB
Prozesse
ESB
Geschäftsobjekte
ESB
Lebenszyklus
DB
Syste
m X
Syste
m Y
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Medienbrüche
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Enterprise Service Bus (ESB)
BestellungService KundenService AdressServiceRechnungService
BC
SOAP
BC
SAP
BC
Dateisystem
BC
Datei-
system
Enterprise Service Bus
Normalized Message Router
N
N
NN
Management
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Alles ist ein Service …
29
Anwendung
WS
CMS-API
WS
JDBC
WS
JNDI
SQL
LDAPCMS
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
… Schnittstellenverkalkung
30
Anwendung
WS
CMS-API
WS
JDBC
WS
JNDI
SQL
LDAPCMS
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
CRUD oder Lifecycle Services
31
KundService
Create
Find
Update
Delete
ArtikelService
Create
Find
Update
Delete
WarenGruppenService
Create
Find
Update
Delete
Übergewichtige
Prozesse und
Vorgehensweisen
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Rollen und Verantwortlichkeiten
SOA Sponsor
Consumer/Nachfrage
Service Designer
Tester
Architekt
Operating
Owner
Service Developer
Service Assembler
Business Analyst
System Integrator
Service Registrator
Prozess Verantwortlicher
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Dokumente und Artefakte
Vision
Anforderungen
Randbedingungen
Business Plan
Aufwandsschätzung
Service Blueprint
Service Richtlinien
Prozess Handbuch
Vendor Assessment
SLA
Change Request
Glossar
Service Architektur
Testplan
Betriebsrichtlinien
Organigramm
Monitoring Plan
Unternehmensweites
Datenmodell
Prozess Richtlinien
Modellierungsrichtlinien
Petstore
Budgetplan
Weiterbildungsplan
Reports: Conformance,
Performance, Tests
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Prozessmodell: Stand Shop Anwendung
Prozess Shop Anwendung
Anforderungen
Kosten
Nutzen
Analyse
Budget
PlanungArchitektur Design
Schnittstellen
Beschreibung
Code
Testplan
Betriebsplan
Test
ReportDeployment
Lessons
Learned
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Prozessmodell: Stand der Services
Prozess Shop Services
Anforderungen
Kosten
Nutzen
Analyse
Budget
PlanungArchitektur Design
Schnittstellen
Beschreibung
Code
Testplan
Betriebsplan
Test
ReportDeployment
Lessons
Learned
Anforderungen
Kosten
Nutzen
Analyse
Budget
PlanungArchitektur Design
Schnittstellen
Beschreibung
Code
Testplan
Betriebsplan
Test
ReportDeployment
Lessons
Learned
Anforderungen
Kosten
Nutzen
Analyse
Budget
PlanungArchitektur Design
Schnittstellen
Beschreibung
Code
Testplan
Betriebsplan
Test
ReportDeployment
Lessons
Learned
Anforderungen
Kosten
Nutzen
Analyse
Budget
PlanungArchitektur Design
Schnittstellen
Beschreibung
Code
Testplan
Betriebsplan
Test
ReportDeployment
Lessons
Learned
BestellungService
RechnungServiceAdressService
KundenService
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Prozessmodell: Stand der Versionen
Prozesse KundenService
Anforderungen
Kosten
Nutzen
Analyse
Budget
PlanungArchitektur Design
Schnittstellen
Beschreibung
Code
Testplan
Betriebsplan
Test
ReportDeployment
Lessons
Learned
Version 1.0
Version 1.2
Version 1.1
Anforderungen
Kosten
Nutzen
Analyse
Budget
PlanungArchitektur Design
Schnittstellen
Beschreibung
Code
Testplan
Betriebsplan
Test
ReportDeployment
Lessons
Learned
Anforderungen
Kosten
Nutzen
Analyse
Budget
PlanungArchitektur Design
Schnittstellen
Beschreibung
Code
Testplan
Betriebsplan
Test
ReportDeployment
Lessons
Learned
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Service als Vermögen (Assett)
In Services fließen Investitionen
Investitionen sollen sich auszahlen
Überwachung
Steuerliche Aspekte
Dienste als Vermögen ausweisen
Service Bewertung
Übermäßiger Konsum
von Ausnahmen
39
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Compliance Prozess
CoE
Service
Designer
Service
Designer
Bericht
Neue WSDL
Änderung
einer WSDL
Prüfung gegen
Richtlinien
Überarbeitung
Entwicklung
Ausnahme Prozess
konform
Ausnahme
Prävention
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
JAX-WS
42
import javax.jws.WebService;
import javax.jws.WebMethod;
@WebService
public class HelloWorldService {
public String helloWorld() {
return "Hello World!";
}
}
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
org.apache.cxf.user
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Domain spezifische Sprachen
44
Quelle: http://wiki.open-esb.java.net/attach/FujiScreenCastsDemos/Fuji-overview-0629.pdf
Therapie
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Ein neues Buzzword muss her
Aigle SOA
SOA 2.0
SOA Lite
Lean SOA
Extrem SOA
46
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Zu hoch geflogen
47
SOA
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Schnittstellen befinden sich an den Rändern,
sind der Zuckerguss auf der Torte.
Service Layer
Anwendung
Java API
Bestellung
Service
Adress
Service
Rechnung
Service
Kunden
Service
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Wiederverwendbares Datenmodell
49
Wrapper
Domain
Base
getKundeResponse
Bestellen
Money
getKunde
Kunde
Adresse
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Enterprise Service Bus (ESB)
Anwendung
A
Anwendung
B
Anwendung
D
Anwendung
C
BC
SOAP
BC
SAP
BC
Dateisystem
BC
Datei-
system
Enterprise Service Bus
Normalized Message Router
N
N
NN
Management
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Der ESB ist keine Lösung für den Weltfrieden…
… er kann aber Integration
51
ESB/BPEC/OS
CRM Finance Stock Procument
Internes Netz Externer
Partner
Siehe auch: Jim Webber Martin Fowler - Does My Bus Look Big In This
http://www.slideshare.net/deimos/jim-webber-martin-fowler-does-my-bus-look-big-in-this
© 2010 predic8 GmbHLean SOA - Abspecken senkt das Infarktrisiko
Fazit
Zukunft?
Können wir mit den Kilos leben?
Wieviel kann SOA abspecken ohne dass es weh tut?
Wird SOA noch schwergewichtiger?
Welche Alternative gibt es?
Ist REST die Lösung?
52