SlideShare une entreprise Scribd logo
1  sur  33
experiences with JBoss jBPM  camunda GmbH Bernd Rücker CEO camunda GmbH / Consultant [email_address]
Who we are ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Project 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Architecture mySQL ejb container Swing-GUI Session Bean Session Bean business logic jBPM JDO local interface remote interface mySQL Hibernate other services
Architecture - process is a facade! mySQL mySQL Swing-GUI Session Bean Session Bean business logic Hibernate JDO local interface remote interface ,[object Object],[object Object],[object Object],[object Object],[object Object],jBPM other services
Association with process context
Architecture - transactions mySQL Swing-GUI Session Bean Session Bean business logic jBPM JDO local interface remote interface 1 XA transaction mySQL Hibernate other services
It‘s a SOA   Source: Sun presentation at the Java Forum Stuttgart, 2005
Environment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Project 2 ,[object Object],[object Object],[object Object],[object Object]
Architecture RMI /  Web-Services App-Server / RMI processes IF Subsystem: A UseCase: doSth Token: 0815 Data: … System A UseCase: doSth Data: … ETR Subsystem: A UseCase: doSth Token: 0815 Result: … Order-System System … jbpm actions jbpm actions
Architecture RMI /  Web-Services App-Server / RMI processes IF Subsystem: A UseCase: doSth Token: 0815 Data: … System A UseCase: doSth Daten: … ETR Subsystem: A UseCase: doSth Token: 0815 Result: … Order-System System … jbpm actions jbpm actions compare to Enterprise-Service-Bus
Environment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
node, task-nodes & states Keep in mind:  if you forget a task-assignment in a task-node it is a node!
Think about transactions!
So what to do? ,[object Object],[object Object],[object Object],[object Object],commit transaction (since jbpm 3.1: async=„true“)
Sequence diagram  Application Server Client jBPM-Facade (SLSB) jBPM Action 1. Transaktion Businesslogik SLSB start process get definition create process instance set variables signal execute do something end task get task end execute do something 2. Transaktion
process / workflow / pageflow ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More topics to think about ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],state 1 state 2 state 3 action compensating action equivalent states
long lasting transactions  processes action compensating action Business services Failed action Anwendung 1 commit begin T1 Anwendung 1 commit begin T1
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java Swing GUI node-name token-id process data / variables possible transitions documentation website
Documentation website ,[object Object],[object Object],[object Object],[object Object]
Admin-Client 1
Admin-Client 2 variables log ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Admin Client 3 object inspector included
Testframework ProcessTestRunner testRunner = new ProcessTestRunner("Testprozess"); testRunner.addInputVariable(ProzessVariablesEnum.CustomerAddress, address); //////////////// // confiugure Path to the next task node / end ProcessTestRunner subTestRunner = testRunner.addExpectedSubprocesses( "CustomerCreation" ); subTestRunner.addExpectedState("Node1"); subTestRunner.addExpectedState("Node2"); subTestRunner.addExpectedOutputVariable(ProzessVariables.ResultCustomerCreation, Boolean.valueOf(true)); //.... subTestRunner.subprocessFinished(); //////////////// // confiugure Path to the next task node / end testRunner.addExpectedNode("xy"); testRunner.addInputVariable("xy", new Integer(0));
Testframework (continued) testRunner.startFork(); testRunner.useForkPath(1); testRunner.addExpectedNode("xy"); testRunner.addJoin(); testRunner.useForkPath(2); testRunner.addJoin(); testRunner.addExpectedTask("XXX"); long taskId = testRunner.runToNextTaskNode(5); services.continueAdresseKorrigieren(taskId, new Address()); testRunner.taskEnded(); testRunner.useForkPath(3); testRunner.addExpectedNode("xy"); testRunner.addExpectedTask("XXX"); long taskId = testRunner.runToNextTaskNode(5); testRunner.finishFork(); // run until end of process testRunner.runToEnd(7); testRunner.assertFinished(); testRunner.assertPath();
code-generation ,[object Object],[object Object],[object Object],[object Object],[object Object],public abstract static class GeneratedDecideIdentifiedGoodsHandler  implements DecisionHandler { public String decide(ExecutionContext executionContext) { try { return decide(new ProcurementProcessModel(executionContext)); } catch (BusinessException ex) { throw new ProcessDefinitionException("BusinessException during decision", ex); } } public abstract String decide(ProcurementProcessModel model) throws BusinessException; protected static final transient String RESULT_identified = "identified"; protected static final transient String RESULT_unidentified = "unidentified"; }
upcoming book ,[object Object],[object Object],[object Object],[object Object],[object Object]
Thank you for listening! Q & A

Contenu connexe

Tendances

jBPM 4 BeJUG Event March 20 2009
jBPM 4 BeJUG Event March 20 2009jBPM 4 BeJUG Event March 20 2009
jBPM 4 BeJUG Event March 20 2009Tom Baeyens
 
Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?camunda services GmbH
 
Case Management & CMMN - Talk at JAX 2015
Case Management & CMMN - Talk at JAX 2015Case Management & CMMN - Talk at JAX 2015
Case Management & CMMN - Talk at JAX 2015camunda services GmbH
 
