BPMN, BPEL, Process = Workflow Server, Activiti, jBPM,[email protected] = Workflow BPMN,...
Transcript of BPMN, BPEL, Process = Workflow Server, Activiti, jBPM,[email protected] = Workflow BPMN,...
Java Entwickler
Prozess-automatisierung
= Workflow
BPMN, BPEL, Process Server, Activiti, jBPM, …
Was ist Prozessautomatisierung?
…
Das Ganze ist ein BPMN Prozess Als Showcase
für camunda fox online verfügbar
<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 Showcases
für camunda fox + Camel / Mule
Engines & BPMN sind mächtig Showcases
für camunda fox + Camel / Mule
Der Prozess wird sichtbar …im Code…
…und im Fachbereich…
Gemeinsame Sprache und iteratives Vorgehen
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
Missverständnisse & Fehler
WRONG
Missverständnisse & Fehler
WRONG
Daher kommt unsere Vision
BPM + Java
Some code
@Inject
private ProcessEngine engine;
[…]
Deployment deployment = engine.getRepositoryService()
.createDeployment()
.addClasspathResource("diagrams/fox-invoice.bpmn")
.deploy();
engine.getRuntimeService().startProcessInstanceByKey("fox-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 activiti: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");
Best of breed
Java EE 6 Persistenz (JPA), Transaktionen (JTA, EJB3), Clustering, Connectivity (JAX-WS, JAX-RS, JAX-B), UI (JSF), …
camunda fox Prozessautomatisierung, Monitoring, Operations, …
BPMN 2.0 Prozessmodellierung, fachliche Abstimmung, Roundtrip, …
You name it! Beliebige Komponenten aus dem (Java) Kosmos.
DB (H2)
fox platform fox engine
fox-platform auf JBoss 7.1
JBoss AS 7.1
Application 1
Application n
fox-cockpit: Monitoring &
Administration
...
WAR
BPMN 2.0 Standard
Java / Java EE Standard
camunda fox
Activiti Alfresco
ECM
fox-engine
fox-platform community
fox-platform enterprise
fox-cycle
fox-modeler
fox-designer fox-cockpit
Branch
OSS (Apache License)
Enterprise Edition
BPM in a can
BPM cook-it-yourself
Quelle: Zitty, Berlin
Die Zeit ist reif http://www.camunda.com/fox/getting-started/