SlideShare ist ein Scribd-Unternehmen logo

20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM

camunda services GmbH
camunda services GmbH
camunda services GmbHcamunda services GmbH

20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM

1 von 49
Die Process Virtual Machine
   Das Hibernate des BPM?

      Matheman Herbstcampus
           Nürnberg, 17.09.2008
           Nürnberg 17 09 2008
   bernd.ruecker@camunda.com
Bernd Rücker
  Wer bin ich?

      • Berater, Trainer, Coach
      • Softwareentwickler
      • Committer im JBoss jBPM-Projekt
                             j       j
      • Themen: BPM, SOA, Process Execution
        (jBPM, BPEL, XPDL
        (jBPM BPEL XPDL, …), Java EE
                                )
      • Eigene Trainings zu Process Execution,
        BPMN, BPM-Software,
        BPMN BPM Software …




Bernd Rücker / bernd.ruecker@camunda.com / 2
Agenda
  Geschäftsprozess und Regeln

      •     Einführung BPM (Business Process Management)
      •     Die Process Virtual Machine (PVM)
      •     j
            jBPM jPDL 3
                  j
      •     Beispielprozess mit Demo
      •     Fazit




Bernd Rücker / bernd.ruecker@camunda.com / 3
Geschäftsprozesse & Software
  Der Status Quo in manchen Unternehmen




                      GUI
                                                       Paper            Email

                                               Gui 1            Gui 2                  Gui
                                                                                       G i3


                      Software

                                                                 Kunden             SAP
                                                               Komponente          Server


                                                                            EAI-Tool
                                       Web-Service




Bernd Rücker / bernd.ruecker@camunda.com / 4
Ein „digitaler“ Prozess
  mit Business Process Engine



                                               Δ Durchlaufzeit




                                    Task           Service            Task
                                  Zuweisung         Aufruf          Zuweisung



                Process Engine
                                                      IT

                          Human W kfl
                          H     Workflow            EAI          Human W kfl
                                                                 H     Workflow
                                                    SOA




Bernd Rücker / bernd.ruecker@camunda.com / 5
Process Execution
  Business Process Engine

                               1.) Aufgabe erzeugen         1.) System aufrufen / Message
                               2.) Aufgabe abschließen      2.) Asynchrone Antwort als Message




 Client                            Tasklist               Externes
                                                           System
                                                                                                 Process Execution Engine
        Transaction / Request


                                                                                    …                    Zeit


                                                    process execution




                                     Task                     Service                  Task
                                   Zuweisung                   Aufruf                Zuweisung




Bernd Rücker / bernd.ruecker@camunda.com / 6

Más contenido relacionado

Was ist angesagt?

BPMN - eine Sprache für Business und IT?
BPMN - eine Sprache für Business und IT?BPMN - eine Sprache für Business und IT?
BPMN - eine Sprache für Business und IT?camunda services GmbH
 
BPMN - Eine Sprache für Business und IT?
BPMN - Eine Sprache für Business und IT?BPMN - Eine Sprache für Business und IT?
BPMN - Eine Sprache für Business und IT?camunda services GmbH
 
Open Source Workflowmanagement mit BPMN und CMMN
Open Source Workflowmanagement mit BPMN und CMMNOpen Source Workflowmanagement mit BPMN und CMMN
Open Source Workflowmanagement mit BPMN und CMMNcamunda services GmbH
 
Camunda Community Day_Wiener BPM Offensive
Camunda Community Day_Wiener BPM OffensiveCamunda Community Day_Wiener BPM Offensive
Camunda Community Day_Wiener BPM Offensivecamunda services GmbH
 
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
 
Community Meeting Wien - Camunda Intro
Community Meeting Wien - Camunda IntroCommunity Meeting Wien - Camunda Intro
Community Meeting Wien - Camunda Introcamunda services GmbH
 
20110505 doag bpm_workshop_4
20110505 doag bpm_workshop_420110505 doag bpm_workshop_4
20110505 doag bpm_workshop_4Jens Hündling
 
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...camunda services GmbH
 
201100927 doag sig_bpm_slideshare
201100927 doag sig_bpm_slideshare201100927 doag sig_bpm_slideshare
201100927 doag sig_bpm_slideshareJens Hündling
 

