SlideShare a Scribd company logo
jBPM4 container
integration: Deployer
  Heiko Braun <hbraun@redhat.com>
              09.03.2009
Overview

• Process deployment specifics
• Concepts and gotchas with deployment/
  undeployment
• Status and next steps
AS deployments

• Create a *.par archive and copy it to
  server/<config>/deploy
• Can be done while AS running or when it’s
  shutdown
• Covered by the AS deployer API
Process deployment:
        BPM specifics
•      In BPM we expect long running processes

     •        i.e. exists across AS reboots

•      Processes are versioned:

     •        Deployment can lead to a new version
              or “replace” a prior one (aka patching)

•      Process model is actually a database model:

     •        Redeployment is not idempotent [1]


[1] “Acting as if used only once, even if used multiple times. “
Deployment
•   Two approaches: Version or
    timestamp identification

    •   Version: Explicit as part of
        the process definition
        (*.jpdl.xml)

    •   Timestamp: Implicit, refers
        to the actual deployment
        artifact (filesystem)

•   Applies to the same deployment
    artifact (filename)

•   Derived policy identifies
    processes that will be stored in
    DB
Deployment scenarios
• Patching a process (i.e. replacing a class,
  bugfix, etc):
  - same artifact with same version
• Providing a new process (i.e. different pdl):
  - same artifact different version, or no
  version at all
• Otherwise: New artifact, new version
Undeployment
•   Single approach: Does the
    deployment artifact exist?

    •   Usally undeployment happens
        when removing files from server/
        <config>/deploy

    •   Exception: On server shutdown,
        all deployer get undeployment
        callbacks

•   Only if the deployment artifact
    is deleted the process will be
    removed
Undeployment
         scenarios
• Server shutdown
  - retain process
• Artifact removed w. server running
  - delete process
• Artifact removed with server stopped
  - Not realized by process engine ?!
Process lifecycle and
        classloader
•   Server boot
    - Associate classloader, flag process “ready”

•   Server shutdown
    - Remove classloader, flag process “shutdown”

•   Gotcha: Artifact removed while server is shutdown

    •   upon boot only processes w. artifacts will be flagged
        “ready”

    •   leaves non-usable (“shutdown”) processes that need to
        be removed manually
Status
• Resides in ‘modules/integration’
• Implemented for AS 5
• No JNDI binding yet
• No classloader association
• Works as proof of concept
Next steps

• Port to AS 4.2.x
• Implement JNDI bindings
• Relationship to ‘enterprise’ module
• Extended in container test coverage
Q&A
Appendix:
 Implemention on AS 5
• Deployment example
16:22:41,522 INFO [JBPMDeployer] Deploy JBPMDeploymentMetaData {unit=vfszip:/Users/hbraun/dev/prj/jboss/tags/JBoss_5_0_0_GA/build/
output/jboss-5.0.0.GA/server/default/deploy/Simple-Alpha2.jar/Simple_noversion.jpdl.xml, jpdl=vfszip:/Users/hbraun/dev/prj/jboss/tags/
JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA/server/default/deploy/Simple-Alpha2.jar/Simple_noversion.jpdl.xml,
cl=BaseClassLoader@bc4d42{vfszip:/Users/hbraun/dev/prj/jboss/tags/JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA/server/default/deploy/Simple-
Alpha2.jar}}
16:22:41,571 INFO [VersionTimestampPolicy] Timestamp driven policy evaluation: process 'Simple_noversion', timestamp 1236612157000
16:22:41,615 INFO [JBPMDeployer] Deploy JBPMDeploymentMetaData {unit=vfszip:/Users/hbraun/dev/prj/jboss/tags/JBoss_5_0_0_GA/build/
output/jboss-5.0.0.GA/server/default/deploy/Simple-Alpha2.jar/Simple_version.jpdl.xml, jpdl=vfszip:/Users/hbraun/dev/prj/jboss/tags/
JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA/server/default/deploy/Simple-Alpha2.jar/Simple_version.jpdl.xml,
cl=BaseClassLoader@bc4d42{vfszip:/Users/hbraun/dev/prj/jboss/tags/JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA/server/default/deploy/Simple-
Alpha2.jar}}
16:22:41,641 INFO [VersionTimestampPolicy] Version driven policy evaluation: process 'Simple_withversion', version 3
Appendix:
    Implemention on AS 5
    • Embracing EE5:
2009-03-09 15:26:22,737 INFO [org.jbpm.integration.jboss5.JBPMServiceImpl] (main) ProcessEngine bound to: java:/jbpm4


