54
BPMN in der Praxis Der Roundtrip mit Open Source Tools

BPMN in der Praxis - Java Forum Stuttgart 2017alt.java-forum-stuttgart.de/jfs/2010/folien/D5.pdf · Modelling Monitoring Human Workflow EAI / SOA Business IT Magic BPM-Suite. Warum

  • Upload
    phamanh

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

BPMN in der Praxis

Der Roundtrip mit Open Source Tools

Werdegang der BPMN

bis 2002 EntwicklungStephen A. White, IBM

2002 VeröffentlichungBusiness Process Management Initiative (BPMI)

Seit 2005 Übernahme und WeiterentwicklungObject 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

(KPI)Reporting

Rule Engine

Process Engine

ESBTaskLists /

Portal / Mobile / etc.

Legacy / Backendintern / extern

ProcessParticipants

(KPI) Monitoring

ProcessAnalyst

ProcessEngineer

<xml>

<asass>sddsd</sdsd>

<sdds>sdsds</sdsds>

<sdd>

<sddsds>sddsd</fff>

</sdd>

</ffdfsdf>

BPMN 2.0

auch BPMN 2.0

Speichern

Execution

ProcessAdministrator

ProcessManager

BPEL

etc.

Prozess-Anwendung

Was macht eine „Prozess-Anwendung“ aus?

„BPM Suite“„Zero Code!“

Ausführbares Prozessmodell

Prozess-Anwendung

Oder doch viel mehr?

BPM Suite?Zero

Code?

Ausführbares Prozessmodell

• Benutzeroberflächen• Schnittstellen• Geschäftslogik• Datenhaltung• Business Rules• Nicht funktionale Anforderungen

• …

Erster Prozess im Bereich mit unternehmensweiter SOA-PlattformVerbesserungen SOA-Plattform notwendig

Beispielprojekt mit Karte und Kompass

Der Prozess mit Pilotcharakter: DSL-Neukundenbestellung

Technische Umgebung

SOA-Plattform

Service Registry

jBPM JBoss Rules

...

JBoss ESB

Java-Enterprise-Plattform

EJB-Container JBoss Messaging

...

Web-Plattform

Servlet-Container Betriebs-Tools

Ausbaustufen für...

... Prozesse undServices in der SOA

... klassischeApplicationserver

... Web-Applikationen

Und die Teams?

Passt also die Magic BPM Suite?

Modelling Monitoring

EAI / SOAHuman Workflow

Business

IT

Magic BPM-Suite

Warum trotzdem BPMN 2.0?

ProcessForward

EngineeringProcessReverse

Engineering

ProcessMonitoring /Reporting

Process Centric

Development

Business

IT

Transparency

Ein Modell für alle?

Kunde schickt

Bestellung

Vertrieb prüft die

Bestellung

Logistik

versendet die

Ware

Buchhaltung stellt

die RechnungKunde bezahlt

Prozessmodelle: Verschiedene Zwecke und Zielgruppen!

Process Owner

Vorstand, Bereichsleiter

Process Manager

Abteilungs-, Teamleiter

Process Participant

Sachbearbeiter

Process Analyst

(Inhouse) Consultant

Process Engineer

Softwareentwickler

Prozess-landschaft

Prozess im Überblick

„Eigene“ Prozessteile

Alles

Technische Umsetzung

Die einzige Lösung: Ein Prozess – Viele Modelle

Prozess-Realität

Pro

zessm

odell

Pro

zessm

odell

Pro

zessm

odell

Pro

zessm

odell

Pro

zessm

odell

Owner Manager Participant Analyst Engineer

camunda BPMN-Framework

Ebene 2

Operatives Prozessmodell

Ebene 3a

Technisches

Prozessmodell

Ebene 1

Strategisches

Prozessmodell

Ebene 3b

IT-Spezifikation

Ebene 4b

Implementierung

Prozesslandschaft

Inhalt: Prozess im Überblick

Ziel: Schnelles Verständnis

Inhalt: Operative Abläufe

Ziel: Arbeits- und

Umsetzungsgrundlage

Inhalt: Technische Details

Ziel: Umsetzung

Fachlich

(Business)

Technisch

(IT)

Mit Process Engine

Ohne Process Engine

camunda BPMN-Framework

Ebene 2

Operatives Prozessmodell

Ebene 3a

Technisches

Prozessmodell

Ebene 1

Strategisches

Prozessmodell

Ebene 3b

IT-Spezifikation

Ebene 4b

Implementierung

Prozesslandschaft

Inhalt: Prozess im Überblick

Ziel: Schnelles Verständnis

Inhalt: Operative Abläufe

Ziel: Arbeits- und

Umsetzungsgrundlage

Inhalt: Technische Details

Ziel: Umsetzung

Fachlich

(Business)

Technisch

(IT)

Mit Process Engine

Ohne Process Engine

Ein Beispiel: Der „Recruiting-Prozess“R

