SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
BPMN 2.0 und Activiti für
Fortgeschrittene
falko.menge@camunda.com
bernd.ruecker@camunda.com
Gehen wir richtig zur Sache…   • EAI/SOA
                               • Testing
                               • Error-Handling & TX
                               • Mehr BPMN &
                                 Ausblick
                               • Q&A
Real-Life Beispiel: Kontoeröfnung

                                    3.




                  1.




             2.
Vereinfacht (für die Demo)

               WS



      MQ




                              EJB
                             Service
Das Grundproblem
                       ?


                   ?
        ?
Eine Möglichkeit: Direkt aufrufen




                    WS



                                    Services &
                                    Resources
Wiederverwendbarer Java Code?



                                WsDelegate


                                   WS
Beispiel mit Apache CXF
Good idea?
ESB/Integrationsframework als Lösungsansatz




                    Service


      REST     WS             JMS
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
Framework vs. Server – auch auf Seite ESB


         mule



     Anwendung                   Anwendung              Anwendung



                            camunda
     camunda fox              fox           mule        camunda fox

   Application Server         Application Server        App Server          Mule




      Variante 1:                 Variante 2                     Variante 3
Mule Teil der Anwendung   Mule Dienst des Application   Mule als Standalone Server
                                    Server
Demo




                        Error
                       Handling
                        & TX




Was gibt’s zu sehen?

Asynchronous
Continuation
BPMN Error Event
…
Jobs and Asynchronous Continuations
= Transaction Boundaries


  Application / Client Thread                     Activiti Job Executor
                                                        Thread
  taskService.complete(id)
                                  2                         3
                      1




                                         activiti:async=‘‘true“
                                1st TX             2nd TX                 3rd TX




  <serviceTask id="service1" name="Generate Invoice"
               activiti:class="my.custom.Delegate"
               activiti:async="true" />
The JobExecutor


                                 DB                                Job
                                                                     Job
                                                                 Runnable
                                                                       Job
                                                                  Runnable
                                                                  ThreadJob
                                                                    Runnable
                                                                   ThreadJob
                    retrieve                                          Runnable
                                                                     ThreadJob
                      jobs                                             Runnable
                                                                       Thread
                                                                         Execution
                                                                         Thread
                                                    distribute            Thread
                     Job              assign
                                       jobs
                  Acquisition
                    Thread                       Executor
                                                  Service
                                                                     job queue



              maxJobsPerAcquisition = 3                   corePoolSize = 3
   Defaults




              waitTimeInMillis = 5 * 1000                 maxPoolSize = 10
              lockTimeInMillis = 5 * 60 * 1000
              queueSize = 5
Spreading Process Execution accross multiple Nodes



                Activiti Engine                  Activiti Engine

             Job Executor                     Job Executor




          Clustering and Job distribution over the Cluster is supported




                                       DB
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
                                           You name it!
                                           Beliebige Komponenten aus dem (Java)
                                           Kosmos.




                                     camunda fox
                                     Prozessautomatisierung,
                                     Monitoring, Operations, …




                                                                 BPMN 2.0
                Java EE 6                                        Prozessmodellierung,
                                                                 fachliche Abstimmung,
                Persistenz (JPA), Transaktionen                  Roundtrip, …
                (JTA, EJB3), Clustering,
                Connectivity (JAX-WS, JAX-RS,
                JAX-B), UI (JSF), …
Anfangen!

                       fox-cockpit       fox-designer

       fox-platform   fox-platform         fox-cycle
        community      enterprise
                                         fox-modeler
       fox-engine




                             www.camunda.com/fox/



                                              Getting
                       Download
                                              Started


                      Apache License     https://github.com/camunda/
Und wir helfen auch gerne…


               Proof Of
               Concept &             Training &
               Kompakt               Coaching
               Workshops

                                     fox, Activiti,
               Beispiel: 5 Tage      BPMN 2.0, …




               Stabilisierte
               Enterprise         Projekt-
               Edition            unterstützung &
                                  Ressourcen,
               Subscription &     Partner
               24x7 Support
Vielen Dank!
camunda services GmbH
 Vielen Dank!                                      Zossener Str. 55-58
                                                   1096 Berlin
                                                       1
                                                   Telefon: +49 30 664 0409-00
                                                   Telefax: +49 30 664 0409-29
                                                   Email: info@camunda.com




                                Bernd Rücker
                                 Geschäftsführer
                      bernd.ruecker@camunda.com