Was ist angesagt? (20)

Camunda BPM 7.2 - Deutsch
Camunda BPM 7.2 - DeutschCamunda BPM 7.2 - Deutsch
Camunda BPM 7.2 - Deutsch
 
BPMN - eine Sprache für Business und IT?
BPMN - eine Sprache für Business und IT?BPMN - eine Sprache für Business und IT?
BPMN - eine Sprache für Business und IT?
 
20100118 BPMN 2.0 auf der OOP
20100118 BPMN 2.0 auf der OOP20100118 BPMN 2.0 auf der OOP
20100118 BPMN 2.0 auf der OOP
 
20070705 JFS BPM mit JBoss jBPM
20070705 JFS BPM mit JBoss jBPM20070705 JFS BPM mit JBoss jBPM
20070705 JFS BPM mit JBoss jBPM
 
BPMN - Eine Sprache für Business und IT?
BPMN - Eine Sprache für Business und IT?BPMN - Eine Sprache für Business und IT?
BPMN - Eine Sprache für Business und IT?
 
Process Monitoring mit Camunda
Process Monitoring mit Camunda Process Monitoring mit Camunda
Process Monitoring mit Camunda
 
20080716 BPMN – Kurzeinfuehrung
20080716 BPMN – Kurzeinfuehrung20080716 BPMN – Kurzeinfuehrung
20080716 BPMN – Kurzeinfuehrung
 
WJAX 2012: BPMN in der Praxis
WJAX 2012: BPMN in der PraxisWJAX 2012: BPMN in der Praxis
WJAX 2012: BPMN in der Praxis
 
Open Source Workflowmanagement mit BPMN und CMMN
Open Source Workflowmanagement mit BPMN und CMMNOpen Source Workflowmanagement mit BPMN und CMMN
Open Source Workflowmanagement mit BPMN und CMMN
 
Camunda Community Day_Wiener BPM Offensive
Camunda Community Day_Wiener BPM OffensiveCamunda Community Day_Wiener BPM Offensive
Camunda Community Day_Wiener BPM Offensive
 
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
 
Sneak Preview: Camunda Optimize
Sneak Preview: Camunda OptimizeSneak Preview: Camunda Optimize
Sneak Preview: Camunda Optimize
 
JBoss jBPM
JBoss jBPMJBoss jBPM
JBoss jBPM
 
1&1 de
1&1 de1&1 de
1&1 de
 
Community Meeting Wien - Camunda Intro
Community Meeting Wien - Camunda IntroCommunity Meeting Wien - Camunda Intro
Community Meeting Wien - Camunda Intro
 
20110505 doag bpm_workshop_4
20110505 doag bpm_workshop_420110505 doag bpm_workshop_4
20110505 doag bpm_workshop_4
 
2012 04-18 bpmn 2
2012 04-18 bpmn 22012 04-18 bpmn 2
2012 04-18 bpmn 2
 
Iteratec: Vom Dokument zum Workflow
Iteratec: Vom Dokument zum WorkflowIteratec: Vom Dokument zum Workflow
Iteratec: Vom Dokument zum Workflow
 
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
 
201100927 doag sig_bpm_slideshare
201100927 doag sig_bpm_slideshare201100927 doag sig_bpm_slideshare
201100927 doag sig_bpm_slideshare
 

Destacado

People–Power-Process
People–Power-ProcessPeople–Power-Process
People–Power-ProcessRainer Sax
 
Infografiken erstellen – mit Powerpoint und anderen Tools
Infografiken erstellen – mit Powerpoint und anderen ToolsInfografiken erstellen – mit Powerpoint und anderen Tools
Infografiken erstellen – mit Powerpoint und anderen ToolsKatja Evertz
 
#LeanInTogether: How to Be a Workplace MVP
#LeanInTogether: How to Be a Workplace MVP#LeanInTogether: How to Be a Workplace MVP
#LeanInTogether: How to Be a Workplace MVPLean In
 
Guided Reading: Making the Most of It
Guided Reading: Making the Most of ItGuided Reading: Making the Most of It
Guided Reading: Making the Most of ItJennifer Jones
 
Mobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalMobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalAleyda Solís
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Destacado (6)

People–Power-Process
People–Power-ProcessPeople–Power-Process
People–Power-Process
 
Infografiken erstellen – mit Powerpoint und anderen Tools
Infografiken erstellen – mit Powerpoint und anderen ToolsInfografiken erstellen – mit Powerpoint und anderen Tools
Infografiken erstellen – mit Powerpoint und anderen Tools
 
#LeanInTogether: How to Be a Workplace MVP
#LeanInTogether: How to Be a Workplace MVP#LeanInTogether: How to Be a Workplace MVP
#LeanInTogether: How to Be a Workplace MVP
 
Guided Reading: Making the Most of It
Guided Reading: Making the Most of ItGuided Reading: Making the Most of It
Guided Reading: Making the Most of It
 
Mobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalMobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigital
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Ähnlich wie 20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM

JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source JavaJBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Javacamunda services GmbH
 
20080421 JAX BPM und SOA - Prozesse sind keine Workflows
20080421 JAX BPM und SOA - Prozesse sind keine Workflows20080421 JAX BPM und SOA - Prozesse sind keine Workflows
20080421 JAX BPM und SOA - Prozesse sind keine Workflowscamunda services GmbH
 
20110505 doag bpm_workshop_1
20110505 doag bpm_workshop_120110505 doag bpm_workshop_1
20110505 doag bpm_workshop_1Jens Hündling
 
IT-Service Management nach ITIL
IT-Service Management nach ITILIT-Service Management nach ITIL
IT-Service Management nach ITILGFU Cyrus AG
 
20110505 doag bpm_workshop_2
20110505 doag bpm_workshop_220110505 doag bpm_workshop_2
20110505 doag bpm_workshop_2Jens Hündling
 
X days12 im- rubip_henkt
X days12 im- rubip_henktX days12 im- rubip_henkt
X days12 im- rubip_henktTorsten Henke
 
20080421 JAX BPMN - UML der Geschaeftsprozesse
20080421 JAX BPMN - UML der Geschaeftsprozesse20080421 JAX BPMN - UML der Geschaeftsprozesse
20080421 JAX BPMN - UML der Geschaeftsprozessecamunda services GmbH
 
BPMN 2.0 und die X4 BPM Suite
BPMN 2.0 und die X4 BPM SuiteBPMN 2.0 und die X4 BPM Suite
BPMN 2.0 und die X4 BPM SuiteSoftProject GmbH
 
Integrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikIntegrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikDirk Slama
 

Ähnlich wie 20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM (20)

20090204 JUG BB Jbpm und Drools
20090204 JUG BB Jbpm und Drools20090204 JUG BB Jbpm und Drools
20090204 JUG BB Jbpm und Drools
 
Bpmn roundtrip
Bpmn roundtripBpmn roundtrip
Bpmn roundtrip
 
20091014 J Bpm4 Hamburg
20091014 J Bpm4 Hamburg20091014 J Bpm4 Hamburg
20091014 J Bpm4 Hamburg
 
2012 05-30 camunda fox de
2012 05-30 camunda fox  de2012 05-30 camunda fox  de
2012 05-30 camunda fox de
 
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source JavaJBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
 
Bpmn2010
Bpmn2010Bpmn2010
Bpmn2010
 
20080421 JAX BPM und SOA - Prozesse sind keine Workflows
20080421 JAX BPM und SOA - Prozesse sind keine Workflows20080421 JAX BPM und SOA - Prozesse sind keine Workflows
20080421 JAX BPM und SOA - Prozesse sind keine Workflows
 
20110505 doag bpm_workshop_1
20110505 doag bpm_workshop_120110505 doag bpm_workshop_1
20110505 doag bpm_workshop_1
 
IT-Service Management nach ITIL
IT-Service Management nach ITILIT-Service Management nach ITIL
IT-Service Management nach ITIL
 
2011 11-21 BPMN_Luzern_JakobFreund
2011 11-21 BPMN_Luzern_JakobFreund2011 11-21 BPMN_Luzern_JakobFreund
2011 11-21 BPMN_Luzern_JakobFreund
 
