SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
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;);
    }


}

Contenu connexe

Tendances

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 ReleasesSamsung Open Source Group
 
Drupal Workflow Concepts
Drupal Workflow ConceptsDrupal Workflow Concepts
Drupal Workflow Conceptscgmonroe
 
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 MarketplaceNuxeo
 
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 ApplicationsPerrin 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 SolutionAbimael Desales López
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on JenkinsKnoldus 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
 
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 buddyAske Olsson
 
Nuxeo and JavaScript
Nuxeo and JavaScriptNuxeo and JavaScript
Nuxeo and JavaScriptNuxeo
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul 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 workshopTrafeX
 

Tendances (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
 

En vedette

Errai Workspaces
Errai WorkspacesErrai Workspaces
Errai Workspaceshbraun
 
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 Workspaceshbraun
 
AS7 Console 2013
AS7 Console 2013AS7 Console 2013
AS7 Console 2013hbraun
 
Jug Zurich Slides
Jug Zurich SlidesJug Zurich Slides
Jug Zurich Slideshbraun
 
GWT Jug Stuttgart
GWT Jug StuttgartGWT Jug Stuttgart
GWT Jug Stuttgarthbraun
 
Gwt cdi jaxrs_hbraun
Gwt cdi jaxrs_hbraunGwt cdi jaxrs_hbraun
Gwt cdi jaxrs_hbraunhbraun
 
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_berlinhbraun
 
обзор российского рынка соков
обзор российского рынка соковобзор российского рынка соков
обзор российского рынка соков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 ACREDITACIONJordan 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.5Jordan Felipe Cabrera Nuñez
 

En vedette (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
 

Similaire à Jbpm4 Deployer

Towards Continuous Deployment with Django
Towards Continuous Deployment with DjangoTowards Continuous Deployment with Django
Towards Continuous Deployment with DjangoRoger 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 waySylvain 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 OverviewAtlassian
 
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
 
Viewflow internals: ~3k sloc explaned
Viewflow internals:  ~3k sloc explanedViewflow internals:  ~3k sloc explaned
Viewflow internals: ~3k sloc explanedMikhail Podgurskiy
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco WorkflowsFrancesco 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
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at ScaleKris Buytaert
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
Deployment with capistrano
Deployment with capistranoDeployment with capistrano
Deployment with capistranosagar junnarkar
 

Similaire à 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
 

Dernier

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Dernier (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

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;); } }