class myEJB {
[...]

    try
    {
          InitialContext ctx = new InitialContext();
          this.processEngine = (ProcessEngine)ctx.lookup(quot;java:/jbpm4quot;);
    }
    catch (Exception e)
    {
      throw new RuntimeException(quot;Failed to lookup process enginequot;);
    }


}

More Related Content

What's hot

Linux Kernel Selftest Framework - Quality Control for New Releases
Linux Kernel Selftest Framework - Quality Control for New ReleasesLinux Kernel Selftest Framework - Quality Control for New Releases
Linux Kernel Selftest Framework - Quality Control for New Releases
Samsung Open Source Group
 
Drupal Workflow Concepts
Drupal Workflow ConceptsDrupal Workflow Concepts
Drupal Workflow Concepts
cgmonroe
 
Nuxeo World Session: Building Packages for the Nuxeo Marketplace
Nuxeo World Session: Building Packages for the Nuxeo MarketplaceNuxeo World Session: Building Packages for the Nuxeo Marketplace
Nuxeo World Session: Building Packages for the Nuxeo Marketplace
Nuxeo
 
Care and Feeding of Large Web Applications
Care and Feeding of Large Web ApplicationsCare and Feeding of Large Web Applications
Care and Feeding of Large Web Applications
Perrin Harkins
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Ortus Solutions, Corp
 
File Processing - Process Execution Solution
File Processing - Process Execution SolutionFile Processing - Process Execution Solution
File Processing - Process Execution Solution
Abimael Desales López
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
Knoldus Inc.
 
Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)
Peter Bittner
 
Selenium cloud
Selenium cloudSelenium cloud
Selenium cloud
itkosmopolit
 
OOP2017: Containerized End-2-End Testing – automate it!
OOP2017: Containerized End-2-End Testing – automate it!OOP2017: Containerized End-2-End Testing – automate it!
OOP2017: Containerized End-2-End Testing – automate it!
Tobias Schneck
 
Performance testing and monitoring: a guided tour through CLIF tools and feat...
Performance testing and monitoring: a guided tour through CLIF tools and feat...Performance testing and monitoring: a guided tour through CLIF tools and feat...
Performance testing and monitoring: a guided tour through CLIF tools and feat...
OW2
 
Jenkins review buddy
Jenkins review buddyJenkins review buddy
Jenkins review buddy
Aske Olsson
 
Nuxeo and JavaScript
Nuxeo and JavaScriptNuxeo and JavaScript
Nuxeo and JavaScript
Nuxeo
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
Maidul Islam
 
Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?
Tobias Schneck
 
Subversion workshop
Subversion workshopSubversion workshop
Subversion workshop
TrafeX
 

What's hot (19)

Linux Kernel Selftest Framework - Quality Control for New Releases
Linux Kernel Selftest Framework - Quality Control for New ReleasesLinux Kernel Selftest Framework - Quality Control for New Releases
Linux Kernel Selftest Framework - Quality Control for New Releases
 
Drupal Workflow Concepts
Drupal Workflow ConceptsDrupal Workflow Concepts
Drupal Workflow Concepts
 
SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practices
 
decks
decksdecks
decks
 
Nuxeo World Session: Building Packages for the Nuxeo Marketplace
Nuxeo World Session: Building Packages for the Nuxeo MarketplaceNuxeo World Session: Building Packages for the Nuxeo Marketplace
Nuxeo World Session: Building Packages for the Nuxeo Marketplace
 
Vmth project
Vmth projectVmth project
Vmth project
 
Care and Feeding of Large Web Applications
Care and Feeding of Large Web ApplicationsCare and Feeding of Large Web Applications
Care and Feeding of Large Web Applications
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
 
File Processing - Process Execution Solution
File Processing - Process Execution SolutionFile Processing - Process Execution Solution
File Processing - Process Execution Solution
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)
 
Selenium cloud
Selenium cloudSelenium cloud
Selenium cloud
 
OOP2017: Containerized End-2-End Testing – automate it!
OOP2017: Containerized End-2-End Testing – automate it!OOP2017: Containerized End-2-End Testing – automate it!
OOP2017: Containerized End-2-End Testing – automate it!
 
Performance testing and monitoring: a guided tour through CLIF tools and feat...
Performance testing and monitoring: a guided tour through CLIF tools and feat...Performance testing and monitoring: a guided tour through CLIF tools and feat...
Performance testing and monitoring: a guided tour through CLIF tools and feat...
 
