BPMN 2.0 gehört in den Werkzeugkasten JEDES Java Entwicklers!

Werbung
BPMN 2.0 gehört in den
Werkzeugkasten JEDES Java
Entwicklers!
[email protected]
Bernd Rücker
camunda services GmbH
Was ist Prozessautomatisierung?
…
Das Ganze ist ein BPMN Prozess
Aber auch (und vor allem) Kernprozesse
Zum Beispiel:
 Versicherung: Schadensregulierung
 Telco: DSL-Bestellung
 Bank: Kontoeröffnung
 Onlinehandel: Bestellprozess
 Medien: Medienaufbereitung
 Öffentlich: Patentantrag
…
Prozessautomatisierung mit Process Engine
<process id="invoice" isExecutable="true">
<startEvent name="Rechnung eingegangen" />
<userTask name="Rechnung freigeben" />
<exclusiveGateway name="Freigabe erfolgt?"
...
Monitoring und
Reporting
Ausführbares
Prozessmodell
Process Engine
Messung der
Durchlaufzeit
Human Workflow
Management
AufgabenZuweisung
Service-Call
Service-Call
AufgabenZuweisung
Service
Orchestration
Prozessbeteiligter
IT-System
IT-System
Prozessbeteiligter
BPMN Process Engines sind mächtig
Wartezustände
Timer
(incl.
Parallelisierung)
Human
Tasks
Der Prozess wird sichtbar
…im
Fachbereich…
…im Code…
Der Reflex…
The Magic Process Engine?
Das funktioniert leider nicht*
* Für Kernprozesse
Zero Code Layer
kompliziert
eingeschränkt
eingeschränkt
proprietär
Fachbereich
Software
Entwickler
Unsere Vision
BPM + Java
IDE Integration
BPMN 2.0 for Business-IT-Alignment
My BPMN 2.0
Modeler
Denn was wir nicht mehr wollen:
Ich Kunde,
Du Knecht!
Fachkonzept
Denk doch
mal mit!
BPMN 2.0 Methodik
1
Biz
IT
2
3a
3b
4
BPMN-Methodik
(c) camunda services GmbH
Anwender
Technischer
Prozess
Anwender
Auch die IT darf mitmachen!
Mit camunda BPM können wir
unser vorhandenes Java Knowhow nutzen um schnell und
einfach leichtgewichtige
Prozesslösungen zu bauen.
(Mahmut Izci, Technische Leitung
IT, freenet.de GmbH)
Embeddable Process Engine
@Inject
ProcessEngine engine;
Embeddable Engine
CDI / Spring
(if you want)
@Inject
private ProcessEngine engine;
[…]
Deployment deployment = engine.getRepositoryService()
.createDeployment()
.addClasspathResource("invoice.bpmn")
.deploy();
Services to talk
to the engine
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);
Use TX / JTA /
EJB
(if you want)
Some code
Process XML refers
CDI/Spring bean
or Java Class
<process ...>
<serviceTask camunda:delegateExpression="#{svnService}"
name="PDF in SVN ablegen">
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");
Process Engine = Infrastruktur
My process application1
Java
Classes
BPMN 2.0
Processes
process
engine (jar)
…
My process application2
Java
Classes
BPMN 2.0
Processes
process
engine (jar)
…
My process
application1
My process
application2
Java
Classes
Java
Classes
BPMN 2.0
Processes
BPMN 2.0
Processes
Process Engine
JPA, EJB, JTA
…
…
Container
Websphere,
WebLogic,
…
Problems of existing BPM-Suites
Your IT
Infrastructure
BPM
Suite
Flexibilität und Integration ist gefragt
camunda
BPM
Your 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.)
Zum Beispiel Remoting/WebService
Integration
ESB
+ z.B, Apache CXF
Generic
Implemenation
Ein spannender Indikator: Anzahl Mitarbeiter
500.000
IBM
Oracle
SAP
camunda
Quelle: Wikipedia
Die Skala geändert
Die wollen wir bei
BPM mitnehmen!
10.000.000
IBM
Oracle
SAP
camunda
Java
Quelle: Wikipedia
OSS BPM
 camunda BPM
 Activiti
 JBoss jBPM
 Bonita
…
Loslegen! www.camunda.org
enterprise
ready
Learn BPM
and BPMN
Open Source
(Apache License)
Based on
Standards
GET IT
NOW!
camunda BPM Komponenten
WebLogic
WebSphere
Glassfish
Tomcat
JBoss
Am Ball bleiben auf www.camunda.org
Twitter
#camunda
@camundabpm
Mitmachen!
Wer macht sowas schon heute?
…und viele mehr…
Produktisierung
Why BPMN belongs in the toolbox of every Java developer
X
it‘s easy
it‘s visible
it connects
Quelle: Zitty, Berlin
Vielen Dank!
camunda services GmbH
Zossener Str. 55-58
10961 Berlin
Vielen Dank!
Telefon: +49 30 664 0409-00
Telefax: +49 30 664 0409-29
Email: [email protected]
Bernd Rücker
Geschäftsführer
BPMN 2.0 gehört in den
Werkzeugkasten JEDES Java
Entwicklers!
[email protected]
Karlsruhe, 06.06.2013
Der Praxis-Blog zu BPM:
www.bpm-guide.de
Herunterladen