Gehen wir richtig zur Sache… • EAI/SOA
• Testing
• Error-Handling & TX
• Mehr BPMN & Ausblick
• Q&A
Real-Life Beispiel: Kontoeröfnung
1.
2.
3.
Vereinfacht (für die Demo)
MQ
WS
EJB Service
Das Grundproblem
?
?
?
Eine Möglichkeit: Direkt aufrufen
Services & Resources
WS
Wiederverwendbarer Java Code?
WsDelegate
WS
Beispiel mit Apache CXF
Good idea?
ESB/Integrationsframework als Lösungsansatz
Service
WS JMS REST
Der Demo-Prozess
Demo
Konto- eröffnung
Was gibt’s zu sehen? BPMN 2.0, camunda fox, Mule / Camel Unit Testing
Message vs. process oriented
<serviceTask id="serviceTask1" ...
camel:send="log:test">
<extensionElements>
<camel:payload>
<![CDATA[
<customer><id>${execution.id}...
]]>
</camel:payload>
</extensionElements>
</serviceTask>
Framework vs. Server – auch auf Seite ESB
Application Server App Server Mule
camunda fox
Anwendung
camunda fox
Anwendung
mule
Variante 1: Mule Teil der Anwendung
Variante 3 Mule als Standalone Server
Application Server
camunda fox
Anwendung
mule
Variante 2 Mule Dienst des Application
Server
Demo
Error Handling
& TX
Was gibt’s zu sehen? Asynchronous Continuation BPMN Error Event …
Jobs and Asynchronous Continuations
= Transaction Boundaries
<serviceTask id="service1" name="Generate Invoice"
activiti:class="my.custom.Delegate"
activiti:async="true" />
taskService.complete(id)
1
2
1st TX 3rd TX 2nd TX
Activiti Job Executor Thread
3
Application / Client Thread
activiti:async=‘‘true“
Defa
ults
The JobExecutor
Job Acquisition
Thread
DB Job Runnable Thread
Job Runnable Thread
Job Runnable Thread
Job Runnable Thread
Job Runnable Thread
Job Execution Thread
maxJobsPerAcquisition = 3 waitTimeInMillis = 5 * 1000 lockTimeInMillis = 5 * 60 * 1000 queueSize = 5
corePoolSize = 3 maxPoolSize = 10
retrieve jobs
assign jobs
Executor Service
distribute
job queue
Spreading Process Execution accross multiple Nodes
DB
Activiti Engine
Job Executor
Activiti Engine
Job Executor
Clustering and Job distribution over the Cluster is supported
Transaktionen & Kompensation in BPMN 2.0
Process Engine Deployment
Es gibt noch viel mehr… • UI Mediator
• 4 Augen Prinzip
• Eskalation
• …
siehe Tutorials im
camunda fox user guide
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.
Download
Apache License
fox-engine
fox-platform community
fox-platform enterprise
fox-cycle
fox-modeler
fox-designer fox-cockpit
Getting Started
Anfangen!
www.camunda.com/fox/
https://github.com/camunda/
Projekt-unterstützung & Ressourcen, Partner
Stabilisierte Enterprise Edition Subscription & 24x7 Support
Und wir helfen auch gerne…
Proof Of Concept & Kompakt Workshops
Beispiel: 5 Tage
Training & Coaching
fox, Activiti, BPMN 2.0, …
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: [email protected]
www.bpm-guide.de Der Praxis-Blog zu BPM:
@camunda.com
Geschäftsführer
Bernd Rücker
bernd.ruecker
Advanced Activiti
München, 08.11.2012
Recommended