SlideShare a Scribd company logo
1 of 33
Download to read offline
Introduction to Activiti
     yangyunshuichn@gmail.com
                     2012.11.13
Contents                    Confidential
                                   Slide 2
                         21 November 2012



• Introduction
• Simple Demo
• Configuration
• Deployment
• BPMN 2.0
• Integration with RCP
• actviti-karaf
• Reference
Confidential
                         Slide 3
               21 November 2012




Introduction
Why we need Activiti?                                                              Confidential
                                                                                          Slide 4
                                                                                21 November 2012

• Everyday we are faced with all kinds of different processes. For
  example, when you order a book in an online bookstore a process is
  executed to get the book paid, packaged and shipped to you.
• Activiti provides an open source framework to design, implement and
  run processes. Organizations can use Activiti to implement their
  business processes.
   •   Modeler, a web-based graphical workflow authoring
   •   Designer, an Eclipse plug-in for developing workflows
   •   Engine, the core workflow processor
   •   Explorer, a web tool to deploy process definitions
   •   Cycle, a web app for collaboration between business users and software
       engineers
Platform Introduction                                                     Confidential
                                                                                 Slide 5
                                                                       21 November 2012

• Apache V2 License
• Required software: JDK 5+, Ant 1.8.1+, Eclipse 3.6+
• Download: http://activiti.org/download.html
• Reporting problems
   •   Activiti Forums - http://forums.activiti.org/
   •   JIRA: http://jira.codehaus.org/browse/ACT
• Experimental features
   •   Not stable
       •   Sections marked with [EXPERIMENTAL],
       •   All classes that have .impl. in the package name
   •   Stable
       •   User guide mentions those classes as configuration values
Confidential
                        Slide 6
              21 November 2012




Simple Demo
Simple Demo      Confidential
                        Slide 7
              21 November 2012
Simple Demo      Confidential
                        Slide 8
              21 November 2012
Confidential
                          Slide 9
                21 November 2012




Configuration
Creating a ProcessEngine                                                              Confidential
                                                                                            Slide 10
                                                                                   21 November 2012




  •   Look for an activiti.cfg.xml file on the classpath and construct an engine
      based on the configuration in that file.
Creating a ProcessEngine(cont’)                          Confidential
                                                               Slide 11
                                                      21 November 2012

• ProcessEngineConfiguration from configurated bean




• Don’t use a configuration file
Creating a ProcessEngine(cont’)                                                               Confidential
                                                                                                    Slide 12
                                                                                           21 November 2012

• ProcessEngineConfiguration bean
   This bean is used to construct the ProcessEngine.
   •   org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration
       •   Process engine is used in a standalone way. Activiti will take care of the
           transactions.
   •   org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration
       •   An H2 in-memory database is used by default. The database will be created and
           dropped when the engine boots and shuts down.
   •   org.activiti.spring.SpringProcessEngineConfiguration
       •   Process engine is used in a Spring environment.
   •   org.activiti.engine.impl.cfg.JtaProcessEngineConfiguration
       •   ([EXPERIMENTAL]) Using when the engine runs in standalone mode, with JTA
           transactions.
Database configuration                                                               Confidential
                                                                                           Slide 13
                                                                                  21 November 2012

• jdbcUrl
• jdbcDriver
• jdbcUsername
• jdbcPassword
• Optional
   •   jdbcMaxActiveConnections: The maximum number of active connections.
       Default is 10.
   •   jdbcMaxIdleConnections: The number of idle connections
   •   jdbcMaxCheckoutTime: Connection can be 'checked out' from the
       connection pool before it is forcefully returned. Default is 20000 (20
       seconds).
   •   jdbcMaxWaitTime: Chance to print a log status and re-attempt the
       acquisition of a connection waiting time, Default is 20000 (20 seconds).
Database table names                                                                    Confidential
                                                                                              Slide 14
                                                                                     21 November 2012

