Date post: | 05-Dec-2014 |
Category: |
Technology |
Upload: | camunda-services-gmbh |
View: | 2,791 times |
Download: | 1 times |
HU Berlin, 27. Mai 2009
Fachliche Prozessmodellierung
BPMN 2.0
Die zwei Seiten des BPM
AblauforganisationBusiness Process
Reengineering - BPR
(Orga-) Geschäftsprozess-
Management - GPM
Human
Workflow Management
Serviceorientierte
Architekturen (SOA)
Dokumenten-Management –
Systeme – DMS (u.a.)Enterprise Appliation Integration –
EAI
Organisationslehre
bis 19901990 - 2000 ab 2000
ab 2004
ab 2000 ab 2005
Business Process Management - BPMBusiness
IT
Prozessautomatisierung
ab 2006
Fachliche Modellierung mit BPMN 2.0
Kollaboration: Mehrfach vorhandene PartnerFachliche Modellierung mit BPMN 2.0
Kunde
Lieferant
Angebot
einholen
Angebot
auswählen
Ma
kle
r
Multi-Instance
Participant
Nicht-unterbrechende EreignisseFachliche Modellierung mit BPMN 2.0
Ma
x M
uste
rma
nn
Hunger!
Pizza bestellenLieferung
erwartenPizza essen
30
Minuten
Bestellung
stornierenStulle essen
Ma
x M
uste
rma
nn
Hunger!
Pizza bestellenLieferung
erwartenPizza essen
30
Minuten
„Wo bleibt
meine Pizza?!“NEU: Non-
interrupting Event
Eskalation: Beam me up!Fachliche Modellierung mit BPMN 2.0
Meldung machen, aber kein FehlerFachliche Modellierung mit BPMN 2.0
Bestellung
aufnehmen
Bestpreis-
Angebote
recherchieren
Hä
nd
ler
Preis
verhandelnIm Budget
max. 10%
Über Budget
> 10%
Über Budget
Günstigstes
Angebot?
Angebot
vermitteln
Überziehung
mit Kunden
klären
Ja
Nein
Einverstanden?
Kunden
informieren
Angebotsbeschaffung
Ku
nd
en
be
tre
ue
rS
ch
nä
pp
ch
en
jäg
er
NEU: Eskalation
(Meldung)
NEU: Eskalation
(Reaktion)
Business Rule TaskFachliche Modellierung mit BPMN 2.0
BusinessRuleTaskImplementation =
BusinessRuleWebService | WebService |
Other | Unspecified
Das Drama mit den RegelnFachliche Modellierung mit BPMN 2.0
Auftragswert < 50 TEUR
Normalpreis
kalkulieren
3% Rabatt
abziehen
5% Rabatt
abziehen
Verhandelten
Rabatt
abziehen
50k <= AW < 100k
100k <= AW < 250k
Rabatt individuell
verhandelt
Ve
rtri
eb
Pre
iska
lku
latio
n
Normalpreis
Angebotspreis
Angebotspreis
Angebotspreis
Ve
rtri
eb
Pre
iska
lku
latio
n
NEIN
Normalpreis
kalkulieren
Rabatt
abziehenJA
Rabatt-Regeln
anwenden
Normalpreis
Rabatt-Regeln
(Tabelle)
Rabatt
Angebots-
preis
Hinterlegter
Link auf Excel,
Wiki o.ä.
Regeln raus aus den Prozessen!Fachliche Modellierung mit BPMN 2.0
Auftragswert Rabatt verhandelt? Rabatt (%)
AW < 50 T€ Nein 0
50 T€ <= AW < 100 T€ Nein 3
100 T€ <= AW < 250 T€ Nein 5
<egal> Ja <individuell>
BPMN bleibt auf den Kontrollfluss beschränktFachliche Modellierung mit BPMN 2.0
“BPMN unterstützt lediglich die Modellierung von Geschäftsprozessen.
Andere Modelle für Organisationen werden von BPMN nicht betrachtet.
Dazu zählen z.B.:
• Organisationsmodelle (Organigramme)
• Datenstrukturen
• Modellierung von Strategien
• Geschäftsregeln”
7.1 BPMN Scope, p. 39
Grundsatz: BPMN ist für Abläufe. Alles Angrenzende muss in
eigenen Notationen definiert werden und mit BPMN-Modellen
sinnvoll verknüpft werden!
Unvermeidbar: Das eigene Niveau anheben!Fachliche Modellierung mit BPMN 2.0
Fach-
bereichEntwick-
lungProzessanalyst Prozessingenieur
<!-- Deklaration eines asynchronen “Hello World” Prozesses -->
<process name=”HelloWorld” ... >
<!-- Liste der am Prozess beteiligten Services -->
<partnerLinks>
<!-- Nur ein beteiligter Service: Der Dienst-Nutzer -->
<partnerLink name=”client” partnerLinkType =”HelloWorld” myRole=”HelloWorldProvider”
partnerRole=”HelloWorldRequester” />
</partnerLinks>
<!-- Liste der (XML-)Dokumente, die im Prozess verwendet werden -->
<variables>
<!-- XML-Dokument, das der Dienst-Nutzer beim Aufruf übergibt -->
<variable name="input" messageType="HelloWorldRequestMessage"/>
<!-- XML-Dokument, das der Dienst-Nutzer vom Prozess erhält -->
<variable name="output" messageType="HelloWorldResultMessage"/>
</variables>
<!-- Definition der Ablauflogik im Prozess (Aktiviäten) -->
<sequence>
<!-- Übergabe-Parameter vom Dienst-Nutzer entgegen nehmen -->
<receive name="receiveInput" partnerLink="client" portType="tns:HelloWorld" operation="initiate" variable="input"
createInstance="yes"/>
<!-- Output-Parameter abhängig vom Input erstellen -->
<assign>
<copy> <from expression="concat('Hello
',bpws:getVariableData('input', 'test','/tns:name'))"/>
<to
variable="output" part="test" query="/result"/>
</copy>
</assign>
<!-- Dienst-Nutzer aufrufen, um Antwort zu übergeben -->
<invoke name="replyOutput" partnerLink="client" portType="tns:HelloWorldCallback"
operation="onResult" inputVariable="output"/>
</sequence>
</process>
„ALLES SOLLTE SO
EINFACH WIE MÖGLICH
GEMACHT SEIN, ABER
NICHT EINFACHER.
Albert Einstein: