Business Process Modeling Notation – Eine Sprache für Business und IT?bernd.ruecker@camunda.com
Berater, Trainer, Coach„ProcessExecution“SoftwareentwicklerCommitter bei JBoss jBPMBlog: www.bpm-guide.deBernd Rückerbernd.ruecker@camunda.com
camunda services GmbHGanzheitliches BPMBeratungSeminareProcess HostingStandort:     BerlinMitarbeiter:  7
Einige Kunden…
Wie erreichen wir Business-IT-Alignment?
Unsere Welt wird komplexer.
Der Wettbewerbwird härter.
Strategien werden kurzlebiger.
Und Ihre Geschäftsprozesse?BeschaffungProduktionVertriebAbwicklungEntwurf
unklar?
teuer?
unbeweglich?
„Gezieltes BPM steht für zwei Prozentpunkte bei der Umsatzrendite “Prof. Dr. Ayelt KomusQuelle: http://de.sap.info/gezieltes-bpm-steht-fur-zwei-prozentpunkte-bei-der-umsatzrendite/11713
Prozesse im Griff?
Das Prinzip der ProzessautomatisierungEinleitungModelingMonitoring und ReportingTechnisches ProzessmodellHuman Workflow ManagementService Orchestration
Technische Modelle (mit BPEL?)
Technische Modelle (mit BPEL?)<!-- 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>?
Ein Prozessmodell für Business und IT?Ereignisgesteuerte Prozesskette (EPK)„Woran erkenne ich, dass es soweit ist?“„Wieso weiß er Bescheid?“„Muss ich senden/empfangen? Wie?“„Wie ordne ich die Vorgänge zu?“„Was soll ich machen, wenn nichts passiert?„ Ist dies ein gutes oder schlechtes Ende?“
BPMN soll…… wichtige softwaretechnische Aspekte der Prozess-automatisierung repräsentieren (Präzision)… für Nicht-Softwaretechniker verständlich sein (Visualisierung)… der Standard sein!
Eckdaten zu BPMNEntwicklung 2002 von Stephen A. White (IBM)Veröffentlichung durch Business Process Management Initative (BPMI)2005 Übernahme durch die Object Management Group (OMG)Offizieller OMG Standard seit 2006Aktuelle Version: 1.2 (03.01.2009)In der Entwicklung: BPMN 2.0camunda in der „FTF“ der OMG
Tool-Support nimmt zu"Womit modellieren Sie"?Quelle: BPM-Software 2007-2009, camunda services GmbH
BPMN ist der Standard!
Ein erstes Prozessmodell
Mögliche Prozesspfade
Umgang mit unterschiedlichen Ereignissen
Aggregation von DetailabläufenVersandBestellbearbeitungFinanzielle Abwicklung
Teilprozesse aufklappen
Mehrstufige Eskalation
Nicht gut: Regeln im Prozess
Regeln sinnvoll abbilden
Exkurs: Process Engine und Rules Engine
Steuern oder mitspielen?ChoreographieOrchestrierungAutonome AkteureOft zwischen Abteilungen/UnternehmenZentrale SteuerungOft Abteilung/Unternehmen
Orchestrierung: Totale Kontrolle
Choreographie: Interaktion
Choreographie: Versand und AbwicklungPools
Die beiden abstrakten ProzessePools
Lust auf eine schnelle Übung?
Was ist hier das Problem?
(Leidlich) besseres Modell
eBPMR nach Freund/Rücker 2008,u.a. erschienen in: Wirtschaftsinformatik und Management 03/09, GWV VerlagDas erweiterte BPM-Regelkreismodell (eBPMR)BPM-Governance
ModellingMonitoringBusinessITMagic BPM-SuiteEAI / SOAHuman Workflow
Das camunda BPMN-Framework
BPMN ist kompliziertAllgemeine Frage: Wann nehme ich was?Speziell: BPM = Business + ITWir sammeln derzeit viel Praxiserfahrung an beiden FrontenAbleitung von Pattern und VorgehensweisenDokumentation im „Praxishandbuch BPMN“Warum ein „BPMN Framework“?
Ebene 1: Beispiel Bewerbungsmanagement
Das camunda BPMN-Framework
Ebene 2: Sicht des Fachbereichs
Ebene 2: Mit Softwareunterstützung
Ebene 2: Die andere Seite
Ebene 2 (!): Der Glue-Code
Von Ebene 1 zu 2
Prozessanalysten und -ingenieure<!-- 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>ITBusinessFach-bereichITProzessanalystProzessingenieur
Das camunda BPMN-Framework
Es gibt einen entscheidenden Nachteil an der Sache…
… es wird unbequem für denBusiness Analyst!
camunda BPMN Framework BPMN 2.0MetamodellExecutionNeue Diagramme

