BPMN in der Praxis Der Roundtrip mit Open Source Tools
Werdegang der BPMN bis 2002 Entwicklung Stephen A. White, IBM 2002 Veröffentlichung Business Process Management Initiative (BPMI) Seit 2005 Übernahme und Weiterentwicklung Object Management Group (OMG) Aktueller Stand: BPMN 1.2; In der Entwicklung: BPMN 2.0
BPMN 2.0, Status & die Finalization Task Force (FTF)
Warum wollen alle BPMN 2.0?
Typische BPM-Architektur mit BPMN 2.0 BPMN 2.0 Process Administrator Process Analyst Speichern (KPI) Monitoring Process Engineer <xml> <asass>sddsd</sdsd> <sdds>sdsds</sdsds> <sdd> <sddsds>sddsd</fff> </sdd> </ffdfsdf> auch BPMN 2.0 Execution Process Engine (KPI) Reporting Process Manager TaskLists / Portal / Mobile / etc. ESB Rule Engine BPEL etc. Process Participants Legacy / Backend intern / extern
Was macht eine Prozess-Anwendung aus? Prozess-Anwendung BPM Suite Zero Code! Ausführbares Prozessmodell
Oder doch viel mehr? Prozess-Anwendung BPM Suite? Zero Code? Benutzeroberflächen Schnittstellen Geschäftslogik Datenhaltung Business Rules Nicht funktionale Anforderungen Ausführbares Prozessmodell
Beispielprojekt mit Karte und Kompass Erster Prozess im Bereich mit unternehmensweiter SOA-Plattform Verbesserungen SOA-Plattform notwendig
Der Prozess mit Pilotcharakter: DSL-Neukundenbestellung
Technische Umgebung Ausbaustufen für... SOA-Plattform... Prozesse und Services in der SOA jbpm JBoss ESB... JBoss Rules Service Registry... klassische Applicationserver Java-Enterprise-Plattform EJB-Container JBoss Messaging...... Web- Applikationen Web-Plattform Servlet-Container Betriebs-Tools
Und die Teams?
Passt also die Magic BPM Suite? Modelling Monitoring Business IT Magic BPM-Suite Human Workflow EAI / SOA
Warum trotzdem BPMN 2.0? Transparency Business Process Forward Engineering Process Reverse Engineering Process Centric Development Process Monitoring / Reporting IT
Ein Modell für alle? Kunde schickt Bestellung Vertrieb prüft die Bestellung Logistik versendet die Ware Buchhaltung stellt die Rechnung Kunde bezahlt
Prozessmodelle: Verschiedene Zwecke und Zielgruppen! Process Owner Vorstand, Bereichsleiter Prozesslandschaft Process Manager Abteilungs-, Teamleiter Prozess im Überblick Process Participant Sachbearbeiter Eigene Prozessteile Process Analyst Alles (Inhouse) Consultant Process Engineer Technische Umsetzung Softwareentwickler
Prozessmodell Prozessmodell Prozessmodell Prozessmodell Prozessmodell Die einzige Lösung: Ein Prozess Viele Modelle Owner Manager Participant Analyst Engineer Prozess-Realität
camunda BPMN-Framework Prozesslandschaft Ebene 1 Strategisches Prozessmodell Inhalt: Prozess im Überblick Ziel: Schnelles Verständnis Fachlich (Business) Ebene 2 Operatives Prozessmodell Inhalt: Operative Abläufe Ziel: Arbeits- und Umsetzungsgrundlage Technisch (IT) Ebene 3a Technisches Prozessmodell Mit Process Engine Ebene 3b IT-Spezifikation Ebene 4b Implementierung Inhalt: Technische Details Ziel: Umsetzung Ohne Process Engine
camunda BPMN-Framework Prozesslandschaft Ebene 1 Strategisches Prozessmodell Inhalt: Prozess im Überblick Ziel: Schnelles Verständnis Fachlich (Business) Ebene 2 Operatives Prozessmodell Inhalt: Operative Abläufe Ziel: Arbeits- und Umsetzungsgrundlage Technisch (IT) Ebene 3a Technisches Prozessmodell Mit Process Engine Ebene 3b IT-Spezifikation Ebene 4b Implementierung Inhalt: Technische Details Ziel: Umsetzung Ohne Process Engine
Ein Beispiel: Der Recruiting-Prozess Fachabteilung Freie Stelle entstanden Freie Stelle melden Vertrag unterschrieben Stelle besetzt Recruiting-Prozess Unsere Firma Personalabteilung Stellenausschreibung Bewerbungsprüfung Stellenbesetzung Bewerber Bewerbungseinreichung Ebene 1
Die Stellenausschreibung aus Sicht des SB Personal Führungskraft Fachbereich Alles klar? SB Personal Freie Stelle gemeldet Meldung sichten Nein Ja Angaben und Anforderungen erfragen Stelle beschreiben Korrektur erbeten Stellenbeschreibung korrigieren Beschreibung freigegeben Stelle ausschreiben Stelle ausgeschrieben SB Personal Process Participant Ebene 2
Die Stellenausschreibung aus zwei Perspektiven Führungskraft Fachbereich Freie Stelle melden Mehr Infos erforderlich Aufgaben und Anforderungen mitteilen Beschreibung erhalten Personalbedarf Stellenbeschreibung sichten OK? Ja Nein Korrektur anmahnen Stellenbeschreibung freigeben Beschreibung freigegeben SB Personal Führungskraft Fachbereich Alles klar? SB Personal Freie Stelle gemeldet Meldung sichten Nein Ja Angaben und Anforderungen erfragen Stelle beschreiben Korrektur erbeten Stellenbeschreibung korrigieren Beschreibung freigegeben Stelle ausschreiben Ebene 2 Stelle ausgeschrieben
Die Stellenausschreibung aus der Vogelperspektive Führungskraft Fachbereich Freie Stelle melden Mehr Infos erforderlich Aufgaben und Anforderungen mitteilen Beschreibung erhalten Personalbedarf Stellenbeschreibung sichten OK? Ja Nein Korrektur anmahnen Stellenbeschreibung freigeben Beschreibung freigegeben Alles klar? SB Personal Freie Stelle gemeldet Meldung sichten Nein Ja Angaben und Anforderungen erfragen Stelle beschreiben Korrektur erbeten Stellenbeschreibung korrigieren Beschreibung freigegeben Stelle ausschreiben Stelle ausgeschrieben Ebene 2
Die BPM-Lösung aus Sicht des SB Personal Process Engine Alles klar? SB Personal HR-Portal Freie Stelle gemeldet Nein Ja Stelle beschreiben Korrektur erbeten Stellenbeschreibung korrigieren Beschreibung freigegeben Kanäle für Ausschreibung festlegen Ausschreibung anstoßen Sonstiges Angaben und Anforderungen erfragen Ausschreibung erfolgreich Stelle ausgeschrieben SB Personal Process Participant Ebene 2-3
Aus Sicht beider Participants Führungskraft Fachbereich HR-Portal Sonstiges Freie Stelle melden Mehr Infos erforderlich Aufgaben und Anforderungen mitteilen Beschreibung erhalten Personalbedarf Stellenbeschreibung sichten OK? Ja Nein Korrektur anmahnen Stellenbeschreibung freigeben Ausschreibung erfolgreich Stelle ausgeschrieben Process Engine Process Engine Alles klar? SB Personal HR-Portal Freie Stelle gemeldet Nein Ja Stelle beschreiben Korrektur erbeten Stellenbeschreibung korrigieren Beschreibung freigegeben Kanäle für Ausschreibung festlegen Ausschreibung anstoßen Sonstiges Angaben und Anforderungen erfragen Ebene 2-3 Ausschreibung erfolgreich Stelle ausgeschrieben
Die Ableitung des technischen Prozessmodells Führungskraft Fachbereich HR-Portal Sonstiges Freie Stelle melden Mehr Infos erforderlich Aufgaben und Anforderungen mitteilen Beschreibung erhalten Personalbedarf Stellenbeschreibung sichten OK? Ja Nein Korrektur anmahnen Stellenbeschreibung freigeben Ausschreibung erfolgreich Stelle ausgeschrieben Automatisch Ausschreibung durchführen Erfolgsmeldung senden Stelle ausgeschrieben Process Engine SB Personal Stelle beschreiben Nein Stellenbeschreibung korrigieren Ausschreibung anstoßen Führungskraft Stellenbeschreibung prüfen OK? Ja Alles klar? SB Personal HR-Portal Freie Stelle gemeldet Nein Ja Stelle beschreiben Korrektur erbeten Stellenbeschreibung korrigieren Beschreibung freigegeben Kanäle für Ausschreibung festlegen Ausschreibung anstoßen Ebene 2 +3 Sonstiges Aufgaben und Anforderungen erfragen Ausschreibung erfolgreich Stelle ausgeschrieben
Tooling-Beispiel: Das gesamte BPD im Signavio Process Editor
Perspektive für die Führungskraft im Fachbereich
Der Prozess der Process Engine Automatisch Ausschreibung durchführen Erfolgsmeldung senden Stelle ausgeschrieben Process Engine SB Personal Stelle beschreiben Nein Stellenbeschreibung korrigieren Ausschreibung anstoßen Führungskraft Stellenbeschreibung prüfen OK? Ja Developer Process Engineer Ebene 3
Aber: Aktuell wird jbpm verwendet!
Das heißt es existieren verschiedene Modelle? Fraud- Service aufrufen FraudService. checkfraud(customer)?? BPMN-Repository (Signavio) Entwicklungs- Repository (SVN) Repository in Process Engine Modell in der Entwicklung Fachliches Modell Ablaufendes Modell Logisches Modell
Wie kommen die Fraktionen damit zusammen?
Verschiedene Rollen = verschiedene Arbeitsumgebungen Process Participant Eigenen Pool einsehen Status Prozessinstanz im eigenen Pool visualisieren Verknüpfte Dokumente herunterladen... Process Analyst Prozesse im Überblick Verschiedene Sichten auf Prozesse (fachlich, technisch, Detaillierung, ) Koordination mit IT... Process Engineer Technische Umsetzung Softwareentwicklung... Der Betrieb? Deployment Monitoring & Überwachung Eingreifen ein Fehlersituationen...
Mögliches Vorgehen Process Analyst Analyst Process Engineer Fachliches Modell Ebene 2 Engine Pool in Ebene 2 Modell Überführen Ebene 2 Modell in Grundgerüst Ebene 3 Technische Umsetzung Ebene 3 Prozess Technische Änderungen fachlich freigeben
Modeling in Signavio
Create development project from Signavio model
Create development project in SVN
Check it out from SVN in Eclipse
Check it out from SVN in Eclipse
And work on process in Eclipse
Commit changes
Notification of changes
Merging or just approving changes in Signavio has changed
Ja, es existieren verschiedene Modellversionen Na und? Fraud- Service aufrufen FraudService. checkfraud(customer) BPMN-Repository (Signavio) Entwicklungs- Repository (SVN) Repository in Process Engine Modell in der Entwicklung Fachliches Modell Ablaufendes Modell Logisches Modell
Und ist Mapping eigentlich so schlecht?
camunda fox Das geht Process Overview: Order Process Versions Type Version Resp. Repository Status Executable 14 Bernd Activiti phase-out Activiti Explorer Executable 15 Bernd Activiti deployed Activiti Explorer Executable 2243 Falko SVN development Fisheye BPMN BPD 5 Nils Signavio approved Signavio Modeler BPMN BPD 6 Nils Signavio revision Signavio Modeler Jobs & Todos Type Resp. Description Merging Nils Approved technical model raised conflict. Dev Falko New business process modell approved, check feasability camunda fox merging tool Signavio Modeler JIRA
Da sind wir grade dran
Auch das kann ich mir gut vorstellen
Und aus aktuellem Anlass: Welche OSS Process Engine?
Mapping Mögliche Strategie: Process Engine Abstraction Layer ESB Application Services BPMN Modell API Process Engine Binding Connector Binding Services Application ESB
Plus eigene Korrelationsmechanismen signal ActionHandler Fraud Check service correlation key Jbpm correlation info Fraud 476355 token=17,node=5, Fraud Assasin SSE 475632 Correlation token=99,node=27, Store EJB Jbpm Callback Correlation Service Process Fraud SwisServiceClient jbpm Process SOA Platform DslOrderService
Alles interessant. Aber OSS. Zum Ausprobieren? camunda fox is coming! Community Edition Version 1.0 August 2010 fox.camunda.com
Was wir gerade versuchen Wer macht mit?? IST SOLL
Also: Alles wird gut Bei Fragen: bernd.ruecker@camunda.com
Vielen Dank! camunda services GmbH Zossener Str. 55-58 10961 Berlin Telefon: +49 30 664 0409-00 Telefax: +49 30 664 0409-29 Email: info@camunda.com Bernd Rücker Geschäftsführer bernd.ruecker@camunda.com Entwicklertag Karlsruhe, 24.06.2010 Der Praxis-Blog zu BPM: www.bpm-guide.de