20101118 bpm und soa

Post on 15-Apr-2017

809 views 0 download

Transcript of 20101118 bpm und soa

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

drucken

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: info@camunda.com

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