• Database names of Activiti all start with ACT_
   •   ACT_RE_*: 'RE' stands for repository. 'static'' information such as process
       definitions and, process resources (images, rules, etc.).
   •   ACT_RU_*: 'RU' stands for runtime. Runtime data of process instances,
       user tasks,variables, jobs, etc. Removes the records when a process
       instance ends.
   •   ACT_ID_*: 'ID' stands for identity. Identity information, such as users,
       groups, etc.
   •   ACT_HI_*: 'HI' stands for history. Historic data, such as past process
       instances, variables, tasks, etc.
   •   ACT_GE_*: general data, which is used in various use cases.
Supported databases                                                                                   Confidential
                                                                                                            Slide 15
                                                                                                   21 November 2012

 Activiti database type Versions tested Example JDBC URL                         Notes

                                                                              Default configured
 h2                  1.2.132         jdbc:h2:tcp://localhost/activiti
                                                                              database
                                                                              Tested using
                                     jdbc:mysql://localhost:3306/activiti?aut mysql-connetor-
 mysql               5.1.11
                                     oReconnect=true                          java database
                                                                              driver
 oracle              10.2.0          jdbc:oracle:thin:@localhost:1521:xe

 postgres            8.4             jdbc:postgresql://localhost:5432/activiti
                     DB2 9.7 using
 db2                                 jdbc:db2://localhost:50000/activiti         [EXPERIMENTAL]
                     db2jcc4
                     2008 using      jdbc:jtds:sqlserver://localhost:1433/acti
 mssql                                                                         [EXPERIMENTAL]
                     JDBC jtds-1.2.4 viti
Confidential
                      Slide 16
             21 November 2012




Deployment
Deployment                              Confidential
                                              Slide 17
                                     21 November 2012

• Deploying programmatically


• Deploying with ant




• Deploying with Activiti Explorer




    •   Refer to User Guide
Deploying with Activiti Explorer      Confidential
                                            Slide 18
                                   21 November 2012

• Example process



• Process definition database




• Processes
Confidential
                    Slide 19
           21 November 2012




BPMN 2.0
Introduction                                                                       Confidential
                                                                                         Slide 20
                                                                                21 November 2012

• What is BPMN?
   •   BPMN(Business Process Model and Notation) is a graphical
       representation for specifying business processes in a business process
       model.
   •   Business Process Management Initiative (BPMI) developed BPMN, which
       has been maintained by the Object Management Group since the two
       organizations merged in 2005. As of March 2011, the current version of
       BPMN is 2.0.
BPMN 2.0 Constructs                                        Confidential
                                                                 Slide 21
                                                        21 November 2012

• Eclipse Activiti BPMN Designer
   •   Eclipse - http://activiti.org/designer/update/
Confidential
                                Slide 22
                       21 November 2012




Integration with RCP
BPMN Diagram      Confidential
                        Slide 23
               21 November 2012
Condition Expression      Confidential
                                Slide 24
                       21 November 2012
Service Task      Confidential
                        Slide 25
               21 November 2012
Service Implement                             Confidential
                                                    Slide 26
                                           21 November 2012

•   ProcessServiceDelegate


• LayerServiceDelegate


• CascalSessionHandlerServiceDelegate


• CpmSessionHandlerServiceDelegate


• ErrorSessionTypeHandlerServiceDelegate
Service Implement(cont’)           Confidential
                                         Slide 27
                                21 November 2012

•   RunSessionServiceDelegate
Example View      Confidential
                        Slide 28
               21 November 2012
Confidential
                          Slide 29
                 21 November 2012




activiti-karaf
activiti-karaf                                                                     Confidential
                                                                                         Slide 30
                                                                                21 November 2012

• This project packages and configures Activiti components (Runtime,
  CLI and Web based tools) in Apache Karaf Container to make Activiti
  available on a ready to use OSGi platform.
• Consists:
   •   Maven projects - to configure and package the Activiti components with
       Apache Karaf
   •   Activiti CLI - set of Karaf Commands to manage Activiti/BPMN artifacts
       deployed on the Activiti runtime in the Karaf Container
   •   Examples - example code to build and deploy osgi bundles with Activiti
       BPMN artifacts to the Activiti runtime in the Karaf Container.
   •   Activiti Maven Archetype - to create a maven based project to develop,
       build and deploy Activiti BPMN artifacts.
   •   Other patches to the Activiti components(like web based tools) to make
       them usable in OSGi container
activiti-karaf                                                                    Confidential
                                                                                        Slide 31
                                                                               21 November 2012