Advanced Activiti
München, 08.11.2012

                                                   Der Praxis-Blog zu BPM:
                                                   www.bpm-guide.de

Weitere ähnliche Inhalte

Ähnlich wie WJAX 2012: Advanced Activiti

20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Droolscamunda services GmbH
 
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationJax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationcamunda services GmbH
 
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Ralf Sigmund
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederChristoph Pickl
 
High Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudHigh Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudAOE
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!OPEN KNOWLEDGE GmbH
 
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...GFU Cyrus AG
 
Enterprise Java Batch mit Spring
Enterprise Java Batch mit SpringEnterprise Java Batch mit Spring
Enterprise Java Batch mit Springdenschu
 

Ähnlich wie WJAX 2012: Advanced Activiti (20)

20110119 activiti jughh
20110119 activiti jughh20110119 activiti jughh
20110119 activiti jughh
 
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
 
JBoss jBPM
JBoss jBPMJBoss jBPM
JBoss jBPM
 
20110203 jug stuttgart
20110203 jug stuttgart20110203 jug stuttgart
20110203 jug stuttgart
 
20110311 activiti mathema
20110311 activiti mathema20110311 activiti mathema
20110311 activiti mathema
 
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationJax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentation
 
20100504 JAX JBoss ESB
20100504 JAX JBoss ESB20100504 JAX JBoss ESB
20100504 JAX JBoss ESB
 
20101117 activiti
20101117 activiti20101117 activiti
20101117 activiti
 
JBoss ESB
JBoss ESBJBoss ESB
JBoss ESB
 
20110223 activiti
20110223 activiti20110223 activiti
20110223 activiti
 
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
 
2011 05-05 activiti
2011 05-05 activiti2011 05-05 activiti
2011 05-05 activiti
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
High Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudHigh Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der Cloud
 
2012 03-30 activiti undjavaee6
2012 03-30 activiti undjavaee62012 03-30 activiti undjavaee6
2012 03-30 activiti undjavaee6
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
 
2012 04-20 activiti undjavaee6
2012 04-20 activiti undjavaee62012 04-20 activiti undjavaee6
2012 04-20 activiti undjavaee6
 
jBPM & Drools
jBPM & DroolsjBPM & Drools
jBPM & Drools
 
Enterprise Java Batch mit Spring
Enterprise Java Batch mit SpringEnterprise Java Batch mit Spring
Enterprise Java Batch mit Spring
 

Mehr von camunda services GmbH

Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operatorscamunda services GmbH
 
Predictive Process Monitoring in Camunda
Predictive Process Monitoring in CamundaPredictive Process Monitoring in Camunda
Predictive Process Monitoring in Camundacamunda services GmbH
 
Camunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process AutomationCamunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process Automationcamunda services GmbH
 
Tips on how to build Camunda Run for production
Tips on how to build Camunda Run for productionTips on how to build Camunda Run for production
Tips on how to build Camunda Run for productioncamunda services GmbH
 
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in UnternehmenBlitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmencamunda services GmbH
 
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...camunda services GmbH
 
Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...camunda services GmbH
 
