vortrag auf der seacon 2013 in hamburg: prozessautomatisierung mit bpmn 2.0 und java
Post on 10-Dec-2014
813 Views
Preview:
DESCRIPTION
TRANSCRIPT
Prozessautomatisierung mit BPMN 2.0 und Java
bernd.ruecker@camunda.com
Bernd Rücker
camunda services GmbH
Demo
Was ist Prozessautomatisierung
mit BPMN 2.0
<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
Engines & BPMN sind mächtig
Der Prozess wird sichtbar …im Code…
…im Fachbereich…
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
Was oft dahintersteckt
Und die Hersteller auch verkaufen
Business User
Software Developer
Missverständnisse & Fehler
Missverständnisse & Fehler
WRONG
Unsere Vision
BPM + Java
Embeddable Process Engine
@Inject
ProcessEngine engine;
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)
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");
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, …
Best of breed
ESB
Integration
Zum Beispiel Remoting/WebService
Generic Implemenation
+ z.B, Apache CXF
ESB
Integration
Zum Beispiel Remoting/WebService
Generic Implemenation
+ z.B, Apache CXF
ESB
Integration
Zum Beispiel Remoting/WebService
Generic Implemenation
+ z.B, Apache CXF
Best of breed
Beispiel Patentantrag
Dokumenteneingang strukturiert & IT-unterstützt
In manchen Bereichen strukturiert
In anderen Bereichen unstrukturiert
Geschäfts- Verantwortlicher
(Knowledge-Worker)
Geschäft / Kontext (Case)
Strukturierte Vorgäng
Gesamtvorgehen ist unstrukturiert
Rote & blaue Bereiche
Quelle: Gerhard Wohland - Denkwerkzeuge der Höchstleister, Murmann 2007
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
Apropos Toolchain & IDE Integration
BPMN 2.0 for Business-IT-Alignment
My BPMN 2.0 Modeler
Denn was wir nicht mehr wollen:
Fachkonzept
Ich Kunde, Du Knecht!
Denk doch mal mit!
BPMN 2.0 Methodik 2
3a
1
3b
4
Biz
IT
BPMN-Methodik(c) camunda services GmbH
Anwender
Anwender
Technischer Prozess
Das operative Prozessmodell gemeinsam entwickeln
Entwickler / Architekten Fach-
anwender
Organisatoren / Business Analysten
so erlebt z.B. bei:
Wenn ihr direkt loslegen wollt:
Open Source (Apache License)
enterprise ready
Based on Standards
GET IT NOW!
Learn BPM and BPMN
camunda BPM Komponenten
Glassfish
Tomcat
JBoss
WebSphere
WebLogic
Auf camunda.org…
Patterns & Best Practices bernd.ruecker@camunda.com
Wie kann Ich mit-REDEN?
Mit-MACHEN!
Wer macht sowas schon heute?
…und viele mehr…
Produktisierung
Quelle: Zitty, Berlin
Vielen Dank!
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
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
top related