• 1. Download distribution archive
• 2. Unzip the downloaded file to some location (e.g c:/demo)
            note: if unzip tool prompts for overwrite files, ignore
• 3. Install Required Software
• 4. Start Activiti Karaf - cd to bin directory in unziped folder and
  execute karaf
• 5. Access Activiti Web tools
    •   5.1 Open Activiti Modeler - http://localhost:8181/activiti-modeler
    •   5.2 Open Activiti Explorer - http://localhost:8181/activiti-explorer
        •    use kermit/kermit as username/password for login
• …
• Run Activiti CLI commands
Reference                                       Confidential
                                                      Slide 32
                                             21 November 2012

• http://activiti.org/download.html
• http://activiti.org/userguide/index.html
• http://activiti.org/javadocs/index.html
• http://www.manning.com/rademakers2/
• http://code.google.com/p/activiti-karaf/
Thanks!

More Related Content

What's hot

Activiti - the Open Source Business Process Management platform by Alfresco
Activiti - the Open Source Business Process Management platform by AlfrescoActiviti - the Open Source Business Process Management platform by Alfresco
Activiti - the Open Source Business Process Management platform by AlfrescoAmplexor
 
Open Source BPM in Java
Open Source BPM in JavaOpen Source BPM in Java
Open Source BPM in JavaDavid Noble
 
Process Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootProcess Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootChavdar Baikov
 
Practical Application of API-First in microservices development
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices developmentChavdar Baikov
 
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)Serena Software
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxldominion
 
Integrated Requirements Management with Serena Dimensions RM 02-2016
Integrated Requirements Management with Serena Dimensions RM 02-2016Integrated Requirements Management with Serena Dimensions RM 02-2016
Integrated Requirements Management with Serena Dimensions RM 02-2016Serena Software
 
Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Slobodan Lohja
 
jBPM Migration - generating your process future
jBPM Migration - generating your process futurejBPM Migration - generating your process future
jBPM Migration - generating your process futureEric D. Schabell
 
Webinar: Le novità di Alfresco 5.1
Webinar: Le novità di Alfresco 5.1 Webinar: Le novità di Alfresco 5.1
Webinar: Le novità di Alfresco 5.1 Alfresco Software
 
Grails At Linked
Grails At LinkedGrails At Linked
Grails At LinkedLinkedIn
 
Webinar get move_on_with_bpmsuite6
Webinar get move_on_with_bpmsuite6Webinar get move_on_with_bpmsuite6
Webinar get move_on_with_bpmsuite6Eric D. Schabell
 
jBPM Suite admin workshop
jBPM Suite admin workshopjBPM Suite admin workshop
jBPM Suite admin workshopJózsef Lenti
 
Grails patterns and practices
Grails patterns and practicesGrails patterns and practices
Grails patterns and practicespaulbowler
 
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...VibrantGroup
 
What's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersWhat's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersDatavail
 
Alfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
Alfresco Day Barcelona 2016 - Conversaciones con Partners: PernexasAlfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
Alfresco Day Barcelona 2016 - Conversaciones con Partners: PernexasAlfresco Software
 

What's hot (19)

Activiti - the Open Source Business Process Management platform by Alfresco
Activiti - the Open Source Business Process Management platform by AlfrescoActiviti - the Open Source Business Process Management platform by Alfresco
Activiti - the Open Source Business Process Management platform by Alfresco
 
Open Source BPM in Java
Open Source BPM in JavaOpen Source BPM in Java
Open Source BPM in Java
 
Process Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootProcess Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring Boot
 
Practical Application of API-First in microservices development
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices development
 
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
 
Integrated Requirements Management with Serena Dimensions RM 02-2016
Integrated Requirements Management with Serena Dimensions RM 02-2016Integrated Requirements Management with Serena Dimensions RM 02-2016
Integrated Requirements Management with Serena Dimensions RM 02-2016
 
Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021
 
jBPM Migration - generating your process future
jBPM Migration - generating your process futurejBPM Migration - generating your process future
jBPM Migration - generating your process future
 
Webinar: Le novità di Alfresco 5.1
Webinar: Le novità di Alfresco 5.1 Webinar: Le novità di Alfresco 5.1
Webinar: Le novità di Alfresco 5.1
 