Jenkins review buddy
Jenkins review buddyJenkins review buddy
Jenkins review buddy
 
Nuxeo and JavaScript
Nuxeo and JavaScriptNuxeo and JavaScript
Nuxeo and JavaScript
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?
 
Subversion workshop
Subversion workshopSubversion workshop
Subversion workshop
 

Viewers also liked

Errai Workspaces
Errai WorkspacesErrai Workspaces
Errai Workspaceshbraun
 
Constructivismo ruso
Constructivismo rusoConstructivismo ruso
Constructivismo ruso
Cynthia Isabel
 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011hbraun
 
Patterns&Practices-Errai
Patterns&Practices-ErraiPatterns&Practices-Errai
Patterns&Practices-Erraihbraun
 
Errai Workspaces
Errai WorkspacesErrai Workspaces
Errai Workspaces
hbraun
 
AS7 Console 2013
AS7 Console 2013AS7 Console 2013
AS7 Console 2013hbraun
 
Jug Zurich Slides
Jug Zurich SlidesJug Zurich Slides
Jug Zurich Slides
hbraun
 
GWT Jug Stuttgart
GWT Jug StuttgartGWT Jug Stuttgart
GWT Jug Stuttgart
hbraun
 
Gwt cdi jaxrs_hbraun
Gwt cdi jaxrs_hbraunGwt cdi jaxrs_hbraun
Gwt cdi jaxrs_hbraun
hbraun
 
Ivascu Andreea
Ivascu AndreeaIvascu Andreea
Ivascu Andreeadadeya
 
Rob And Simone
Rob And SimoneRob And Simone
Rob And Simonetbirdemily
 
Gwt cdi jud_con_berlin
Gwt cdi jud_con_berlinGwt cdi jud_con_berlin
Gwt cdi jud_con_berlin
hbraun
 
обзор российского рынка соков
обзор российского рынка соковобзор российского рынка соков
обзор российского рынка соковkr_ISTINA
 
12. Ponencia GESTIÓN DE LA CALIDAD PARA EL LOGRO DE LA ACREDITACION
12. Ponencia GESTIÓN DE LA CALIDAD PARA EL LOGRO DE LA ACREDITACION12. Ponencia GESTIÓN DE LA CALIDAD PARA EL LOGRO DE LA ACREDITACION
12. Ponencia GESTIÓN DE LA CALIDAD PARA EL LOGRO DE LA ACREDITACION
Jordan Felipe Cabrera Nuñez
 
Motor diesel 4 d65 --reparacion
Motor diesel 4 d65  --reparacionMotor diesel 4 d65  --reparacion
Motor diesel 4 d65 --reparacion
Jordan Felipe Cabrera Nuñez
 
Pruebas al sistema de inyección electrónico del motor Nissan almera QG 1.5
Pruebas al sistema de inyección electrónico del motor Nissan almera QG 1.5Pruebas al sistema de inyección electrónico del motor Nissan almera QG 1.5
Pruebas al sistema de inyección electrónico del motor Nissan almera QG 1.5
Jordan Felipe Cabrera Nuñez
 

Viewers also liked (19)

Errai Workspaces
Errai WorkspacesErrai Workspaces
Errai Workspaces
 
Constructivismo ruso
Constructivismo rusoConstructivismo ruso
Constructivismo ruso
 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011
 
Stratford
StratfordStratford
Stratford
 
Patterns&Practices-Errai
Patterns&Practices-ErraiPatterns&Practices-Errai
Patterns&Practices-Errai
 
Errai Workspaces
Errai WorkspacesErrai Workspaces
Errai Workspaces
 
AS7 Console 2013
AS7 Console 2013AS7 Console 2013
AS7 Console 2013
 
Jug Zurich Slides
Jug Zurich SlidesJug Zurich Slides
Jug Zurich Slides
 
GWT Jug Stuttgart
GWT Jug StuttgartGWT Jug Stuttgart
GWT Jug Stuttgart
 
Gwt cdi jaxrs_hbraun
Gwt cdi jaxrs_hbraunGwt cdi jaxrs_hbraun
Gwt cdi jaxrs_hbraun
 
Ivascu Andreea
Ivascu AndreeaIvascu Andreea
Ivascu Andreea
 
Rob And Simone
Rob And SimoneRob And Simone
Rob And Simone
 
Gwt cdi jud_con_berlin
Gwt cdi jud_con_berlinGwt cdi jud_con_berlin
Gwt cdi jud_con_berlin
 
