20101118 bpm und soa
TRANSCRIPT
BPM und SOA
Traumpaar mit kleinen Meinungsverschiedenheiten
Ich bin Bernd Rücker…
…und habe den Vortrag am Wochenende geerbt…
Hajo lässt sich entschuldigen!
Einige Folien mit Dank von Hajo übernommen!
Und ich tue mal was ich kann…
Ich bin nicht Hajo Normann. Und nicht von HP ;-)
Prozesse
Bonitäts-prüfung
Kunden-anlage
Kredit-vergabe
Services
Bonitätscheck Kundendaten Kreditantrag
Ressourcen
Web-Service Kundenkonto-Komponente
SAPServer
GUI
Architektur in der perfekten Welt: BPM und SOA
Qu
elle
: Nic
ola
i Jo
su
ttis
BPM & SOA Blueprint
Was halten Sie von diesem Prozess?
Geschäftsregel Teilprozess Human Task
Hier die serviceorientierte Variante…
Rabatt-ermittlungs-
Service
Auftragversenden
Service
Rechnungs-kuvertierungs-
service
Der Vorteil…
Rabatt-ermittlungs-
Service
Auftragversenden
Service
Manueller Kuvertierungs-
service
evtl. ESB
AutomatischerKuvertierungs-
service
Der Nachteil… Wie wird der Auftrag versendet? Und wie
die Rechnung kuvertiert?
Aber eigentlich dreht es sich doch um Transparenz?
IF R E !
Modelling Monitoring
EAI / SOAHuman Workflow
Business
IT
Magic BPM-Suite
Oder sogar um einen alten Traum der Fachabteilungen
Pro & Contra von Hajo
IT
GeschäftsprozessBPMN
Rolle A
Rolle B
Jede menschliche Aufgabe wird durch die entsprechenden BPMN Erweiterungen dargestellt
Pro
Vermischt das “was” (was passiert in diesemSchritt) mit dem „wie“ (wie ist der Schritt implementiert)
Daraus ergibt sich eine enge Kopplung aus Prozessmodell und Implementierung
• Offensichtlich, dass dieser Schrittals menschliche Aufgabeausgeführt wird
Contra
Pro & Contra von Hajo
IT
GeschäftsprozessBPMN
Rolle A
Rolle B
Ablauf-ServiceESB/SCA
BPEL/BPMN
Jede menschliche Aufgabe wird durch generisches Service-Symbol dargestellt –Details bleiben im Ablauf-Service
Pro
Um heraus zu finden, wie einSchritt implementiert ist, muss der Geschäftsanalyst bis in den Ablauf-Service sehen.
Prozessmodell enthält nur, “was” im Prozessschrittdurchgeführt wirdDas “wie” (Implementierung) kann leicht verändertwerden – das Prozessmodell bleibt stabilHeute menschliche Aufgabe, morgen automatisiert
Contra
Services machen Sinn wenn…
Manueller Kuvertierungs-
service
evtl. ESB
AutomatischerKuvertierungs-
service
Schnittstelle
Prozess A Prozess B
Unterschiedliche Zuständigkeiten
evtl. ESB
AutomatischerKuvertierungs-
service
Prozess A
Wo ist der Unterschied?
Wiederverwendbare Teilprozesse
evtl. ESB
Service „Auftrag versenden“
Zuständigkeiten!
evtl. ESB
Service „Auftrag versenden“
Versionierung & Deployment
evtl. ESB
Service „Auftrag versenden“
Deployment Artifakt AVersion 7
Deployment Artifakt BVersion 98
Also: Denken Sie darüber nach was Sie bauen wollen…
Probleme…
Debugging?
Stack Traces?
Monitoring?
Bitte…
…kein Over-Engineering!
Oder in Hajos Worten
IT
Explizit, wenn
•Austausch der Implementierung möglichsein soll (lose Kopplung; mehr SOA)
• Geschäftsseite sehen möchte, was passiert und nicht wie
• Komplexe Entscheidung das Modellunlesbar machen würden
• Lokaler Prozess an Stelle von unternehmensweiten Prozessen
• Geschäftsseite möchte Implementierungverstehen
•Modellierungsrichtlinien fokussierenRollen in Verantwortlichkeitsbereichen
Implizit, wenn
GeschäftsprozessBPMN
Rolle A
Rolle B
GeschäftsprozessBPMN
Rolle A
Rolle B
Bzw.: BPMN arbeitet auch mit Schnittstellen…
Das ist eine Schnittstellendefinition
Ein anderes Beispiel…
Was ist besser?
vs.
Was sagen Sie dazu?
vs.
Oder auch Regeln im Prozess?R
ech
nu
ng
sste
llun
g
Teilprozess
gestartet
Rechnung
erstellen
Rechnung
drucken< 500 EUR
Teilprozess
beendet
Bestellbetrag?
2% abziehen
3% abziehen
5% abziehen
500 – 999 EUR
1000 – 1999 EUR
2000 – 4999 EUR
8% abziehenAb 5000 EUR
Regeln besser referenzierenR
ech
nu
ng
sste
llun
g
Teilprozess
gestartet
Rechnung
erstellen
Rechnung
Teilprozess
beendet
Rabatt
ermitteln
# Bedingung Konsequenz
Bestellbetrag EUR Rabatt %
1 < 500 0
2 500 – 999 2
3 1.000 – 1.999 3
4 2.000 – 4.999 5
5 >= 5.000 8
Process Engine und Rule Engine
Prüfung X
Pro
ce
ss E
ng
ine
Ru
les E
ng
ine
Tu dies
Prüfung X
Tu jenes
Auch hier wieder: Nicht den Fachbereich vergessen!
1. Link mit fachlichen
Anforderungen
2. Link mit technischen
Regeln
z.B. Excel im Sharepoint
z.B. E-Tab.in Drools
Content Based Routing – eine gute Idee?
NEU in BPMN 2.0
Startereignisse
Blanko: Untypisierte Ereignisse;
Blanko-Zwischenereignisse können
einen Statuswechsel kennzeichnen.
Nachricht: Empfang und
Versand von Nachrichten.
Zeit: Periodische zeitliche
Ereignisse, Zeitpunkte oder
Zeitspannen.
Fehler: Auslösen und
Behandeln von definierten
Fehlern.
Bedingung: Reaktion auf
veränderte Bedingungen und
Bezug auf Geschäftsregeln.
Signal: Signal über mehrere
Prozesse. Auf ein Signal kann
mehrfach reagiert werden.
Terminierung: Löst die
sofortige Beendigung des
Prozesses aus.
Abbruch: Reaktion auf
abgebrochene Transaktionen
oder Auslösen von Abbrüchen.
Kompensation: Behandeln oder
Auslösen einer Kompensation.
Mehrfach: Eintreten eines von
mehreren Ereignissen;
Auslösen aller Ereignisse.
Link: Zwei zusammengehörige
Link-Ereignisse repräsentieren
einen Sequenzfluss.
Eskalation: Meldung an den
nächsthöheren Verantwortlichen.
Mehrfach/Parallel:
Eintreten aller Ereignisse.
? ?
Der Prozess wird
durch das Ereignis
gestartet.
Der Prozess läuft
erst weiter, wenn
das Ereignis eintritt.
Der Prozess löst das
Ereignis am Ende eines
Prozesspfades aus.
Auf das Ereignis wird
reagiert, die Aktivität wird
abgebrochen.
Der Ereignis-Teilprozess
wird gestartet, der Ober-
prozess wird abgebrochen.
Der Ereignis-Teilprozess wird
gestartet, der Oberprozess
wird nicht abgebrochen.
Auf das Ereignis wird
reagiert, die Aktivität wird
nicht abgebrochen.
Der Prozess löst das
Ereignis aus und
läuft sofort weiter.
Zwischenereignisse Endereignisse
Eingetretene Ereignisse Ausgelöste Ereignisse
? ? ????
Symbole der BPMN (in Anlehnung an das BPMN-Poster der Berliner BPM-Offensive: www.bpmb.de/poster)
Aus "Praxishandbuch BPMN" von Jakob Freund, Bernd Rücker und Thomas Henninger; © 2010 Carl Hanser Verlag München
Ereignisse in BPMN
Wie bekommen wir Events? Oder Nachrichten?
Beliebig kompliziert…
Wer setzt das um? …die Engine? …der ESB?
ESB / Event Manager
Service
Backend
Service Service
Backend
Service Service
Backend
Service
nach Nicolai Josuttis
Oder über Reglen?
Process Mining
ESB / Event Manager
Service
Backend
Service Service
Backend
Service Service
Backend
Service
Regeln
AuditLog
Analyst
Adaptive Case Management
Ad-Hoc Tasks vielleicht?
Gar nicht modellieren?
Oder eigene Systeme? Vielleicht Regelbasiert?
Fazit…
Auf den Kontext kommt es an :-)
„One Shop Stop“?
Danke für die Aufmerksamkeit! Fragen?
Vielen Dank!camunda services GmbHZossener Str. 55-5810961 Berlin
Telefon: +49 30 664 0409-00Telefax: +49 30 664 0409-29
Email: [email protected]
www.bpm-guide.deDer Praxis-Blog zu BPM:
@camunda.com
Geschäftsführer
Bernd Rücker
bernd.ruecker
W-JAX
München, 18.11.2010