Kommunizierbare Prozesse - die laufen und greifen Was BPM- und IT-Modelle trennt und was sie verbindet 10 Thesen zur Diskussion Andreas Leue, Sphenon GmbH BPM Netzwerk, 8.12.2009, zu Gast bei Oracle, Hamburg
This work is licensed under the Creative Commons Attribution-Share Alike 2.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Ignoranz Konflikte Machtkämpfe Versagen Mißtrauen
Business & IT ... unable to bridge the gap ... [due to] differences in objectives, culture, and incentives ... mutual ignorance ... other group's body of knowledge. ... experience conflict and in-fighting ... failure to produce ... results leads to blaming and mistrust Quelle: wikipedia.org “Business/IT alignment”, 20.11.2009
Softskills ● Agile Prozesse ● IT Superheroes ● Runde Ecken ● Guter Wille ●
Ursache bekämpft?
3
Warum kein
?
Sales / Production... Marketing / Support... Graphik-Design / Development... ...Gap ...Alignment
Business & IT
Prozesse, Workflow automatische Ablaufsteuerung
IT-Systeme automatische Arbeitsschritte & Verwaltung
Software (Entwicklung)
4
BPM & IT
Enterprise Model Operation Services (EM/OS) Modell rein
Sphenon GmbH: seit 1990 Entwicklung eines Systems zur automatischen Bereitstellung von Anwendungen
BPM Integration seit ca. 2000 5
Anwendung raus
Bild #1, Quelle: wikimedia commons, Nachweis siehe letzte Folie
The se
Mythos: ”Business vs. IT”-Kampf (sie haben keine Chance)
6
1
Mythos: “Business vs. IT”-Kampf
BPM-Arena Strategie
Management Organisation Planung effiziente Prozesse Steuerung Zielvorgaben zu realitätsfern
z.B. Word, Visio
zu schwammig
zu technisch Repositories Hohe Präzision redundant z.B. UML, Java Automatisierung
Management Model
manueller fehlerhaft Abgleich Erosion Tools unverständlich zu ineffektiv
Process Model
Checklisten
Mitarbeiter
z.B. BPMN, EPK
Arbeitspensum
Metamodels
zu kompliziert
Koordination
optimale Aufgabenerledigung
Konkrete Probleme lösen
7
System Model paßgenaue IT Systeme inkonsistent System Architect
zu ungenau, zu lückenhaft
Process Engine
Sämtliche Eventualitäten Durchführung
Mythos: “Business vs. IT”-Kampf
BPM-Arena Strategie
Management Organisation Planung effiziente Prozesse Steuerung Zielvorgaben zu realitätsfern
zu schwammig
z.B. Word, Visio
zu technisch Repositories manueller fehlerhaft Hohe Präzision redundant Abgleich z.B. UML, Java Erosion Nutzung vs. Automatisierung
Management Model
System Model paßgenaue IT Systeme Konsistenz Tools inkonsistent unverständlich System Architect zu ineffektiv Metamodels Process Engine Process Model Checklisten
Mitarbeiter
z.B. BPMN, EPK
Arbeitspensum Koordination
optimale Aufgabenerledigung
Konkrete Probleme lösen
8
zu kompliziert
zu ungenau, zu lückenhaft
Sämtliche Eventualitäten Durchführung
Mythos: Business vs. (!) IT
Ansatz: Modelle konsistent verknüpfen Antragsprüfung
Management
Antrag
Antrag
Prüfung
[ungeprüft]
Prüfung Nord
[geprüft]
Prüfung Süd
System Architect Automatische Prüfung
Mitarbeiter Prüfung
9
Prüfung
UBPML: Überblick
Sprach-”Architektur” Vorgänge & Prozesse (zweckbezogen)
UBPML Steps & Constellations
BPMN oder
Abläufe
(kontrollflußbasiert)
10
UML Activity
UML Artefaktstruktur
UBPML: Überblick
Notation im Überblick Antragsprüfung
Prozess
www
keine Aktivität
.ubp
Transformation
ml.o rg
kein Kontrollfluß
Objekt in Zustand kein Event
Antrag
Prüfung
[ungeprüft]
Spezilisierung keine Verfeinerung
Prüfung abgeschlossen
Prüfung Nord
Prüfung Süd
Konstellation kein Event
Antrag [geprüft]
Implementierung keine Verfeinerung
Operation, Service
Ablauf mit Kontrollfluß Prüfung
11
Automatische Prüfung
Prüfung
Mythos: Fachprozesse = BPM(N)/EPK = Wandschmuck
Fachdiagramme Antrag Antrag ist ungeprüft
Prüfung
Antrag ist geprüft
Prüfung
EPK
Antrag ist ungeprüft
Antrag ist geprüft
BPMN Antrag [ungeprüft]
Antrag
Prüfung
[geprüft]
! ?
sind ● ungenau ● unvollständig ● unterspezifiziert
UML Voraussetzung für Planung, automatische Fehlerbehandlung, Koordination menschlicher und maschineller Arbeit, Verbesserung und Verständnis der Vorgänge
Vielmehr: ● nicht überspezifiziert ● beschränken sich auf Anforderungen ●
(Process Contract, Process Interface)
verzichten auf Lösungsweg (Process Implementation)
abstrahieren korrekt von Details ● spannen den Zweck-Bezugsrahmen auf ●
12
Bild #2, Quelle: wikimedia commons, Nachweis siehe letzte Folie
The se
13
2
Mythos: Fachprozesse = BPM(N)/EPK = Wandschmuck
Mythos: Fachprozesse = BPM(N)/EPK = Wandschmuck
UBPML: nicht unähnlich Antrag Antrag ist ungeprüft
Antrag ist geprüft
Prüfung
Prüfung
EPK
Antrag ist geprüft
Antrag ist ungeprüft
BPMN Antrag [ungeprüft]
Prüfung
Antrag [geprüft]
UML
Antrag
[ungeprüft]
Prüfung
Antrag
[geprüft]
UBPML
14
Mythos: IT = UML = technisch = verkompliziert
Sytemdiagramme ServiceFactory
IServiceImplClass toXML(): DOMElement
create(): IService
Antragsprüfung AntragsprüfungFactory
Antrag
State: int
1 Eingang: Date
isOk(): boolean
PrüfungBeginn: Date
create(Antrag a): Antragsprüfung ok
unchecked
Geprüft: Date isInOrdnung: boolean
not ok
! ?
sind ● zu technisch ● nicht verständlich ● nur für Ingenieure ● verkompliziert
15
0...1
LegacyAntrag migrate(): Antrag
Vielmehr: ● beschreiben konkrete Automaten ● die Aufgaben vollautomatisch selbsttätig lösen oder steuern ● und sämtliche Eventualitäten im vorhinein berücksichtigen müssen
Bild #3, Quelle: wikimedia commons, Nachweis siehe letzte Folie
The se
Mythos: IT = UML = technisch = verkompliziert
16
3
Mythos: IT = UML = technisch = verkompliziert
UBPML ServiceFactory create(): IService
IServiceImplClass toXML(): DOMElement
Antragsprüfung AntragsprüfungFactory
Antrag
State: int
1 Eingang: Date
isOk(): boolean
PrüfungBeginn: Date
create(Antrag a): Antragsprüfung unchecked
ok
Geprüft: Date isInOrdnung: boolean
not ok
0...1
LegacyAntrag migrate(): Antrag
Kein Unterschied: ... da UBPML = UML + OOBPM (+ ...)
17
Es gibt nur eine Wirklichkeit
Grundlegende BPM Modellierungsbegriffe
Event Operation
Workflow
State
Service Task Process
Activity
Bedeutet “... ist ein ...” (Vererbung)
Zusammengetragen aus verschiedenen Quellen (wikipedia.de/.org, Spezifikationen und Whitepapers zu BPMN, BPEL, XPDL, WSDL, UML, EPK, WKD, DFD)
18
Bild #4, Quelle: wikimedia commons, Nachweis siehe letzte Folie
The se
Es gibt nur eine Wirklichkeit (und ein Single Source Modell ist sowieso besser) 19
4
Es gibt nur eine Wirklichkeit
Planung und Handlung Janusköpfige Abstraktion
20
Es gibt nur eine Wirklichkeit
UBPML: verknüpft Zweck und Verfahren
Process Interface Process Implementation
21
Es gibt nur eine Wirklichkeit
Begriffe und Diagrammtypen Zweckgebundene Verknüpfung von Step Klassen
Arbeitsablauf (Workflow)
Step Step Step
Step
Prozessstufenschema Oberbegriff
Step
Prozessschema Process
Prozess
Menge von Step Instanzen, die bestimmten Kriterien genügen
Step Step Step
Step
Step Step Step Step
Zweckgebundene Verknüpfung von Step Instanzen, die einem Workflow entspricht
BPP
Step Step Step Step Step Step
Step Step Step
Workflowinstanz
Step Step Step Step Step Step
Progressionsplan
Step Step Step
Step Step Step
Oberbegriff
Projekt
Step Step Step
22
Step
Step
Zweckgebundene Verknüpfung von Step Instanzen, frei definiert
Step
BSP Legt zulässige Step Instanzen eines Prozesses fest
Bild #5, Quelle: wikimedia commons, Nachweis siehe letzte Folie
The se
Zu einfach:
23
Prozeß = Funktionshierarchie
5
Zu einfach: Prozeß = Funktionshierarchie
Funktionshierarchie Prozeß
Prozeß
Prozeß
Prozeß
monströser Funktionsbaum: “Prozeßtapete” ● einzige vertikale Kopplungsart: Verfeinerung ● horizontale Kopplung: künstliche Token ● keine Abstraktion, nur Detailausdünnung ● in Gänze im Grunde: unwartbar ●
24
Funktion
Funktion
Funktion
Funktion
Funktion
Funktion
Aktivität
Aktivität
Aktivität
Aktivität
Aktivität
Aktivität
Programmfunktion(...)
Programmfunktion(...)
Programmfunktion(...)
Programmfunktion(...)
Programmfunktion(...)
Programmfunktion(...)
Wünschenswert: ● lose gekoppelte Prozeß-Bausteine ● Details im Innern verborgen ● flexible Zusammenstellung ● dynamische Zusammenstellung
Zu einfach: Prozeß = Funktionshierarchie
UBPML: Geschichteter Prozeßaufbau
Prozeß
Prozeß
Prozeß
Prozeßschicht
Prozeß
sechs vertikale Kopplungsarten: Unterprozeß (Teilmenge) Aggregation aus Schritten Spezialisierung von Schritten Vorgänge in Schritten Prozedurzuordnung zu Schritten Verfeinerung von Prozeduren ● plus horizontale inhaltliche Kopplung ● getrennt: Interface und Implementierung Details im Innern verborgen ●
Prüfung
Konstellation
Konstellation
Prüfung
Konstellation
Konstellation
Prüfung
Konstellation
Aktivität
Programmfunktion(...)
25
Aktivität
Programmfunktion(...)
Aktivität
Programmfunktion(...)
Prozedurschicht
Prozedur
Prozeßschemaschicht
Konstellation
(encapsulation)
loser und variabler Zusammenhang ● dynamische Verbindung ●
(late binding)
Ablauf und Struktur gehören zusammen
Konsistenz, Vollständigkeit und Eindeutigkeit
Antrag
Der Antrag muß...
Glossar
Geschäftsregel
Antrag Antrag Prüfung
Prozeßbeschreibung
26
(IT) Modell-Klasse
Bild #6, Quelle: wikimedia commons, Nachweis siehe letzte Folie
The se
Ablauf und Struktur gehören zusammen (Prozesse und Objekte)
27
6
Ablauf und Struktur gehören zusammen
UBPML
Antrag
Glossar { muß... } Geschäftsregel
Konstellation
Antrag
(IT) Modell-Klasse
Antrag [ungeprüft]
Prüfung
Prozeßbeschreibung
28
Antrag [geprüft]
Abläufe nicht zementieren
Programmierter Ablauf : codiertes Wissen Schleife Daten per Mail eingegangen
Daten per Brief eingegangen
Daten per Mail nachfordern
Daten per Brief nachfordern
ja
nein Eingang per Mail? ja
Antrag
nein
Bedingungen Antrag per Mail eingegangen
Prüfung
ja Antrag vollständig?
Reihenfolge
Antrag per Brief eingegangen
Fallunterscheidung Email Server Down
Ausnahmen
Keine Briefmarken mehr da
3 Wochen seit Eingang
29
nein
Eingang per Mail?
Ablehnung per Mail versenden nein Ablehnung per Brief versenden
nein
ja Lieferbar?
Zustand
Bonität ok? ja
Taktung Admin anrufen Briefmarken kaufen
ja Eingang per Mail?
Bestätigung per Mail versenden nein Bestätigung per Brief versenden
Zustandsdefinition
Bild #7, Quelle: wikimedia commons, Nachweis siehe letzte Folie
The se
Abläufe nicht zementieren (Kontrollfluß so spät wie möglich codieren) 30
7
Abläufe nicht zementieren
UBPML: deklarative Prozeßbeschreibung [error] := { Dauer > 3 Wochen } [caution] := { keine Briefmarken } [caution] := { email-Server down } [warning] := { Dauer > 2 Wochen }
Neuer Antrag
1
Prüfung abgeschlossen
Prüfung Kanal
Antrag
{ Kanal = Erstkontakt }
Bestätigung
[ungeprüft]
[versandt] 1 1
Antrag [unvollständig]
Vervollständigung
Antrag
Antrag
[geprüft] :=
[vollständig]
{Bonität & Verfügbarkeit ermittelt}
Antrag
[angenommen] := {Bonität ok & lieferbar}
31
Antrag [abgelehnt] := {sonst}
Objektorientierung? Objektorientierung!
Handhabung komplexer Systeme
Diagramm visualisiert klare fachliche Aussagen: Es gibt ungeprüfte und geprüfte Anträge. ● Jeder ungeprüfte Antrag wird einer Prüfung unterzogen. ● Ungeprüfte Anträge können unvollständig sein. ● Geprüfte Anträge sind immer vollständig. ● Angenommene Anträge sind vollständig, geprüft, die Bonität ist in Ordnung und die Ware ist lieferbar. ● Dauert die Prüfung länger als 3 Wochen, liegt ein Fehler vor. ● Dauert die Prüfung länger als 2 Wochen, soll gewarnt werden. ●
32
Bild #8, Quelle: wikimedia commons, Nachweis siehe letzte Folie
The se
Objektorientierung? Objektorientierung!
33
8
Objektorientierung? Objektorientierung!
OO : Handhabung komplexer Systeme OO ist nicht OOP
Generalisierung und Spezialisierung Prüfung
Prüfung Nord
Antrag liegt vor
Prüfung Süd
Verkapselung
Antrag Süd liegt vor
Antrag Nord liegt vor
Interface Implementierung
Prüfung
Polymorphie prüf_mal( ); Prüfung
Prüfung Nord
Prüfung Süd
prüf_mal_Nord( );
34
prüf_mal_Süd( );
Prüfung
Prüfung
Einfacher ist es nicht zu machen
BPM/IT & UBPML: zu groß, zu kompliziert? Müssen Sachbearbeiter OO lernen? Antragsprüfung
Business Architect
Enterprise Architect
BigDesignUpFront?
Reporting & Observation Prüfung
Prozeß
Process Engine
Process Architect
Automatische Prüfung
IT Systems
Prozeß
Prozeß
Prozeß
Workflow Application Konstellation
Prüfung
Konstellation
Prozeß Prozeß
Prüfung
System Architect
Konstellation
Prüfung
Konstellation
Mitarbeiter
Prozeß Konstellation
Prüfung
Konstellation
Konstellation
Prüfung
Prüfung
Prozedur Prüfung Aktivität
Last not least:
Aktivität
Konstellation
Konstellation Konstellation
Prozedur
Prozedur
“... we are merely at the baby stages of the infotech revolution...” Tom Peters, Re-imagine!, 2003
35
Aktivität
Aktivität
Aktivität
Aktivität Aktivität
Loser Verbund!
The se Occam
Bild
#9 ,
Qu
elle :
wik im
ed ia
com
mo
ns, N
ac
hw eis
s ie
he
letz te
Fo
lie
Einfacher ist es nicht zu machen
36
9
Blick in die Kristallkugel: UML 3.0, 4.0... ?
Unified Unified Modelling Language
WKD PN
EPK
XPDL
BPMN Bis da www.u hin... bpml. org
WSDL BPEL UBPML UML/Activity
PN DFD StateChart ERD
37
OO Booch
OMT
UML 2.0
1990
UML 0.8
2025
UML 5.0
The se 10
UML Bild #10, Quelle: wikimedia commons, Nachweis siehe letzte Folie
Blick in die Kristallkugel: UML (aber welche Version?)
38
UBPML: Ausblick
Wie geht es weiter?
www.ubpml.org (wiki)
39
Bildnachweis
Die folgenden Bilder sind dem wikimedia commons Projekt entnommen (http://commons.wikimedia.org). Detaillierte Angaben zu den Autoren, den einzelnen Lizenzen sowie den Ihnen zugestandenen Rechten und, im Falle einer Nutzung, auferlegten Pflichten entnehmen Sie bitte der jeweils angegebenen Internetseite. Bild# Lizenz 1
Wikimedia Commons URL http://commons.wikimedia.org/wiki/File:Kampf_Zurichsee.jpg
2
http://commons.wikimedia.org/wiki/File:Blind_monks_examining_an_elephant.jpg
3
http://commons.wikimedia.org/wiki/File:BPMN-DiscussionCycle.jpg http://commons.wikimedia.org/wiki/File:Kellogg,_Frank_Billings_%281856-1937%29.jpg
4
http://commons.wikimedia.org/wiki/File:Bundesarchiv_Bild_183-87625-0001,_Ingenieure_am_Reissbrett.jpg
5
http://commons.wikimedia.org/wiki/File:Russian-Matroshka.jpg
6
http://commons.wikimedia.org/wiki/File:Yin&Yang_trasparent.png
7 8
http://commons.wikimedia.org/wiki/File:Bundesarchiv_Bild_183-54105-0001,_Berlin, _Stralauer_Allee,_Bauarbeiter_Zementmischer_füllend.jpg http://commons.wikimedia.org/wiki/File:Fruits_veggies.png
9
http://commons.wikimedia.org/wiki/File:Rasiermesser.jpg
10
http://commons.wikimedia.org/wiki/File:3DCrystal_ball.png
40