2011 05-05 bpmn 2
2011 05-05 bpmn 22011 05-05 bpmn 2
2011 05-05 bpmn 2
 
20110505 doag bpm_workshop_2
20110505 doag bpm_workshop_220110505 doag bpm_workshop_2
20110505 doag bpm_workshop_2
 
mühlnickel beit_PechaKucha
mühlnickel beit_PechaKuchamühlnickel beit_PechaKucha
mühlnickel beit_PechaKucha
 
X days12 im- rubip_henkt
X days12 im- rubip_henktX days12 im- rubip_henkt
X days12 im- rubip_henkt
 
20080421 JAX BPMN - UML der Geschaeftsprozesse
20080421 JAX BPMN - UML der Geschaeftsprozesse20080421 JAX BPMN - UML der Geschaeftsprozesse
20080421 JAX BPMN - UML der Geschaeftsprozesse
 
20110223 agiles bpm
20110223 agiles bpm20110223 agiles bpm
20110223 agiles bpm
 
20110203 jug stuttgart
20110203 jug stuttgart20110203 jug stuttgart
20110203 jug stuttgart
 
BPMN 2.0 und die X4 BPM Suite
BPMN 2.0 und die X4 BPM SuiteBPMN 2.0 und die X4 BPM Suite
BPMN 2.0 und die X4 BPM Suite
 
20110311 activiti mathema
20110311 activiti mathema20110311 activiti mathema
20110311 activiti mathema
 
Integrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikIntegrierte BPM Projektmethodik
Integrierte BPM Projektmethodik
 

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
 