ecru

itin

g-P

roze

ss

Un

se

re F

irm

a

Stellen-

ausschreibung

Bewerbungs-

einreichung

Be

we

rbe

r

Bewerbungs-

prüfung

Fa

ch

ab

teilu

ng

Stellen-

besetzung

Freie Stelle

entstanden

Freie Stelle

melden

Pe

rso

na

lab

teilu

ng

Stelle besetzt

Vertrag unterschrieben

Ebene 1

Die Stellenausschreibung aus Sicht des SB Personal

SB

Pe

rso

na

l

Angaben und

Anforderungen

erfragen

Nein

Stelle

beschreibenJa

Stellenbe-

schreibung

korrigieren

Stelle

ausgeschrieben

Alles klar?

Freie Stelle

gemeldet

Korrektur

erbeten

Stelle

ausschreiben

Führungskraft Fachbereich

Beschreibung

freigegeben

Meldung

sichten

SB PersonalProcess Participant Ebene 2

Die Stellenausschreibung aus zwei Perspektiven…

Freie Stelle

melden

hru

ng

skra

ft F

ach

be

reic

h

Personal-

bedarf

Aufgaben und

Anforderungen

mitteilen

Stellenbe-

schreibung

sichten

Korrektur

anmahnen

Stellenbe-

schreibung

freigeben

Nein

JaBeschreibung

freigegeben

OK?

SB Personal

Beschreibung

erhalten

Mehr Infos

erforderlich

SB

Pe

rso

na

l

Angaben und

Anforderungen

erfragen

Nein

Stelle

beschreibenJa

Stellenbe-

schreibung

korrigieren

Stelle

ausgeschrieben

Alles klar?

Freie Stelle

gemeldet

Korrektur

erbeten

Stelle

ausschreiben

Führungskraft Fachbereich

Beschreibung

freigegeben

Meldung

sichten

Ebene 2

Die Stellenausschreibung aus der VogelperspektiveS

B P

ers

on

al

Angaben und

Anforderungen

erfragen

Nein

Stelle

beschreibenJa

Stellenbe-

schreibung

korrigieren

Stelle

ausgeschrieben

Alles klar?

Freie Stelle

gemeldet

Korrektur

erbeten

Stelle

ausschreiben

Beschreibung

freigegeben

Freie Stelle

melden

hru

ng

skra

ft F

ach

be

reic

h

Personal-

bedarf

Aufgaben und

Anforderungen

mitteilen

Stellenbe-

schreibung

sichten

Korrektur

anmahnen

Stellenbe-

schreibung

freigeben

Nein

JaBeschreibung

freigegeben

OK?Beschreibung

erhalten

Mehr Infos

erforderlich

Meldung

sichten

Ebene 2

Die BPM-Lösung aus Sicht des SB PersonalS

B P

ers

on

al

Angaben und

Anforderungen

erfragen

Nein

Stelle

beschreibenJa

Stellenbe-

schreibung

korrigieren

Kanäle für

Ausschreibung

festlegen

Stelle

ausgeschrieben

Alles klar?

Freie Stelle

gemeldet

Korrektur

erbeten

Ausschreibung

anstoßen

Process Engine

Beschreibung

freigegeben

Ausschreibung

erfolgreich

HR

-Po

rta

lS

on

stig

es

SB PersonalProcess Participant Ebene 2-3

Aus Sicht beider Participants

Process Engine

Freie Stelle

melden

hru

ng

skra

ft F

ach

be

reic

h

Personal-

bedarf

Aufgaben und

Anforderungen

mitteilen

Stellenbe-

schreibung

sichten

Korrektur

anmahnen

Stellenbe-

schreibung

freigeben

Nein

Ja

Stelle

ausgeschrieben

OK?Beschreibung

erhalten

Mehr Infos

erforderlich

HR

-Po

rta

lS

on

stig

es

Ausschreibung

erfolgreich

SB

Pe

rso

na

l

Angaben und

Anforderungen

erfragen

Nein

Stelle

beschreibenJa

Stellenbe-

schreibung

korrigieren

Kanäle für

Ausschreibung

festlegen

Stelle

ausgeschrieben

Alles klar?

Freie Stelle

gemeldet

Korrektur

erbeten

Ausschreibung

anstoßen

Process Engine

Beschreibung

freigegeben

Ausschreibung

erfolgreich

HR

-Po

rta

lS

on

stig

es

Ebene 2-3

SB

Pe

rso

na

l

Aufgaben und

Anforderungen

erfragen

Nein

Stelle

beschreibenJa

Stellenbe-

schreibung

korrigieren

Kanäle für

Ausschreibung

festlegen

Stelle

ausgeschrieben

Alles klar?

Freie Stelle

gemeldet

Korrektur

erbeten

Ausschreibung

anstoßen

Beschreibung

freigegeben

Ausschreibung

erfolgreich

HR