Grails At Linked
Grails At LinkedGrails At Linked
Grails At Linked
 
Webinar get move_on_with_bpmsuite6
Webinar get move_on_with_bpmsuite6Webinar get move_on_with_bpmsuite6
Webinar get move_on_with_bpmsuite6
 
jBPM Suite admin workshop
jBPM Suite admin workshopjBPM Suite admin workshop
jBPM Suite admin workshop
 
Grails patterns and practices
Grails patterns and practicesGrails patterns and practices
Grails patterns and practices
 
Alfresco activiti workflows
Alfresco activiti workflowsAlfresco activiti workflows
Alfresco activiti workflows
 
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...
Jboss Application Server training-course-navi-mumbai-jboss-course-provider-na...
 
What's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersWhat's New in Oracle BI for Developers
What's New in Oracle BI for Developers
 
Alfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
Alfresco Day Barcelona 2016 - Conversaciones con Partners: PernexasAlfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
Alfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
 
What's new in SBM 11.1
What's new in SBM 11.1What's new in SBM 11.1
What's new in SBM 11.1
 

Viewers also liked

Activiti in Action for BeJUG Part II
Activiti in Action for BeJUG Part IIActiviti in Action for BeJUG Part II
Activiti in Action for BeJUG Part IITom Baeyens
 
Introduction to Alfresco Activiti BPM
Introduction to Alfresco Activiti BPMIntroduction to Alfresco Activiti BPM
Introduction to Alfresco Activiti BPMPaul Hampton
 
JWT-To-Activiti
JWT-To-ActivitiJWT-To-Activiti
JWT-To-ActivitiE P
 
BPM-3 Advanced Workflow Deep Dive
BPM-3 Advanced Workflow Deep DiveBPM-3 Advanced Workflow Deep Dive
BPM-3 Advanced Workflow Deep DiveAlfresco Software
 
BPMN 2.0 Tutorial 01 - Basic Constructs
BPMN 2.0 Tutorial 01 - Basic ConstructsBPMN 2.0 Tutorial 01 - Basic Constructs
BPMN 2.0 Tutorial 01 - Basic ConstructsMichael zur Muehlen
 
Benchmarck 2014 Bonita Activiti Jbpm
Benchmarck 2014 Bonita Activiti JbpmBenchmarck 2014 Bonita Activiti Jbpm
Benchmarck 2014 Bonita Activiti JbpmKarim Baïna
 
Introduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationIntroduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationSanae BEKKAR
 
Creative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsCreative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsTommaso Di Bartolo
 

Viewers also liked (10)

Activiti bpm
Activiti bpmActiviti bpm
Activiti bpm
 
Activiti in Action for BeJUG Part II
Activiti in Action for BeJUG Part IIActiviti in Action for BeJUG Part II
Activiti in Action for BeJUG Part II
 
Introduction to Alfresco Activiti BPM
Introduction to Alfresco Activiti BPMIntroduction to Alfresco Activiti BPM
Introduction to Alfresco Activiti BPM
 
JWT-To-Activiti
JWT-To-ActivitiJWT-To-Activiti
JWT-To-Activiti
 
BPM-3 Advanced Workflow Deep Dive
BPM-3 Advanced Workflow Deep DiveBPM-3 Advanced Workflow Deep Dive
BPM-3 Advanced Workflow Deep Dive
 
Bpmn
BpmnBpmn
Bpmn
 
BPMN 2.0 Tutorial 01 - Basic Constructs
BPMN 2.0 Tutorial 01 - Basic ConstructsBPMN 2.0 Tutorial 01 - Basic Constructs
BPMN 2.0 Tutorial 01 - Basic Constructs
 
Benchmarck 2014 Bonita Activiti Jbpm
Benchmarck 2014 Bonita Activiti JbpmBenchmarck 2014 Bonita Activiti Jbpm
Benchmarck 2014 Bonita Activiti Jbpm
 
Introduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationIntroduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling Notation
 
Creative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsCreative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage Startups
 

Similar to Introduction to Activiti