London
LondonLondon
London
 
обзор российского рынка соков
обзор российского рынка соковобзор российского рынка соков
обзор российского рынка соков
 
Bath
BathBath
Bath
 
12. Ponencia GESTIÓN DE LA CALIDAD PARA EL LOGRO DE LA ACREDITACION
12. Ponencia GESTIÓN DE LA CALIDAD PARA EL LOGRO DE LA ACREDITACION12. Ponencia GESTIÓN DE LA CALIDAD PARA EL LOGRO DE LA ACREDITACION
12. Ponencia GESTIÓN DE LA CALIDAD PARA EL LOGRO DE LA ACREDITACION
 
Motor diesel 4 d65 --reparacion
Motor diesel 4 d65  --reparacionMotor diesel 4 d65  --reparacion
Motor diesel 4 d65 --reparacion
 
Pruebas al sistema de inyección electrónico del motor Nissan almera QG 1.5
Pruebas al sistema de inyección electrónico del motor Nissan almera QG 1.5Pruebas al sistema de inyección electrónico del motor Nissan almera QG 1.5
Pruebas al sistema de inyección electrónico del motor Nissan almera QG 1.5
 

Similar to Jbpm4 Deployer

Towards Continuous Deployment with Django
Towards Continuous Deployment with DjangoTowards Continuous Deployment with Django
Towards Continuous Deployment with Django
Roger Barnes
 
An Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord AulkeAn Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord Aulkedpc
 
Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient way
Sylvain Rayé
 
Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And MavenPerconaPerformance
 
Plugins 2.0: The Overview
Plugins 2.0: The OverviewPlugins 2.0: The Overview
Plugins 2.0: The Overview
Atlassian
 
Capistrano
CapistranoCapistrano
Capistrano
Kenneth Kalmer
 
Systems Automation with Puppet
Systems Automation with PuppetSystems Automation with Puppet
Systems Automation with Puppetelliando dias
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
Jesse Gallagher
 
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Community
 
2012 04-19 theory-of_operation
2012 04-19 theory-of_operation2012 04-19 theory-of_operation
2012 04-19 theory-of_operationbobwolff68
 
Maven
MavenMaven
Viewflow internals: ~3k sloc explaned
Viewflow internals:  ~3k sloc explanedViewflow internals:  ~3k sloc explaned
Viewflow internals: ~3k sloc explaned
Mikhail Podgurskiy
 
Capistrano
CapistranoCapistrano
Capistrano
Jason Noble
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco Workflows
Francesco Valente
 
LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager
Alison Chaiken
 
Automated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and CapistranoAutomated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and Capistrano
Savvy - Automated profiles for developers
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
Kris Buytaert
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
Pablo Godel
 
Deployment with capistrano
Deployment with capistranoDeployment with capistrano
Deployment with capistrano
sagar junnarkar
 

Similar to Jbpm4 Deployer (20)

Towards Continuous Deployment with Django
Towards Continuous Deployment with DjangoTowards Continuous Deployment with Django
Towards Continuous Deployment with Django
 
An Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord AulkeAn Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord Aulke
 
Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient way
 
Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And Maven
 
Plugins 2.0: The Overview
Plugins 2.0: The OverviewPlugins 2.0: The Overview
Plugins 2.0: The Overview
 
Capistrano
CapistranoCapistrano
Capistrano
 
Systems Automation with Puppet
Systems Automation with PuppetSystems Automation with Puppet
Systems Automation with Puppet
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph
 
2012 04-19 theory-of_operation
2012 04-19 theory-of_operation2012 04-19 theory-of_operation
2012 04-19 theory-of_operation
 
Maven
MavenMaven
Maven
 
Viewflow internals: ~3k sloc explaned
Viewflow internals:  ~3k sloc explanedViewflow internals:  ~3k sloc explaned
Viewflow internals: ~3k sloc explaned
 
Capistrano
CapistranoCapistrano
Capistrano
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco Workflows
 
LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager
 
Automated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and CapistranoAutomated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and Capistrano
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
JAVA_STEP_V7
JAVA_STEP_V7JAVA_STEP_V7
JAVA_STEP_V7
 
Deployment with capistrano
Deployment with capistranoDeployment with capistrano
Deployment with capistrano
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 