[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0camunda services GmbH
 
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...camunda services GmbH
 
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...camunda services GmbH
 
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG BankwareProcess Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG Bankwarecamunda services GmbH
 
Process Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss LifeProcess Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss Lifecamunda services GmbH
 
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITProcess Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITcamunda services GmbH
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisencamunda services GmbH
 
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGProcess Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGcamunda services GmbH
 
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native Worldcamunda services GmbH
 

Mehr von camunda services GmbH (20)

Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operators
 
Predictive Process Monitoring in Camunda
Predictive Process Monitoring in CamundaPredictive Process Monitoring in Camunda
Predictive Process Monitoring in Camunda
 
Camunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process AutomationCamunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process Automation
 
Tips on how to build Camunda Run for production
Tips on how to build Camunda Run for productionTips on how to build Camunda Run for production
Tips on how to build Camunda Run for production
 
Process Driven Customer Interaction
Process Driven Customer InteractionProcess Driven Customer Interaction
Process Driven Customer Interaction
 
Exploring Automation in Government
Exploring Automation in GovernmentExploring Automation in Government
Exploring Automation in Government
 
The Pulse of Process Automation
The Pulse of Process AutomationThe Pulse of Process Automation
The Pulse of Process Automation
 
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in UnternehmenBlitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
 
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
 
Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...
 
Camunda BPM 7.13 Webinar
Camunda BPM 7.13 WebinarCamunda BPM 7.13 Webinar
Camunda BPM 7.13 Webinar
 
[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0
 
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
 
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
 
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG BankwareProcess Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG Bankware
 
Process Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss LifeProcess Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss Life
 
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITProcess Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-IT
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisen
 
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGProcess Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
 
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
 

WJAX 2012: Advanced Activiti

  • 1. BPMN 2.0 und Activiti für Fortgeschrittene falko.menge@camunda.com bernd.ruecker@camunda.com
  • 2. Gehen wir richtig zur Sache… • EAI/SOA • Testing • Error-Handling & TX • Mehr BPMN & Ausblick • Q&A
  • 4. Vereinfacht (für die Demo) WS MQ EJB Service
  • 6. Eine Möglichkeit: Direkt aufrufen WS Services & Resources
  • 12. Demo Konto- eröffnung Was gibt’s zu sehen? BPMN 2.0, camunda fox, Mule / Camel Unit Testing
  • 14. Framework vs. Server – auch auf Seite ESB mule Anwendung Anwendung Anwendung camunda camunda fox fox mule camunda fox Application Server Application Server App Server Mule Variante 1: Variante 2 Variante 3 Mule Teil der Anwendung Mule Dienst des Application Mule als Standalone Server Server
  • 15. Demo Error Handling & TX Was gibt’s zu sehen? Asynchronous Continuation BPMN Error Event …
  • 16. Jobs and Asynchronous Continuations = Transaction Boundaries Application / Client Thread Activiti Job Executor Thread taskService.complete(id) 2 3 1 activiti:async=‘‘true“ 1st TX 2nd TX 3rd TX <serviceTask id="service1" name="Generate Invoice" activiti:class="my.custom.Delegate" activiti:async="true" />
  • 17. The JobExecutor DB Job Job Runnable Job Runnable ThreadJob Runnable ThreadJob retrieve Runnable ThreadJob jobs Runnable Thread Execution Thread distribute Thread Job assign jobs Acquisition Thread Executor Service job queue maxJobsPerAcquisition = 3 corePoolSize = 3 Defaults waitTimeInMillis = 5 * 1000 maxPoolSize = 10 lockTimeInMillis = 5 * 60 * 1000 queueSize = 5
  • 18. Spreading Process Execution accross multiple Nodes Activiti Engine Activiti Engine Job Executor Job Executor Clustering and Job distribution over the Cluster is supported DB
  • 21. Es gibt noch viel mehr… • UI Mediator • 4 Augen Prinzip • Eskalation • … siehe Tutorials im camunda fox user guide
  • 22. Best of breed You name it! Beliebige Komponenten aus dem (Java) Kosmos. camunda fox Prozessautomatisierung, Monitoring, Operations, … BPMN 2.0 Java EE 6 Prozessmodellierung, fachliche Abstimmung, Persistenz (JPA), Transaktionen Roundtrip, … (JTA, EJB3), Clustering, Connectivity (JAX-WS, JAX-RS, JAX-B), UI (JSF), …
  • 23. Anfangen! fox-cockpit fox-designer fox-platform fox-platform fox-cycle community enterprise fox-modeler fox-engine www.camunda.com/fox/ Getting Download Started Apache License https://github.com/camunda/
  • 24. Und wir helfen auch gerne… Proof Of Concept & Training & Kompakt Coaching Workshops fox, Activiti, Beispiel: 5 Tage BPMN 2.0, … Stabilisierte Enterprise Projekt- Edition unterstützung & Ressourcen, Subscription & Partner 24x7 Support
  • 26. camunda services GmbH Vielen Dank! Zossener Str. 55-58 1096 Berlin 1 Telefon: +49 30 664 0409-00 Telefax: +49 30 664 0409-29 Email: info@camunda.com Bernd Rücker Geschäftsführer bernd.ruecker@camunda.com Advanced Activiti München, 08.11.2012 Der Praxis-Blog zu BPM: www.bpm-guide.de