Monitor Kafka Stream Application Using JMX With Grafana-Graphite
Monitor Kafka Stream Application Using JMX With Grafana-GraphiteMonitor Kafka Stream Application Using JMX With Grafana-Graphite
Monitor Kafka Stream Application Using JMX With Grafana-GraphiteKnoldus Inc.
 
Case study: Camunda BPM in PwC project
Case study: Camunda BPM in PwC projectCase study: Camunda BPM in PwC project
Case study: Camunda BPM in PwC projectcamunda services GmbH
 
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...camunda services GmbH
 
JBoss jBPM, the future is now for all your Business Processes
JBoss jBPM, the future is now for all your Business ProcessesJBoss jBPM, the future is now for all your Business Processes
JBoss jBPM, the future is now for all your Business ProcessesEric D. Schabell
 
Kris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beKris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beAndries Inzé
 
JBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionJBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionMauricio (Salaboy) Salatino
 

Tendances (13)

jBPM 4 BeJUG Event March 20 2009
jBPM 4 BeJUG Event March 20 2009jBPM 4 BeJUG Event March 20 2009
jBPM 4 BeJUG Event March 20 2009
 
Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?
 
Case Management & CMMN - Talk at JAX 2015
Case Management & CMMN - Talk at JAX 2015Case Management & CMMN - Talk at JAX 2015
Case Management & CMMN - Talk at JAX 2015
 
Webinar: BPMN with camunda
Webinar: BPMN with camundaWebinar: BPMN with camunda
Webinar: BPMN with camunda
 
Carasik BPM ECM
Carasik BPM ECMCarasik BPM ECM
Carasik BPM ECM
 
Monitor Kafka Stream Application Using JMX With Grafana-Graphite
Monitor Kafka Stream Application Using JMX With Grafana-GraphiteMonitor Kafka Stream Application Using JMX With Grafana-Graphite
Monitor Kafka Stream Application Using JMX With Grafana-Graphite
 
Case study: Camunda BPM in PwC project
Case study: Camunda BPM in PwC projectCase study: Camunda BPM in PwC project
Case study: Camunda BPM in PwC project
 
camunda fox BPMN framework
camunda fox BPMN frameworkcamunda fox BPMN framework
camunda fox BPMN framework
 
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...
 
JBoss jBPM, the future is now for all your Business Processes
JBoss jBPM, the future is now for all your Business ProcessesJBoss jBPM, the future is now for all your Business Processes
JBoss jBPM, the future is now for all your Business Processes
 
Kris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beKris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.be
 
JBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionJBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 Introduction
 
camunda for developer-friendly BPM
camunda for developer-friendly BPMcamunda for developer-friendly BPM
camunda for developer-friendly BPM
 

Similaire à 20061122 JBoss-World Experiences with JBoss jBPM

Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)camunda services GmbH
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info SheetMark Proctor
 
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesJBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesKris Verlaenen
 
JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)Eric D. Schabell
 
Project description2012
Project description2012Project description2012
Project description2012ashish61_scs
 
5 Years of Progress in Active Data Warehousing
5 Years of Progress in Active Data Warehousing5 Years of Progress in Active Data Warehousing
5 Years of Progress in Active Data WarehousingTeradata
 
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEJBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEtsurdilovic
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco WorkflowsFrancesco Valente
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 
Natural Laws of Software Performance
Natural Laws of Software PerformanceNatural Laws of Software Performance
Natural Laws of Software PerformanceGibraltar Software
 
jBPM5: Bringing more Power to your Business Processes
jBPM5: Bringing more Power to your Business ProcessesjBPM5: Bringing more Power to your Business Processes
jBPM5: Bringing more Power to your Business ProcessesKris Verlaenen
 
When Web Services Go Bad
When Web Services Go BadWhen Web Services Go Bad
When Web Services Go BadSteve Loughran
 
Magento's Imagine eCommerce Conference: Do You Queue?
Magento's Imagine eCommerce Conference: Do You Queue?Magento's Imagine eCommerce Conference: Do You Queue?
Magento's Imagine eCommerce Conference: Do You Queue?varien
 
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnjBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnMauricio (Salaboy) Salatino
 
Next generation business automation with the red hat decision manager and red...
Next generation business automation with the red hat decision manager and red...Next generation business automation with the red hat decision manager and red...
Next generation business automation with the red hat decision manager and red...Masahiko Umeno
 
WS-VLAM workflow
WS-VLAM workflowWS-VLAM workflow
WS-VLAM workflowguest6295d0
 
Java one 2010
Java one 2010Java one 2010
Java one 2010scdn
 

Similaire à 20061122 JBoss-World Experiences with JBoss jBPM (20)

Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info Sheet
 
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesJBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
 
JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)
 
QSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load RunnerQSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load Runner
 
Lombardi intro full
Lombardi intro  full Lombardi intro  full
Lombardi intro full
 
Project description2012
Project description2012Project description2012
Project description2012
 
Camunda BPM 7.2 - English
Camunda BPM 7.2 - EnglishCamunda BPM 7.2 - English
Camunda BPM 7.2 - English
 