BPMN - Eine Sprache für Business und IT?

  • 1.
    Business Process ModelingNotation – Eine Sprache für Business und IT?bernd.ruecker@camunda.com
  • 2.
    Berater, Trainer, Coach„ProcessExecution“SoftwareentwicklerCommitterbei JBoss jBPMBlog: www.bpm-guide.deBernd Rückerbernd.ruecker@camunda.com
  • 3.
    camunda services GmbHGanzheitlichesBPMBeratungSeminareProcess HostingStandort: BerlinMitarbeiter: 7
  • 4.
  • 5.
    Wie erreichen wirBusiness-IT-Alignment?
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    „Gezieltes BPM stehtfür zwei Prozentpunkte bei der Umsatzrendite “Prof. Dr. Ayelt KomusQuelle: http://de.sap.info/gezieltes-bpm-steht-fur-zwei-prozentpunkte-bei-der-umsatzrendite/11713
  • 14.
  • 15.
    Das Prinzip derProzessautomatisierungEinleitungModelingMonitoring und ReportingTechnisches ProzessmodellHuman Workflow ManagementService Orchestration
  • 16.
  • 17.
    Technische Modelle (mitBPEL?)<!-- 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>?
  • 18.
    Ein Prozessmodell fürBusiness und IT?Ereignisgesteuerte Prozesskette (EPK)„Woran erkenne ich, dass es soweit ist?“„Wieso weiß er Bescheid?“„Muss ich senden/empfangen? Wie?“„Wie ordne ich die Vorgänge zu?“„Was soll ich machen, wenn nichts passiert?„ Ist dies ein gutes oder schlechtes Ende?“
  • 19.
    BPMN soll…… wichtigesoftwaretechnische Aspekte der Prozess-automatisierung repräsentieren (Präzision)… für Nicht-Softwaretechniker verständlich sein (Visualisierung)… der Standard sein!
  • 20.
    Eckdaten zu BPMNEntwicklung2002 von Stephen A. White (IBM)Veröffentlichung durch Business Process Management Initative (BPMI)2005 Übernahme durch die Object Management Group (OMG)Offizieller OMG Standard seit 2006Aktuelle Version: 1.2 (03.01.2009)In der Entwicklung: BPMN 2.0camunda in der „FTF“ der OMG
  • 21.
    Tool-Support nimmt zu"Womitmodellieren Sie"?Quelle: BPM-Software 2007-2009, camunda services GmbH
  • 22.
    BPMN ist derStandard!
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
    Exkurs: Process Engineund Rules Engine
  • 32.
    Steuern oder mitspielen?ChoreographieOrchestrierungAutonomeAkteureOft zwischen Abteilungen/UnternehmenZentrale SteuerungOft Abteilung/Unternehmen
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
    Lust auf eineschnelle Übung?
  • 38.
    Was ist hierdas Problem?
  • 39.
  • 40.
    eBPMR nach Freund/Rücker2008,u.a. erschienen in: Wirtschaftsinformatik und Management 03/09, GWV VerlagDas erweiterte BPM-Regelkreismodell (eBPMR)BPM-Governance
  • 41.
  • 42.
  • 43.
    BPMN ist kompliziertAllgemeineFrage: Wann nehme ich was?Speziell: BPM = Business + ITWir sammeln derzeit viel Praxiserfahrung an beiden FrontenAbleitung von Pattern und VorgehensweisenDokumentation im „Praxishandbuch BPMN“Warum ein „BPMN Framework“?
  • 44.
    Ebene 1: BeispielBewerbungsmanagement
  • 45.
  • 46.
    Ebene 2: Sichtdes Fachbereichs
  • 47.
    Ebene 2: MitSoftwareunterstützung
  • 48.
    Ebene 2: Dieandere Seite
  • 49.
    Ebene 2 (!):Der Glue-Code
  • 50.
  • 51.
    Prozessanalysten und -ingenieure<!--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>ITBusinessFach-bereichITProzessanalystProzessingenieur
  • 52.
  • 53.
    Es gibt einenentscheidenden Nachteil an der Sache…
  • 54.
    … es wirdunbequem für denBusiness Analyst!
  • 55.
    camunda BPMN FrameworkBPMN 2.0MetamodellExecutionNeue Diagramme