42
Prozessautomatisierung mit BPMN 2.0 und Java [email protected]

Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Embed Size (px)

DESCRIPTION

Session siehe http://www.sigs-datacom.de/seacon2013/konferenz/sessiondetails.html?tx_mwconferences_pi1[showUid]=1154&tx_mwconferences_pi1[anchor]=%23Fr12&tx_mwconferences_pi1[s]=0

Citation preview

Page 1: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Prozessautomatisierung mit BPMN 2.0 und Java

[email protected]

Page 2: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Bernd Rücker

camunda services GmbH

Page 3: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Demo

Was ist Prozessautomatisierung

mit BPMN 2.0

Page 4: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

<process id="invoice" isExecutable="true">

<startEvent name="Rechnung eingegangen" />

<userTask name="Rechnung freigeben" />

<exclusiveGateway name="Freigabe erfolgt?"

...

Aufgaben-

ZuweisungService-Call Service-Call

Aufgaben-

Zuweisung

Process Engine

Prozessbeteiligter IT-System IT-System Prozessbeteiligter

Messung der

Durchlaufzeit

Monitoring und Reporting

Prozessautomatisierung mit Process Engine

Ausführbares Prozessmodell

Human Workflow Management

Service Orchestration

Page 5: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Engines & BPMN sind mächtig

Page 6: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Der Prozess wird sichtbar …im Code…

…im Fachbereich…

Page 7: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Was man möchte

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

Semantik: logisch-abstrakt

Inhalt: Operative Abläufe

Ziel: Abstimmung von Details

Semantik: physisch-konkret

Inhalt: Technische Details

Ziel: Umsetzung

Semantik: physisch-konkret

Fachlich

(Business)

Technisch

(IT)

Mit Process Engine

Ohne Process Engine

Page 8: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Was oft dahintersteckt

Page 9: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Und die Hersteller auch verkaufen

Business User

Software Developer

Page 10: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Missverständnisse & Fehler

Page 11: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Missverständnisse & Fehler

WRONG

Page 12: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java
Page 13: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Unsere Vision

BPM + Java

Page 14: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Embeddable Process Engine

@Inject

ProcessEngine engine;

Page 15: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Embeddable Engine

@Inject

private ProcessEngine engine;

[…]

Deployment deployment = engine.getRepositoryService()

.createDeployment()

.addClasspathResource("invoice.bpmn")

.deploy();

engine.getRuntimeService().startProcessInstanceByKey("invoice");

List<Task> list = engine.getTaskService().createTaskQuery().list();

HashMap<String, Object> variables = new HashMap<String, Object>();

variables.put("approver", "bernd");

engine.getTaskService().complete(list.get(0).getId(), variables);

CDI / Spring (if you want)

Services to talk to the engine

Use TX / JTA / EJB

(if you want)

Page 16: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Some code

<process ...>

<serviceTask camunda:delegateExpression="#{svnService}"

name="PDF in SVN ablegen">

Process XML refers CDI/Spring bean

or Java Class

Code is executed when process instances runs

through

@Named("svnService")

public class StorePDFDelegate implements JavaDelegate {

public void execute(DelegateExecution execution) throws Exception {

String someData = (String) execution.getVariable("someData");

Page 17: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Process Engine = Infrastruktur

Process Engine

Container

My process application2

Java Classes

BPMN 2.0 Processes

JPA, EJB, JTA …

My process application1

Java Classes

BPMN 2.0 Processes

My process application1

process engine (jar)

Java Classes

BPMN 2.0 Processes

… My process application2

process engine (jar)

Java Classes

BPMN 2.0 Processes

Websphere, WebLogic, …

Page 18: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Best of breed

Page 19: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

ESB

Integration

Zum Beispiel Remoting/WebService

Generic Implemenation

+ z.B, Apache CXF

Page 20: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

ESB

Integration

Zum Beispiel Remoting/WebService

Generic Implemenation

+ z.B, Apache CXF

Page 21: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

ESB

Integration

Zum Beispiel Remoting/WebService

Generic Implemenation

+ z.B, Apache CXF

Page 22: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Best of breed

Page 23: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Beispiel Patentantrag

Page 24: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Dokumenteneingang strukturiert & IT-unterstützt

In manchen Bereichen strukturiert

Page 25: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

In anderen Bereichen unstrukturiert

Geschäfts- Verantwortlicher

(Knowledge-Worker)

Geschäft / Kontext (Case)

Strukturierte Vorgäng

Gesamtvorgehen ist unstrukturiert

Page 26: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Rote & blaue Bereiche

Quelle: Gerhard Wohland - Denkwerkzeuge der Höchstleister, Murmann 2007

Page 27: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Nahtlose Integration

IT infrastructure

camunda BPM

• Components (BPM, ESB, BRM etc.) • Technologies (UI, Persistence etc.) • Programming Model (Java EE, Spring, REST etc.) • Test Automation (JUnit, Atmosphere etc.) • Continues Integration (Jenkins etc.) • Runtime Container (Tomcat, JBoss, WAS etc.) • IDE (Eclipse, etc.)

BPM Suite

IT infrastructure

Page 28: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Apropos Toolchain & IDE Integration

Page 29: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

BPMN 2.0 for Business-IT-Alignment

My BPMN 2.0 Modeler

Page 30: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Denn was wir nicht mehr wollen:

Fachkonzept

Ich Kunde, Du Knecht!

Denk doch mal mit!

Page 31: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

BPMN 2.0 Methodik 2

3a

1

3b

4

Biz

IT

BPMN-Methodik(c) camunda services GmbH

Anwender

Anwender

Technischer Prozess

Page 32: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Das operative Prozessmodell gemeinsam entwickeln

Entwickler / Architekten Fach-

anwender

Organisatoren / Business Analysten

so erlebt z.B. bei:

Page 33: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Wenn ihr direkt loslegen wollt:

Open Source (Apache License)

enterprise ready

Based on Standards

GET IT NOW!

Learn BPM and BPMN

Page 34: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

camunda BPM Komponenten

Glassfish

Tomcat

JBoss

WebSphere

WebLogic

Page 35: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Auf camunda.org…

Patterns & Best Practices [email protected]

Page 36: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Wie kann Ich mit-REDEN?

Page 37: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Mit-MACHEN!

Page 38: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Wer macht sowas schon heute?

…und viele mehr…

Page 39: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Produktisierung

Page 40: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Quelle: Zitty, Berlin

Page 41: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Vielen Dank!

Page 42: Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 und Java

Vielen Dank! camunda services GmbH Zossener Str. 55-58 10961 Berlin

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

Email: [email protected]

www.bpm-guide.de Der Praxis-Blog zu BPM:

@camunda.com

Geschäftsführer

Bernd Rücker

bernd.ruecker

Prozessautomatisierung mit BPMN 2.0 und Java

Hamburg, 17.05.2013