18. Typische BPM-Architektur mit BPMN 2.0
Process
Administrator
BPMN 2.0
Process
Analyst
Speichern
(KPI) Monitoring
Process
Engineer
<xml>
<asass>sddsd</sdsd>
<sdds>sdsds</sdsds>
<sdd>
<sddsds>sddsd</fff>
</sdd>
</ffdfsdf>
Process Engine
(KPI)
Reporting
Execution
auch BPMN 2.0
TaskLists /
Portal /
Mobile / etc.
B
et PE
c. L
ESB
Process
Participants
Legacy / Backend
intern / extern
Rule
Engine
Process
Manager
29. 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)
30. 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");
31. Process Engine = Infrastruktur
My process application1
Java
Classes
BPMN 2.0
Processes
process
engine (jar)
…
My process
application1
My process
application2
Java
Classes
BPMN 2.0
Processes
process
engine (jar)
…
Java
Classes
BPMN 2.0
Processes
My process application2
Java
Classes
…
BPMN 2.0
Processes
Process Engine
JPA, EJB, JTA
…
Container
Websphere,
WebLogic,
…
32. “Die offene Plattform erlaubt
Best of Breed
uns die Abbildung unserer
individuellen Anforderungen
mit einer Konsequenz, die
geschlossene BPM-Suiten nicht
erreichen können.“
Prozesse
camunda BPM
(Marko Lehn, Teamlead Software Engineering, Zalando
GmbH)
+
Integration
GUI
Reporting
Rules
•
Apache CXF
•
HTML 5, PHP
•
Jasper
•
JBoss Drools
•
Apache Camel
•
•
BIRT
•
IBM ILOG
•
Mule ESB
JSF, Vaadin,
GWT
•
...
•
...
•
Talend ESB
•
IBM ESB
•
Apache CMIS
•
...
•
xyz Portal
Server
•
Swing
•
Orbeon
•
...
Documents
...what ever!
•
Alfresco ECM
•
Java
•
...
•
... (REST)