-Po

rta

lS

on

stig

es

Freie Stelle

melden

hru

ng

skra

ft F

ach

be

reic

h

Personal-

bedarf

Aufgaben und

Anforderungen

mitteilen

Stellenbe-

schreibung

sichten

Korrektur

anmahnen

Stellenbe-

schreibung

freigeben

Nein

Ja

Stelle

ausgeschrieben

OK?Beschreibung

erhalten

Mehr Infos

erforderlich

HR

-Po

rta

lS

on

stig

es

Ausschreibung

erfolgreich

Pro

ce

ss E

ng

ine

Au

tom

atisch

SB

Pe

rso

na

lF

üh

run

gskra

ft

Stelle

beschreiben

Stellenbe-

schreibung

prüfen

Stellenbe-

schreibung

korrigieren

Nein

Ausschreibung

anstoßen

Ja

Ausschreibung

durchführen

Stelle

ausgeschrieben

OK?

Erfolgsmeldung

senden

Die Ableitung des technischen Prozessmodells

Ebene 2 +3

Tooling-Beispiel: Das gesamte BPD im Signavio Process Editor

Perspektive für die Führungskraft im Fachbereich…

Der Prozess der Process EngineP

roce

ss E

ng

ine

Au

tom

atisch

SB

Pe

rso

na

lF

üh

run

gskra

ft

Stelle

beschreiben

Stellenbe-

schreibung

prüfen

Stellenbe-

schreibung

korrigieren

Nein

Ausschreibung

anstoßen

Ja

Ausschreibung

durchführen

Stelle

ausgeschrieben

OK?

Erfolgsmeldung

senden

DeveloperProcess Engineer

Ebene 3

Aber: Aktuell wird jBPM verwendet!

Das heißt es existieren verschiedene Modelle?

Repository in Process Engine

Fachliches Modell

Modell in der Entwicklung

Ablaufendes Modell

Entwicklungs-Repository (SVN)

BPMN-Repository (Signavio)

??

Logisches Modell

„Fraud-Service

aufrufen“

FraudService.checkFraud(customer)

Wie kommen die Fraktionen damit zusammen?

Verschiedene Rollen = verschiedene ArbeitsumgebungenProcess

Participant

ProcessAnalyst

• Eigenen Pool einsehen• Status Prozessinstanz im eigenen Pool visualisieren

• Verknüpfte Dokumente herunterladen

• ...

• Prozesse im Überblick• Verschiedene Sichten auf Prozesse(fachlich, technisch, Detaillierung, …)

• Koordination mit IT• ...

• Technische Umsetzung• Softwareentwicklung• ...

ProcessEngineer

Der Betrieb • Deployment• Monitoring & Überwachung• Eingreifen ein Fehlersituationen• ...?

Mögliches Vorgehen

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

Process Engineer

Process Analyst Analyst

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?

Repository in Process Engine

Fachliches Modell

Modell in der Entwicklung

Ablaufendes Modell

Entwicklungs-Repository (SVN)

BPMN-Repository (Signavio)

Logisches Modell

„Fraud-Service

aufrufen“

FraudService.checkFraud(customer)

Und ist „Mapping“ eigentlich so schlecht?

camunda fox

Process Overview: Order

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

Process Versions

Jobs & Todos

Type Resp. Description

Merging Nils Approved technical model raised conflict.

camunda fox merging tool

Dev Falko New business processmodell approved, check feasability

Signavio ModelerJIRA

Das geht…

Da sind wir grade dran…

Auch das kann ich mir gut vorstellen…

Und aus aktuellem Anlass: Welche OSS Process Engine?

Mögliche Strategie: Process Engine Abstraction Layer

ProcessEngine

Connector

API

Application Services

Services Application

ESB

ESB

Binding

Binding

Mappin

g

BPMN Modell

Plus eigene Korrelationsmechanismen…

DslOrderServicejBPM Process

ActionHandler

Fraud Assasin

Fraud Check

Process Fraud

SOA Platform

CorrelationService

JbpmCallback

service correlationkey

Jbpm correlation info

Fraud 476355 token=17,node=5, …

SSE 475632 token=99,node=27,…

CorrelationStore EJB

signal

SwisServiceClient

camunda foxis coming!

Community Edition Version 1.0

August 2010

fox.camunda.com

Alles interessant. Aber OSS. Zum Ausprobieren?

Was wir gerade versuchen… Wer macht mit??

IST

SOLL

Also: Alles wird gut

Bei Fragen:[email protected]

Vielen Dank!camunda services GmbHZossener Str. 55-5810961 Berlin

Telefon: +49 30 664 0409-00Telefax: +49 30 664 0409-29

Email: [email protected]

www.bpm-guide.deDer Praxis-Blog zu BPM:

@camunda.com

Geschäftsführer

Bernd Rücker

bernd.ruecker

Entwicklertag

Karlsruhe, 24.06.2010