BP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoBP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoSerdar Basegmez
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsNigel Charman
 
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...hannonhill
 
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...Juarez Junior
 
An Active and Hybrid Storage System for Data-intensive Applications
An Active and Hybrid Storage System for Data-intensive ApplicationsAn Active and Hybrid Storage System for Data-intensive Applications
An Active and Hybrid Storage System for Data-intensive ApplicationsXiao Qin
 
SharePoint 2010 – Installation and maintenance – best practices
SharePoint 2010 – Installation and maintenance – best practicesSharePoint 2010 – Installation and maintenance – best practices
SharePoint 2010 – Installation and maintenance – best practicesToni Frankola
 
The Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web ApplicationsThe Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web ApplicationsLansenConsulting
 
6212883126866262792 performance testing_cloud
6212883126866262792 performance testing_cloud6212883126866262792 performance testing_cloud
6212883126866262792 performance testing_cloudLocuto Riorama
 
Cloud Conference Day - Revolutionize Java Database App Development with React...
Cloud Conference Day - Revolutionize Java Database App Development with React...Cloud Conference Day - Revolutionize Java Database App Development with React...
Cloud Conference Day - Revolutionize Java Database App Development with React...Juarez Junior
 
Spring intro classes-in-mumbai
Spring intro classes-in-mumbaiSpring intro classes-in-mumbai
Spring intro classes-in-mumbaivibrantuser
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinLeanIX GmbH
 
Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process securityRyosuke MATSUMOTO
 
Daniel Ridder ABAP Core Data Services No Pain, No Gain
Daniel Ridder ABAP Core Data Services No Pain, No GainDaniel Ridder ABAP Core Data Services No Pain, No Gain
Daniel Ridder ABAP Core Data Services No Pain, No GainDaniel Ridder
 
Ugf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeUgf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeBerry Clemens
 

Similar to Introduction to Activiti (20)

Jenkins 1
Jenkins 1Jenkins 1
Jenkins 1
 
Oracle 12c Launch Event 02 ADF 12c and Maven in Jdeveloper / By Aino Andriessen
Oracle 12c Launch Event 02 ADF 12c and Maven in Jdeveloper / By Aino Andriessen Oracle 12c Launch Event 02 ADF 12c and Maven in Jdeveloper / By Aino Andriessen
Oracle 12c Launch Event 02 ADF 12c and Maven in Jdeveloper / By Aino Andriessen
 
Ow
OwOw
Ow
 
BP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoBP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM Domino
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of Jenkins
 
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
 
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
 
An Active and Hybrid Storage System for Data-intensive Applications
An Active and Hybrid Storage System for Data-intensive ApplicationsAn Active and Hybrid Storage System for Data-intensive Applications
An Active and Hybrid Storage System for Data-intensive Applications
 
Plantilla oracle
Plantilla oraclePlantilla oracle
Plantilla oracle
 
SharePoint 2010 – Installation and maintenance – best practices
SharePoint 2010 – Installation and maintenance – best practicesSharePoint 2010 – Installation and maintenance – best practices
SharePoint 2010 – Installation and maintenance – best practices
 
Oracle Data Integrator
Oracle Data Integrator Oracle Data Integrator
Oracle Data Integrator
 
The Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web ApplicationsThe Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web Applications
 
6212883126866262792 performance testing_cloud
6212883126866262792 performance testing_cloud6212883126866262792 performance testing_cloud
6212883126866262792 performance testing_cloud
 
Cloud Conference Day - Revolutionize Java Database App Development with React...
Cloud Conference Day - Revolutionize Java Database App Development with React...Cloud Conference Day - Revolutionize Java Database App Development with React...
Cloud Conference Day - Revolutionize Java Database App Development with React...
 
Spring intro classes-in-mumbai
Spring intro classes-in-mumbaiSpring intro classes-in-mumbai
Spring intro classes-in-mumbai
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 
Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process security
 
Daniel Ridder ABAP Core Data Services No Pain, No Gain
Daniel Ridder ABAP Core Data Services No Pain, No GainDaniel Ridder ABAP Core Data Services No Pain, No Gain
Daniel Ridder ABAP Core Data Services No Pain, No Gain
 