20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM

  • 1. Die Process Virtual Machine Das Hibernate des BPM? Matheman Herbstcampus Nürnberg, 17.09.2008 Nürnberg 17 09 2008 bernd.ruecker@camunda.com
  • 2. Bernd Rücker Wer bin ich? • Berater, Trainer, Coach • Softwareentwickler • Committer im JBoss jBPM-Projekt j j • Themen: BPM, SOA, Process Execution (jBPM, BPEL, XPDL (jBPM BPEL XPDL, …), Java EE ) • Eigene Trainings zu Process Execution, BPMN, BPM-Software, BPMN BPM Software … Bernd Rücker / bernd.ruecker@camunda.com / 2
  • 3. Agenda Geschäftsprozess und Regeln • Einführung BPM (Business Process Management) • Die Process Virtual Machine (PVM) • j jBPM jPDL 3 j • Beispielprozess mit Demo • Fazit Bernd Rücker / bernd.ruecker@camunda.com / 3
  • 4. Geschäftsprozesse & Software Der Status Quo in manchen Unternehmen GUI Paper Email Gui 1 Gui 2 Gui G i3 Software Kunden SAP Komponente Server EAI-Tool Web-Service Bernd Rücker / bernd.ruecker@camunda.com / 4
  • 5. Ein „digitaler“ Prozess mit Business Process Engine Δ Durchlaufzeit Task Service Task Zuweisung Aufruf Zuweisung Process Engine IT Human W kfl H Workflow EAI Human W kfl H Workflow SOA Bernd Rücker / bernd.ruecker@camunda.com / 5
  • 6. Process Execution Business Process Engine 1.) Aufgabe erzeugen 1.) System aufrufen / Message 2.) Aufgabe abschließen 2.) Asynchrone Antwort als Message Client Tasklist Externes System Process Execution Engine Transaction / Request … Zeit process execution Task Service Task Zuweisung Aufruf Zuweisung Bernd Rücker / bernd.ruecker@camunda.com / 6
  • 7. Integration: BPM & SOA Quelle: Nicolai Josuttis e o t Bernd Rücker / bernd.ruecker@camunda.com / 7
  • 8. Business Process Engine Middleware für Geschäftsprozesse Business Analyst Sachbearbeiter Aufgaben- Verwaltung V lt Prozess- Prozess- Fremd- definitionen Ausführung Anwendungen Entwickler Prozess- Administration Logs Administrator Persistenz Definition Laufzeit Business Process Engine (BPM-Engine) Bernd Rücker / bernd.ruecker@camunda.com / 8
  • 9. Was leistet die Business Process Engine Features • Versionierung, Persistenz & Interpretation von Prozessmodellen P d ll • Steuerung & Persistenz von Prozessinstanzen • Task-Management • Wait-States Wait States • Prozesskontext (Variablen zu Prozess speichern) • Ei bi d Einbindung externer S i t Services • Verwalten von Ereignissen (z.B. Timeouts) • … Bernd Rücker / bernd.ruecker@camunda.com / 9
  • 10. Process Execution Languages Welche Sprache spricht BPM? Standards BPEL YAML UML Wissenschaftlich XPDL Fachliche Notationen jPDL Proprietär EPC DSL‘s BPMN … Bernd Rücker / bernd.ruecker@camunda.com / 10
  • 11. Sprachen heute: Was nehmen? Komplexität, LOC, Mächtigkeit, Komplexität LOC Mächtigkeit Standards? Generierte Artefakte (WSDL & Schema) Deployment-Deskriptor p y p 1000 XSLT 900 WSDL Java-Code (Hooks/Actions) 800 Prozessbeschreibung 700 600 500 400 300 200 100 0 Quelle: Dr. Martin Bartonitz BPEL XPDL jBPM Bernd Rücker / bernd.ruecker@camunda.com / 11
  • 12. Motivation Process Virtual Machine JBoss PVM • Es existieren verschiedenste Prozessausführungs- sprachen (P h (Process E Execution L ti Language) ) – BPEL, XPDL, jPDL, DSL‘s, … • Es gibt nicht die perfekte Sprache • Koexistenz von verschiedenen Sprachen erlauben p • Sprache nach Problem auswählen Grundfunktionalität Prozessmaschine in PVM Bernd Rücker / bernd.ruecker@camunda.com / 12
  • 13. JBoss PVM Das Projekt • Gestartet 2007 durch JBoss (jBPM) und Bull (Bonita O h t ) (B it & Orchestra) • Gehostet bei JBoss, LGPL • POJO-Kern: Interne Prozessrepräsentation durch Java-Modelle • Persistenz austauschbar (Hibernate, EJB3) • Lauffähig mit oder ohne Application Server Application-Server • „Library“, kann eigebettet werden • Aktuell Alpha Version Bernd Rücker / bernd.ruecker@camunda.com / 13
  • 14. Konzepte & Kernabstraktionen Prozesse als Zustandsautomat Verhalten über Sprache definiert Bernd Rücker / bernd.ruecker@camunda.com / 14
  • 15. Laufzeitverhalten Prozesse als Zustandsautomat Bernd Rücker / bernd.ruecker@camunda.com / 15
  • 16. Verhalten von Nodes Activity (entspricht Executable) Einfaches Interface um Verhalten zu implementieren: public interface Activity { void execute(Execution execution) throws Exception; } Beispiel: public class Display implements Activity { String message; public Display(String message) { this.message = message; } public void execute(Execution execution) { System.out.println(message); } } Bernd Rücker / bernd.ruecker@camunda.com / 16
  • 17. Verhalten von „externen Nodes“ External Activity Externes System execute signal public class StateActivity implements ExternalActivity { public void execute(Execution execution) { execution.waitForSignal(); } public void signal(Execution execution, String signalName, Map<String, Object> parameters) { if (parameters!=null) { execution.setVariables(parameters); } execution.take(signalName); } } Bernd Rücker / bernd.ruecker@camunda.com / 17
  • 18. Beispiel: TaskActivity z.B. z B jPDL TaskNode oder BPEL PeopleActivity Tasklist quest public class TaskActivity implements ExternalActivity { execute signal public void execute(Execution execution) { // let's use the node name as the task id String taskName = execution.getNode().getName(); TaskComponent.createTask(taskName, TaskComponent createTask(taskName execution); } public void signal(Execution execution, String signal, Map<String, Map<String Object> parameters) { execution.takeDefaultTransition(); } } Bernd Rücker / bernd.ruecker@camunda.com / 18
  • 19. Just an API – PVM definiert keine Sprache Ein erster kleiner Prozess ProcessDefinition processDefinition = ProcessFactory.build() .node("accept loan request").initial().behaviour(new WaitState()) .transition().to("loan evaluation") .node("loan evaluation").behaviour(new WaitState()) ( ) ( ()) .transition("approve").to("wire the money") .transition("reject").to("end") .node("wire the money").behaviour(new Display("automatic payment")) .transition().to("end") () ( ) .node("end").behaviour(new WaitState()) .done(); Bernd Rücker / bernd.ruecker@camunda.com / 19
  • 20. Implementierung Wartezustand Beispielsweise der jPDL "State" State p public class WaitState implements ExternalActivity { p y public void execute(ActivityExecution execution) { execution.waitForSignal(); } public void signal(ActivityExecution execution, String signal, Map<String, Object> p p g, j parameters) { ) execution.take(signal); } } Bernd Rücker / bernd.ruecker@camunda.com / 20
  • 21. Events "Hooks" im Prozessablauf Hooks p public class Display implements Activity { p y p y String message; public Display(String message) { this.message = message; g g ; } public void execute(Execution execution) { System.out.println(message); } } • An Transitionen • Node-Enter / Node-Leave • Prozess-Start / Prozess-End Bernd Rücker / bernd.ruecker@camunda.com / 21
  • 22. Automatische Entscheidungen "Nur" eine andere Art Activities Nur public class A t bli l AutomaticCreditRating i l ti C ditR ti implements A ti it { t Activity public void execute(Execution execution) { int creditRate = (Integer) execution.getVariable("creditRate"); if ( (creditRate > 5) ditR t execution.take("good"); else if (creditRate < -5) execution.take("bad"); else l execution.take("average"); } } Durch Parametrisierung (gesteuert über die Sprache) kann jPDL- oder jPDL BPEL-Entscheidung gebaut werden Bernd Rücker / bernd.ruecker@camunda.com / 22
  • 23. Execution Die Schnittstelle zur Prozessmaschine Bernd Rücker / bernd.ruecker@camunda.com / 23
  • 24. Prozessstruktur Komposition ermöglicht verschiedenste Prozesskonstrukte Bernd Rücker / bernd.ruecker@camunda.com / 24
  • 25. Prozessstruktur mit Ordnung Sequences public class Sequence implements ExternalActivity { public void execute(Execution execution) { List<Node> nodes = execution.getNode().getNodes(); execution.execute(nodes.get(0)); } public void signal(Execution execution, String signal, Map<String, Object> parameters) { Node previous = execution.getPreviousNode(); List<Node> nodes = execution.getNode().getNodes(); int previousIndex = nodes.indexOf(previous); int nextIndex = previousIndex+1; if (nextIndex < nodes.size()) { Node next = nodes.get(nextIndex); execution.execute(next); } else { execution.proceed(); } } } Bernd Rücker / bernd.ruecker@camunda.com / 25
  • 26. Prozessstruktur mit Ordnung Sequences ProcessFactory.build( sequence ) ProcessFactory build("sequence") .compositeNode("sequence").initial().behaviour(new Sequence()) .needsPrevious() .node("one").behaviour(new Display("one")) .node( wait ).behaviour(new WaitState()) node("wait") behaviour(new .node("two").behaviour(new Display("two")) .compositeEnd() .done(); ... Node previous = execution.getPreviousNode(); ... Vergleiche BPEL-Blöcke BPEL Blöcke Bernd Rücker / bernd.ruecker@camunda.com / 26
  • 27. Mehr Konzepte Subprozesse | Transaktionsgrenzen | Timer Bernd Rücker / bernd.ruecker@camunda.com / 27
  • 28. Persistenz Viele Sprachen – eine Datenbasis Bernd Rücker / bernd.ruecker@camunda.com / 28
  • 29. Prozesssprachen Die PVM unterstützt verschiedene Sprachen • Unterstützung für Graphen & Blockstruktur • Sprache kann durch entsprechende Nodes definiert werden • Für Node-Typen wird Verhalten implementiert ( (Activities) ) • Es wird geben – XPDL: Nova Bonita – jPDL: JBoss jBPM JPDL – BPEL • Eigene DSL (Domain Specific Language) möglich • MDSD-Ansätze denkbar Bernd Rücker / bernd.ruecker@camunda.com / 29
  • 30. JBoss jBPM jPDL Das Projekt • Business Process Engine • Proprietäre Sprache „jBPM Process Definition Language“ (jPDL) • Aufbauend auf PVM • Klein und flexibel, leicht erweiterbar flexibel • Aktuell in der Entwicklung (released 3.2, noch ohne PVM), PVM) Fertigstellung bis Anfang 2009 geplant • Java-Objekte als Prozessvariablen Bernd Rücker / bernd.ruecker@camunda.com / 30
  • 31. „Graph oriented programming“ in jPDL 3 Der Prozess als gerichteter Graph Node 1 Token current Node from to leaving arriving Transitions * * Transitions Transition <process-definition> ... <node name=“serve client”> <transition name=“ok” to=“order” /> <transition name=“nok” to=“joke” /> </node> <node name=“order” /> <node name=“joke” /> ... </process-definition> Bernd Rücker / bernd.ruecker@camunda.com / 31
  • 32. Sprachbeispiel jPDL Node-Typen • Task-Node: Human Tasks / Aufgaben • State: Wait-States St t W it St t • Fork / Join: Parallelisierung • Decision: Automatische Entscheidung • Start-State / End-State • Super-State • Process State Process-State • … • Eigene Node-Typen mit Verhalten können implementiert werden erden Bernd Rücker / bernd.ruecker@camunda.com / 32
  • 33. jBPM & Java jBPM in a nutshell • Einfache Java-API zur Steuerung der Engine – Prozessstart – Aufgabenliste –… • Aufrufen von „User-Code“ – definierte Stellen im Prozess – Interface & Java-Klassen Bernd Rücker / bernd.ruecker@camunda.com / 33
  • 34. jBPM & Java jBPM in a nutshell JbpmConfiguration conf = JbpmConfiguration.getInstance(); JbpmContext context = conf. createJbpmContext(); ProcessInstance pi = context.getGraphSession(). findLatestProcessDefinition("Ticket").createProcessInstance(); pi.getRootToken().signal(); List<TaskInstance> tasks = context.getTaskMgmtSession(). findTaskInstances("Vertrieb"); tasks.get(0).end("Ticket schliessen"); context.close(); public class MyAction implements ActionHandler { public void execute(ExecutionContext ctx) { Object var = ctx.getVariable("var"); result = service.doSomething(var); ctx.setVariable("result", result); } } Bernd Rücker / bernd.ruecker@camunda.com / 34
  • 35. Tooling: Eclipse Sprachbeispiel jPDL Bernd Rücker / bernd.ruecker@camunda.com / 35
  • 36. Prozess Deployment in jBPM 4 jBPM in a nutshell • Java API .class • Ant A t deploy XML jPDL • Eclipse-Designer PVM • Web-Console XSD • AdminClient Parser • MBean DB • … jBPM (Zugriff per API) • Alle Prozesse werden versioniert • Action-Klassen können mit deployed und versioniert werden Bernd Rücker / bernd.ruecker@camunda.com / 36
  • 37. Kurzer Demoprozess Einfacher Ticketprozess Actions Task-Node T kN d Node Transition State Bernd Rücker / bernd.ruecker@camunda.com / 37
  • 38. Demoanwendung Architektur Browser jBPM Web-Console (JSF) Geschäftsprozess Action Action JBoss jBPM (Webanwendung) Zur Vereinfachung in der Übung: Pure Java! CRM System Ticket System Tomcat Bernd Rücker / bernd.ruecker@camunda.com / 38
  • 39. CRM- & Ticketsystem Einfachste Java EE Implementierung & Prozessintegration Prozesskontext Prozesskontext P k customerId 0815 :: customerId 0815 ticketId : : ticketId 007 007 <<Service>> S <<Service>> S CrmService TicketService + findCustomer:Customer + createTicket:Ticket + existCustomer:boolean + getTicket:Ticket + createCustomer:Customer <<Entity>> <<Entity>> Customer Ticket + id:int + id:int + givenname:String + description:String + surname:String + content:String + email:String + open:boolean Bernd Rücker / bernd.ruecker@camunda.com / 39
  • 40. DEMO Bernd Rücker / bernd.ruecker@camunda.com / 40
  • 41. jBPM in der Architektur Einbettung in eigene Anwendung • jBPM kann in eigene Java-Architektur integriert werden d • Process Engine ist eigene Architekturschicht • Domänenobjekte oder Referenzen als Prozessvariablen • Ansteuerung ext. Zum Beispiel EJB-Container Services im Prozess jBPM jPDL Human Session Task Bean Mgmnt EJB JCA JMS WS Bernd Rücker / bernd.ruecker@camunda.com / 41
  • 42. Command-Pattern Remote-Zugriffe und Asynchronität public class TaskInstanceEndCommand implements Command { ... public Object execute(JbpmContext jbpmContext) { TaskInstance taskInstance = getTaskInstance(jbpmContext); if (transitionName == null) { taskInstance.end(); } else { taskInstance.end(transitionName); } return taskInstance; } ... } Bernd Rücker / bernd.ruecker@camunda.com / 42
  • 43. Beispiel: EJB3 + Swing jBPM jPDL in Java Systemen Swing-GUI EJB-Container BPM-Engine Command Command Command Service Service SLSB MDB Webcontainer Command Web-GUI Message EJB JCA JMS … Korrelation Fremd- systeme Bernd Rücker / bernd.ruecker@camunda.com / 43
  • 44. Beispiel: JBoss ESB Commands in Action create Event start message (File) process from file FilePickupService Command prepare Case call Web Paramete Management Service r CreateCaseService JMS- read signal Message message process CaseCompletionService Environment JBoss ESB JBoss jBPM Bernd Rücker / bernd.ruecker@camunda.com / 44
  • 45. Vergleich zu BPEL Java beheimatet JBoss jBPM EJB-Container (oder Tomcat oder Java SE) j jBPM (jPDL) (j ) Human Session Task Bean Mgmnt EJB JCA JMS WS BPEL-Server WS Java WS WS WS WS EJB-Container .NET Human … Task Mgmnt EJB JMS, … Bernd Rücker / bernd.ruecker@camunda.com / 45
  • 46. Praxiserfahrungen jBPM jPDL 3 Aus dem Nähkästchen • Performance und Skalierbarkeit bei korrektem Einsatz kein Problem Ei t k i P bl • Ohne Persistenz minimaler Overhead • Relativ „leichtgewichtig“, kleine Lernkurve • Gute Dokumentation für normale Probleme • Auch in großen Projekten und Unternehmen eingesetzt • Ach ja: Tooling (Designer und Webconsole) ist verbesserungsbedürftig ;-) Bernd Rücker / bernd.ruecker@camunda.com / 46
  • 47. Architektur PVM - Hibernate des BPM? jPDL BPEL … PVM Hibernate / JPA JVM DB Sprache XY Eigener Code PVM Hibernate / JPA JVM DB Produkt XY Bernd Rücker / bernd.ruecker@camunda.com / 47
  • 48. Fazit & Ausblick JBoss PVM & jBPM 4 • PVM stabilisiert sich • Sehr interessantes Konzept, Interesse auch seitens kommerzieller Tool-Hersteller • Im Java Umfeld ist JBoss jBPM sehr interessant • „Leichtgewichtig und in verschiedensten Leichtgewichtig“ Umgebungen Lauffähig • Erweiterbar und flexibel • Vision und Roadmap vorhanden! • Einige Verbesserungen in jBPM 4: Logging konfigurierbar, Persistenz austauschbar, Control- Loop, … Bernd Rücker / bernd.ruecker@camunda.com / 48
  • 49. Fragen & Antworten Bernd Rücker Geschäftsführer Berater, Trainer & Coach bernd.ruecker@camunda.com +49 711 3278645 Unsere Themen • G Ganzheitliches BPM h itli h • Prozessautomatisierung • SOA, BPEL, XPDL, jBPM, Drools, ESB • BPMN • BPM-Toolauswahl Unsere Leistungen • Beratung • Seminare • Process as a Service (Hosting) Bernd Rücker / bernd.ruecker@camunda.com / 49