Jbpm4 Deployer

  • 1. jBPM4 container integration: Deployer Heiko Braun <hbraun@redhat.com> 09.03.2009
  • 2. Overview • Process deployment specifics • Concepts and gotchas with deployment/ undeployment • Status and next steps
  • 3. AS deployments • Create a *.par archive and copy it to server/<config>/deploy • Can be done while AS running or when it’s shutdown • Covered by the AS deployer API
  • 4. Process deployment: BPM specifics • In BPM we expect long running processes • i.e. exists across AS reboots • Processes are versioned: • Deployment can lead to a new version or “replace” a prior one (aka patching) • Process model is actually a database model: • Redeployment is not idempotent [1] [1] “Acting as if used only once, even if used multiple times. “
  • 5. Deployment • Two approaches: Version or timestamp identification • Version: Explicit as part of the process definition (*.jpdl.xml) • Timestamp: Implicit, refers to the actual deployment artifact (filesystem) • Applies to the same deployment artifact (filename) • Derived policy identifies processes that will be stored in DB
  • 6. Deployment scenarios • Patching a process (i.e. replacing a class, bugfix, etc): - same artifact with same version • Providing a new process (i.e. different pdl): - same artifact different version, or no version at all • Otherwise: New artifact, new version
  • 7. Undeployment • Single approach: Does the deployment artifact exist? • Usally undeployment happens when removing files from server/ <config>/deploy • Exception: On server shutdown, all deployer get undeployment callbacks • Only if the deployment artifact is deleted the process will be removed
  • 8. Undeployment scenarios • Server shutdown - retain process • Artifact removed w. server running - delete process • Artifact removed with server stopped - Not realized by process engine ?!
  • 9. Process lifecycle and classloader • Server boot - Associate classloader, flag process “ready” • Server shutdown - Remove classloader, flag process “shutdown” • Gotcha: Artifact removed while server is shutdown • upon boot only processes w. artifacts will be flagged “ready” • leaves non-usable (“shutdown”) processes that need to be removed manually
  • 10. Status • Resides in ‘modules/integration’ • Implemented for AS 5 • No JNDI binding yet • No classloader association • Works as proof of concept
  • 11. Next steps • Port to AS 4.2.x • Implement JNDI bindings • Relationship to ‘enterprise’ module • Extended in container test coverage
  • 12. Q&A
  • 13. Appendix: Implemention on AS 5 • Deployment example 16:22:41,522 INFO [JBPMDeployer] Deploy JBPMDeploymentMetaData {unit=vfszip:/Users/hbraun/dev/prj/jboss/tags/JBoss_5_0_0_GA/build/ output/jboss-5.0.0.GA/server/default/deploy/Simple-Alpha2.jar/Simple_noversion.jpdl.xml, jpdl=vfszip:/Users/hbraun/dev/prj/jboss/tags/ JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA/server/default/deploy/Simple-Alpha2.jar/Simple_noversion.jpdl.xml, cl=BaseClassLoader@bc4d42{vfszip:/Users/hbraun/dev/prj/jboss/tags/JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA/server/default/deploy/Simple- Alpha2.jar}} 16:22:41,571 INFO [VersionTimestampPolicy] Timestamp driven policy evaluation: process 'Simple_noversion', timestamp 1236612157000 16:22:41,615 INFO [JBPMDeployer] Deploy JBPMDeploymentMetaData {unit=vfszip:/Users/hbraun/dev/prj/jboss/tags/JBoss_5_0_0_GA/build/ output/jboss-5.0.0.GA/server/default/deploy/Simple-Alpha2.jar/Simple_version.jpdl.xml, jpdl=vfszip:/Users/hbraun/dev/prj/jboss/tags/ JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA/server/default/deploy/Simple-Alpha2.jar/Simple_version.jpdl.xml, cl=BaseClassLoader@bc4d42{vfszip:/Users/hbraun/dev/prj/jboss/tags/JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA/server/default/deploy/Simple- Alpha2.jar}} 16:22:41,641 INFO [VersionTimestampPolicy] Version driven policy evaluation: process 'Simple_withversion', version 3
  • 14. Appendix: Implemention on AS 5 • Embracing EE5: 2009-03-09 15:26:22,737 INFO [org.jbpm.integration.jboss5.JBPMServiceImpl] (main) ProcessEngine bound to: java:/jbpm4 class myEJB { [...] try { InitialContext ctx = new InitialContext(); this.processEngine = (ProcessEngine)ctx.lookup(quot;java:/jbpm4quot;); } catch (Exception e) { throw new RuntimeException(quot;Failed to lookup process enginequot;); } }