5 Years of Progress in Active Data Warehousing
5 Years of Progress in Active Data Warehousing5 Years of Progress in Active Data Warehousing
5 Years of Progress in Active Data Warehousing
 
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEJBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco Workflows
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Natural Laws of Software Performance
Natural Laws of Software PerformanceNatural Laws of Software Performance
Natural Laws of Software Performance
 
jBPM5: Bringing more Power to your Business Processes
jBPM5: Bringing more Power to your Business ProcessesjBPM5: Bringing more Power to your Business Processes
jBPM5: Bringing more Power to your Business Processes
 
When Web Services Go Bad
When Web Services Go BadWhen Web Services Go Bad
When Web Services Go Bad
 
Magento's Imagine eCommerce Conference: Do You Queue?
Magento's Imagine eCommerce Conference: Do You Queue?Magento's Imagine eCommerce Conference: Do You Queue?
Magento's Imagine eCommerce Conference: Do You Queue?
 
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnjBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
 
Next generation business automation with the red hat decision manager and red...
Next generation business automation with the red hat decision manager and red...Next generation business automation with the red hat decision manager and red...
Next generation business automation with the red hat decision manager and red...
 
WS-VLAM workflow
WS-VLAM workflowWS-VLAM workflow
WS-VLAM workflow
 
Java one 2010
Java one 2010Java one 2010
Java one 2010
 

Plus de 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
 

Plus de 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
 

20061122 JBoss-World Experiences with JBoss jBPM

  • 1. experiences with JBoss jBPM camunda GmbH Bernd Rücker CEO camunda GmbH / Consultant [email_address]
  • 2.
  • 3.
  • 4.
  • 5. Architecture mySQL ejb container Swing-GUI Session Bean Session Bean business logic jBPM JDO local interface remote interface mySQL Hibernate other services
  • 6.
  • 8. Architecture - transactions mySQL Swing-GUI Session Bean Session Bean business logic jBPM JDO local interface remote interface 1 XA transaction mySQL Hibernate other services
  • 9. It‘s a SOA  Source: Sun presentation at the Java Forum Stuttgart, 2005
  • 10.
  • 11.
  • 12. Architecture RMI / Web-Services App-Server / RMI processes IF Subsystem: A UseCase: doSth Token: 0815 Data: … System A UseCase: doSth Data: … ETR Subsystem: A UseCase: doSth Token: 0815 Result: … Order-System System … jbpm actions jbpm actions
  • 13. Architecture RMI / Web-Services App-Server / RMI processes IF Subsystem: A UseCase: doSth Token: 0815 Data: … System A UseCase: doSth Daten: … ETR Subsystem: A UseCase: doSth Token: 0815 Result: … Order-System System … jbpm actions jbpm actions compare to Enterprise-Service-Bus
  • 14.
  • 15.
  • 16. node, task-nodes & states Keep in mind: if you forget a task-assignment in a task-node it is a node!
  • 18.
  • 19. Sequence diagram Application Server Client jBPM-Facade (SLSB) jBPM Action 1. Transaktion Businesslogik SLSB start process get definition create process instance set variables signal execute do something end task get task end execute do something 2. Transaktion
  • 20.
  • 21.
  • 22. long lasting transactions processes action compensating action Business services Failed action Anwendung 1 commit begin T1 Anwendung 1 commit begin T1
  • 23.
  • 24. Java Swing GUI node-name token-id process data / variables possible transitions documentation website
  • 25.
  • 27.
  • 28. Admin Client 3 object inspector included
  • 29. Testframework ProcessTestRunner testRunner = new ProcessTestRunner("Testprozess"); testRunner.addInputVariable(ProzessVariablesEnum.CustomerAddress, address); //////////////// // confiugure Path to the next task node / end ProcessTestRunner subTestRunner = testRunner.addExpectedSubprocesses( "CustomerCreation" ); subTestRunner.addExpectedState("Node1"); subTestRunner.addExpectedState("Node2"); subTestRunner.addExpectedOutputVariable(ProzessVariables.ResultCustomerCreation, Boolean.valueOf(true)); //.... subTestRunner.subprocessFinished(); //////////////// // confiugure Path to the next task node / end testRunner.addExpectedNode("xy"); testRunner.addInputVariable("xy", new Integer(0));
  • 30. Testframework (continued) testRunner.startFork(); testRunner.useForkPath(1); testRunner.addExpectedNode("xy"); testRunner.addJoin(); testRunner.useForkPath(2); testRunner.addJoin(); testRunner.addExpectedTask("XXX"); long taskId = testRunner.runToNextTaskNode(5); services.continueAdresseKorrigieren(taskId, new Address()); testRunner.taskEnded(); testRunner.useForkPath(3); testRunner.addExpectedNode("xy"); testRunner.addExpectedTask("XXX"); long taskId = testRunner.runToNextTaskNode(5); testRunner.finishFork(); // run until end of process testRunner.runToEnd(7); testRunner.assertFinished(); testRunner.assertPath();
  • 31.
  • 32.
  • 33. Thank you for listening! Q & A