Hybernat and structs, spring classes in mumbai
Hybernat and structs, spring classes in mumbaiHybernat and structs, spring classes in mumbai
Hybernat and structs, spring classes in mumbai
 
Ugf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obieeUgf9796 weblogic for ebs and obiee
Ugf9796 weblogic for ebs and obiee
 

Recently uploaded

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Introduction to Activiti

  • 1. Introduction to Activiti yangyunshuichn@gmail.com 2012.11.13
  • 2. Contents Confidential Slide 2 21 November 2012 • Introduction • Simple Demo • Configuration • Deployment • BPMN 2.0 • Integration with RCP • actviti-karaf • Reference
  • 3. Confidential Slide 3 21 November 2012 Introduction
  • 4. Why we need Activiti? Confidential Slide 4 21 November 2012 • Everyday we are faced with all kinds of different processes. For example, when you order a book in an online bookstore a process is executed to get the book paid, packaged and shipped to you. • Activiti provides an open source framework to design, implement and run processes. Organizations can use Activiti to implement their business processes. • Modeler, a web-based graphical workflow authoring • Designer, an Eclipse plug-in for developing workflows • Engine, the core workflow processor • Explorer, a web tool to deploy process definitions • Cycle, a web app for collaboration between business users and software engineers
  • 5. Platform Introduction Confidential Slide 5 21 November 2012 • Apache V2 License • Required software: JDK 5+, Ant 1.8.1+, Eclipse 3.6+ • Download: http://activiti.org/download.html • Reporting problems • Activiti Forums - http://forums.activiti.org/ • JIRA: http://jira.codehaus.org/browse/ACT • Experimental features • Not stable • Sections marked with [EXPERIMENTAL], • All classes that have .impl. in the package name • Stable • User guide mentions those classes as configuration values
  • 6. Confidential Slide 6 21 November 2012 Simple Demo
  • 7. Simple Demo Confidential Slide 7 21 November 2012
  • 8. Simple Demo Confidential Slide 8 21 November 2012
  • 9. Confidential Slide 9 21 November 2012 Configuration
  • 10. Creating a ProcessEngine Confidential Slide 10 21 November 2012 • Look for an activiti.cfg.xml file on the classpath and construct an engine based on the configuration in that file.
  • 11. Creating a ProcessEngine(cont’) Confidential Slide 11 21 November 2012 • ProcessEngineConfiguration from configurated bean • Don’t use a configuration file
  • 12. Creating a ProcessEngine(cont’) Confidential Slide 12 21 November 2012 • ProcessEngineConfiguration bean This bean is used to construct the ProcessEngine. • org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration • Process engine is used in a standalone way. Activiti will take care of the transactions. • org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration • An H2 in-memory database is used by default. The database will be created and dropped when the engine boots and shuts down. • org.activiti.spring.SpringProcessEngineConfiguration • Process engine is used in a Spring environment. • org.activiti.engine.impl.cfg.JtaProcessEngineConfiguration • ([EXPERIMENTAL]) Using when the engine runs in standalone mode, with JTA transactions.
  • 13. Database configuration Confidential Slide 13 21 November 2012 • jdbcUrl • jdbcDriver • jdbcUsername • jdbcPassword • Optional • jdbcMaxActiveConnections: The maximum number of active connections. Default is 10. • jdbcMaxIdleConnections: The number of idle connections • jdbcMaxCheckoutTime: Connection can be 'checked out' from the connection pool before it is forcefully returned. Default is 20000 (20 seconds). • jdbcMaxWaitTime: Chance to print a log status and re-attempt the acquisition of a connection waiting time, Default is 20000 (20 seconds).
  • 14. Database table names Confidential Slide 14 21 November 2012 • Database names of Activiti all start with ACT_ • ACT_RE_*: 'RE' stands for repository. 'static'' information such as process definitions and, process resources (images, rules, etc.). • ACT_RU_*: 'RU' stands for runtime. Runtime data of process instances, user tasks,variables, jobs, etc. Removes the records when a process instance ends. • ACT_ID_*: 'ID' stands for identity. Identity information, such as users, groups, etc. • ACT_HI_*: 'HI' stands for history. Historic data, such as past process instances, variables, tasks, etc. • ACT_GE_*: general data, which is used in various use cases.
  • 15. Supported databases Confidential Slide 15 21 November 2012 Activiti database type Versions tested Example JDBC URL Notes Default configured h2 1.2.132 jdbc:h2:tcp://localhost/activiti database Tested using jdbc:mysql://localhost:3306/activiti?aut mysql-connetor- mysql 5.1.11 oReconnect=true java database driver oracle 10.2.0 jdbc:oracle:thin:@localhost:1521:xe postgres 8.4 jdbc:postgresql://localhost:5432/activiti DB2 9.7 using db2 jdbc:db2://localhost:50000/activiti [EXPERIMENTAL] db2jcc4 2008 using jdbc:jtds:sqlserver://localhost:1433/acti mssql [EXPERIMENTAL] JDBC jtds-1.2.4 viti
  • 16. Confidential Slide 16 21 November 2012 Deployment
  • 17. Deployment Confidential Slide 17 21 November 2012 • Deploying programmatically • Deploying with ant • Deploying with Activiti Explorer • Refer to User Guide
  • 18. Deploying with Activiti Explorer Confidential Slide 18 21 November 2012 • Example process • Process definition database • Processes
  • 19. Confidential Slide 19 21 November 2012 BPMN 2.0
  • 20. Introduction Confidential Slide 20 21 November 2012 • What is BPMN? • BPMN(Business Process Model and Notation) is a graphical representation for specifying business processes in a business process model. • Business Process Management Initiative (BPMI) developed BPMN, which has been maintained by the Object Management Group since the two organizations merged in 2005. As of March 2011, the current version of BPMN is 2.0.
  • 21. BPMN 2.0 Constructs Confidential Slide 21 21 November 2012 • Eclipse Activiti BPMN Designer • Eclipse - http://activiti.org/designer/update/
  • 22. Confidential Slide 22 21 November 2012 Integration with RCP
  • 23. BPMN Diagram Confidential Slide 23 21 November 2012
  • 24. Condition Expression Confidential Slide 24 21 November 2012
  • 25. Service Task Confidential Slide 25 21 November 2012
  • 26. Service Implement Confidential Slide 26 21 November 2012 • ProcessServiceDelegate • LayerServiceDelegate • CascalSessionHandlerServiceDelegate • CpmSessionHandlerServiceDelegate • ErrorSessionTypeHandlerServiceDelegate
  • 27. Service Implement(cont’) Confidential Slide 27 21 November 2012 • RunSessionServiceDelegate
  • 28. Example View Confidential Slide 28 21 November 2012
  • 29. Confidential Slide 29 21 November 2012 activiti-karaf
  • 30. activiti-karaf Confidential Slide 30 21 November 2012 • This project packages and configures Activiti components (Runtime, CLI and Web based tools) in Apache Karaf Container to make Activiti available on a ready to use OSGi platform. • Consists: • Maven projects - to configure and package the Activiti components with Apache Karaf • Activiti CLI - set of Karaf Commands to manage Activiti/BPMN artifacts deployed on the Activiti runtime in the Karaf Container • Examples - example code to build and deploy osgi bundles with Activiti BPMN artifacts to the Activiti runtime in the Karaf Container. • Activiti Maven Archetype - to create a maven based project to develop, build and deploy Activiti BPMN artifacts. • Other patches to the Activiti components(like web based tools) to make them usable in OSGi container
  • 31. activiti-karaf Confidential Slide 31 21 November 2012 • 1. Download distribution archive • 2. Unzip the downloaded file to some location (e.g c:/demo) note: if unzip tool prompts for overwrite files, ignore • 3. Install Required Software • 4. Start Activiti Karaf - cd to bin directory in unziped folder and execute karaf • 5. Access Activiti Web tools • 5.1 Open Activiti Modeler - http://localhost:8181/activiti-modeler • 5.2 Open Activiti Explorer - http://localhost:8181/activiti-explorer • use kermit/kermit as username/password for login • … • Run Activiti CLI commands
  • 32. Reference Confidential Slide 32 21 November 2012 • http://activiti.org/download.html • http://activiti.org/userguide/index.html • http://activiti.org/javadocs/index.html • http://www.manning.com/rademakers2/ • http://code.google.com/p/activiti-karaf/