SlideShare a Scribd company logo
1 of 37
Consolidating the BPM market
Agenda What is Business Process Management? What is Activiti? What can Activiti do for you? As a business person As a developer As system admin
What is BPM? Management discipline Software engineering
BPM As A Management Discipline Make your company more efficient Analysing Documenting Optimising Business processes
What do you need for BPMAAMD? Many tools Napkin, Whiteboard, Word, Excel,… Many model types Process modeling Good BPMN drawing Descriptions Notes Versioning Collaboration
BPM As Software Engineering Draw execution flow in a tool Decorate diagram with technical details Run process on BPMS BPMS  Keeps track of state Acts as central coordinator Executes automatic pieces Essentially a state machine
What do you need for BPMASE? Runtime engine Executable processes as input Coordinates executions Keeps track of state
Getting it wrong Typical product We can start from a business level diagram And then execute it on a system So many hidden options Notation vs execution language General purpose  complex language Specific  simple language Context Web services / SOA / ESB Java  ECM Human tasks Result Graphical programming for business analysts A lot of niche products Fragmentation
Activiti’s pragmatical approach Business people don’t write software Executable processes  Combines diagram and tech details It’s software Under control of developers  Inside software project Facilitate collaboration Diagram provides common language Level of business people
An example var a = 1; a = a + 1; println(a);
Deploy the executable process var a = 1; a = a + 1; println(a); BPMS Runtime Engine
Start a new process instance BPMS Runtime Engine var a = 1; startProcessInstance a = a + 1; println(a);
BPMS as the central coordinator
A human task activity Create entry in task list Wait Store state in DB When task completes Send event to process instance Process instance continues var a = 1; approve println(a);
A human task activity BPMS Runtime Engine Tasklist Manager var a = 1; startProcessInstance John Doe  |  Approve Process Instance approve event println(a);
State machines and transactions BPMS acts as coordinator External actor means wait state for BPMS Examples Human tasks Webservice principle: “I’ll call you back” Wait for arrival of some asynchronous message Approve
State machines and transactions Upon arrival of execution in wait state Store current execution state  Position Context variables Commit transaction While waiting No blocked threads / resources Upon resume Load execution from DB Continue executing
Timers Create a timer when activity is entered Cancel timer when activity is left Fire timer when duedate arrives approve escalate
Asynchronous Continuations Job Executor pdf-g Transaction 1 Transaction 2
Transactional Control Flow Specify overal execution flow Analyse where the external triggers are Activiti wil juggle with  Execution state Timers Messages  And call your POJO beans where needed
BPMS DB contents Process definitions repository Versioned Process instances Runtime state History Statistics
A Process
An Execution Execution
History HISTORY_PROCESS_INSTANCE ID START END … PROCESS 10:04 1 09:38 Order-1 09:39 1 09:38 1 Calculate Quote 2 09:39 1 Check Credit 09:42 3 09:42 1 Accept Quote 10:03 4 10:03 1 Charge Customer 10:04 HISTORY_ACTIVITY_INSTANCE ID START END … HPI ACTIVITY
History
What is Activiti New project created by Alfresco BPMN 2.0 BPMS Lead by jBPM founders Apache license Run as independent project
Who’s behind Activiti Alfresco  SpringSource Camunda Signavio Next Level Integration Mimacom MuleSoft
Activiti jBPM
Your Application Embedded BPM Tasklist Manager BPMS Runtime Engine BPMS History Your domain model
Bring BPM to where it’s used Activiti Engine Enterprise Apps Cloud ECM
Activiti is a complete BPM Suite Activiti Engine Process repository Process instances runtime state Process execution history Identity component Tasklist component Activiti Probe Activiti Explorer Activiti Cycle
Activiti Explorer End user task list Manage my tasks Execute workflows
Activiti Probe Management console for sys admins Manage deployments Manage versioning See deployed process sources View database tables
Activiti Modeler Activiti branded and powered by Signavio Browser-based design and control tools Targetted at Business Analysts Easy to use AJAX tools Customized file based model repository Easy scripting
Process In The Dev Cycle Developer Analyst Sys Admin Model Repo Alfresco SVN MVN Tomcat Activiti Activiti Cycle
Activiti Cycle (Mockup)
Q&A

More Related Content

Similar to 2010 06-b2b bypracticesummit

Sneak Preview of jBPM 4 at JAX conference
Sneak Preview of jBPM 4 at JAX conferenceSneak Preview of jBPM 4 at JAX conference
Sneak Preview of jBPM 4 at JAX conferenceTom Baeyens
 
Business Process Design
Business Process DesignBusiness Process Design
Business Process DesignSandy Kemsley
 
jBPM at JBossWorld Chicago 2009
jBPM at JBossWorld Chicago 2009jBPM at JBossWorld Chicago 2009
jBPM at JBossWorld Chicago 2009Tom Baeyens
 
jBPM At Riviera JUG
jBPM At Riviera JUGjBPM At Riviera JUG
jBPM At Riviera JUGTom Baeyens
 
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesJBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesKris Verlaenen
 
Kris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beKris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beAndries Inzé
 
Delivering BAM & BPM With Run-Time Integration
Delivering BAM & BPM With Run-Time IntegrationDelivering BAM & BPM With Run-Time Integration
Delivering BAM & BPM With Run-Time IntegrationNathaniel Palmer
 
ON-DEMAND WEBINAR Why Your CRM System Needs RPA
ON-DEMAND WEBINAR Why Your CRM System Needs RPAON-DEMAND WEBINAR Why Your CRM System Needs RPA
ON-DEMAND WEBINAR Why Your CRM System Needs RPAHelpSystems
 
BCMS - BPM Presentation
BCMS - BPM PresentationBCMS - BPM Presentation
BCMS - BPM PresentationAdrien LABORIE
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process ModelingSandy Kemsley
 
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPMEMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPMEric D. Schabell
 
jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)Kris Verlaenen
 
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
 
The Art of Process Modeling: Theory and Practice
The Art of Process Modeling: Theory and PracticeThe Art of Process Modeling: Theory and Practice
The Art of Process Modeling: Theory and PracticeSandy Kemsley
 

Similar to 2010 06-b2b bypracticesummit (20)

Sneak Preview of jBPM 4 at JAX conference
Sneak Preview of jBPM 4 at JAX conferenceSneak Preview of jBPM 4 at JAX conference
Sneak Preview of jBPM 4 at JAX conference
 
Business Process Design
Business Process DesignBusiness Process Design
Business Process Design
 
jBPM at JBossWorld Chicago 2009
jBPM at JBossWorld Chicago 2009jBPM at JBossWorld Chicago 2009
jBPM at JBossWorld Chicago 2009
 
jBPM At Riviera JUG
jBPM At Riviera JUGjBPM At Riviera JUG
jBPM At Riviera JUG
 
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesJBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
 
Jbpm as a bpms
Jbpm as a bpmsJbpm as a bpms
Jbpm as a bpms
 
Kris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beKris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.be
 
Delivering BAM & BPM With Run-Time Integration
Delivering BAM & BPM With Run-Time IntegrationDelivering BAM & BPM With Run-Time Integration
Delivering BAM & BPM With Run-Time Integration
 
IBM Business Process Management 8.5
IBM Business Process Management 8.5IBM Business Process Management 8.5
IBM Business Process Management 8.5
 
ON-DEMAND WEBINAR Why Your CRM System Needs RPA
ON-DEMAND WEBINAR Why Your CRM System Needs RPAON-DEMAND WEBINAR Why Your CRM System Needs RPA
ON-DEMAND WEBINAR Why Your CRM System Needs RPA
 
BCMS - BPM Presentation
BCMS - BPM PresentationBCMS - BPM Presentation
BCMS - BPM Presentation
 
Demystifying BPM
Demystifying BPMDemystifying BPM
Demystifying BPM
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
 
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPMEMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
 
jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)
 
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
 
The Art of Process Modeling: Theory and Practice
The Art of Process Modeling: Theory and PracticeThe Art of Process Modeling: Theory and Practice
The Art of Process Modeling: Theory and Practice
 
About work flow
About work flowAbout work flow
About work flow
 
Carasik BPM ECM
Carasik BPM ECMCarasik BPM ECM
Carasik BPM ECM
 
Lombardi intro full
Lombardi intro  full Lombardi intro  full
Lombardi intro full
 

More from Tom Baeyens

Bring Your Own People Centric Business Processes
Bring Your Own People Centric Business ProcessesBring Your Own People Centric Business Processes
Bring Your Own People Centric Business ProcessesTom Baeyens
 
How BPM Connects The Internet of Enterprise Things Using Effektif
How BPM Connects The Internet of Enterprise Things Using EffektifHow BPM Connects The Internet of Enterprise Things Using Effektif
How BPM Connects The Internet of Enterprise Things Using EffektifTom Baeyens
 
Effektif Launch Demo (German)
Effektif Launch Demo (German)Effektif Launch Demo (German)
Effektif Launch Demo (German)Tom Baeyens
 
Effektif Launch Demo
Effektif Launch DemoEffektif Launch Demo
Effektif Launch DemoTom Baeyens
 
The Decade of Open APIs
The Decade of Open APIsThe Decade of Open APIs
The Decade of Open APIsTom Baeyens
 
Effektif workshop May 2013
Effektif workshop May 2013Effektif workshop May 2013
Effektif workshop May 2013Tom Baeyens
 
Devoxx Activiti in Action
Devoxx Activiti in ActionDevoxx Activiti in Action
Devoxx Activiti in ActionTom Baeyens
 
jBPM 4 BeJUG Event March 20 2009
jBPM 4 BeJUG Event March 20 2009jBPM 4 BeJUG Event March 20 2009
jBPM 4 BeJUG Event March 20 2009Tom Baeyens
 

More from Tom Baeyens (8)

Bring Your Own People Centric Business Processes
Bring Your Own People Centric Business ProcessesBring Your Own People Centric Business Processes
Bring Your Own People Centric Business Processes
 
How BPM Connects The Internet of Enterprise Things Using Effektif
How BPM Connects The Internet of Enterprise Things Using EffektifHow BPM Connects The Internet of Enterprise Things Using Effektif
How BPM Connects The Internet of Enterprise Things Using Effektif
 
Effektif Launch Demo (German)
Effektif Launch Demo (German)Effektif Launch Demo (German)
Effektif Launch Demo (German)
 
Effektif Launch Demo
Effektif Launch DemoEffektif Launch Demo
Effektif Launch Demo
 
The Decade of Open APIs
The Decade of Open APIsThe Decade of Open APIs
The Decade of Open APIs
 
Effektif workshop May 2013
Effektif workshop May 2013Effektif workshop May 2013
Effektif workshop May 2013
 
Devoxx Activiti in Action
Devoxx Activiti in ActionDevoxx Activiti in Action
Devoxx Activiti in Action
 
jBPM 4 BeJUG Event March 20 2009
jBPM 4 BeJUG Event March 20 2009jBPM 4 BeJUG Event March 20 2009
jBPM 4 BeJUG Event March 20 2009
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

2010 06-b2b bypracticesummit

  • 2. Agenda What is Business Process Management? What is Activiti? What can Activiti do for you? As a business person As a developer As system admin
  • 3. What is BPM? Management discipline Software engineering
  • 4. BPM As A Management Discipline Make your company more efficient Analysing Documenting Optimising Business processes
  • 5. What do you need for BPMAAMD? Many tools Napkin, Whiteboard, Word, Excel,… Many model types Process modeling Good BPMN drawing Descriptions Notes Versioning Collaboration
  • 6. BPM As Software Engineering Draw execution flow in a tool Decorate diagram with technical details Run process on BPMS BPMS Keeps track of state Acts as central coordinator Executes automatic pieces Essentially a state machine
  • 7. What do you need for BPMASE? Runtime engine Executable processes as input Coordinates executions Keeps track of state
  • 8. Getting it wrong Typical product We can start from a business level diagram And then execute it on a system So many hidden options Notation vs execution language General purpose  complex language Specific  simple language Context Web services / SOA / ESB Java ECM Human tasks Result Graphical programming for business analysts A lot of niche products Fragmentation
  • 9. Activiti’s pragmatical approach Business people don’t write software Executable processes Combines diagram and tech details It’s software Under control of developers Inside software project Facilitate collaboration Diagram provides common language Level of business people
  • 10. An example var a = 1; a = a + 1; println(a);
  • 11. Deploy the executable process var a = 1; a = a + 1; println(a); BPMS Runtime Engine
  • 12. Start a new process instance BPMS Runtime Engine var a = 1; startProcessInstance a = a + 1; println(a);
  • 13. BPMS as the central coordinator
  • 14. A human task activity Create entry in task list Wait Store state in DB When task completes Send event to process instance Process instance continues var a = 1; approve println(a);
  • 15. A human task activity BPMS Runtime Engine Tasklist Manager var a = 1; startProcessInstance John Doe | Approve Process Instance approve event println(a);
  • 16. State machines and transactions BPMS acts as coordinator External actor means wait state for BPMS Examples Human tasks Webservice principle: “I’ll call you back” Wait for arrival of some asynchronous message Approve
  • 17. State machines and transactions Upon arrival of execution in wait state Store current execution state Position Context variables Commit transaction While waiting No blocked threads / resources Upon resume Load execution from DB Continue executing
  • 18. Timers Create a timer when activity is entered Cancel timer when activity is left Fire timer when duedate arrives approve escalate
  • 19. Asynchronous Continuations Job Executor pdf-g Transaction 1 Transaction 2
  • 20. Transactional Control Flow Specify overal execution flow Analyse where the external triggers are Activiti wil juggle with Execution state Timers Messages And call your POJO beans where needed
  • 21. BPMS DB contents Process definitions repository Versioned Process instances Runtime state History Statistics
  • 24. History HISTORY_PROCESS_INSTANCE ID START END … PROCESS 10:04 1 09:38 Order-1 09:39 1 09:38 1 Calculate Quote 2 09:39 1 Check Credit 09:42 3 09:42 1 Accept Quote 10:03 4 10:03 1 Charge Customer 10:04 HISTORY_ACTIVITY_INSTANCE ID START END … HPI ACTIVITY
  • 26. What is Activiti New project created by Alfresco BPMN 2.0 BPMS Lead by jBPM founders Apache license Run as independent project
  • 27. Who’s behind Activiti Alfresco SpringSource Camunda Signavio Next Level Integration Mimacom MuleSoft
  • 29. Your Application Embedded BPM Tasklist Manager BPMS Runtime Engine BPMS History Your domain model
  • 30. Bring BPM to where it’s used Activiti Engine Enterprise Apps Cloud ECM
  • 31. Activiti is a complete BPM Suite Activiti Engine Process repository Process instances runtime state Process execution history Identity component Tasklist component Activiti Probe Activiti Explorer Activiti Cycle
  • 32. Activiti Explorer End user task list Manage my tasks Execute workflows
  • 33. Activiti Probe Management console for sys admins Manage deployments Manage versioning See deployed process sources View database tables
  • 34. Activiti Modeler Activiti branded and powered by Signavio Browser-based design and control tools Targetted at Business Analysts Easy to use AJAX tools Customized file based model repository Easy scripting
  • 35. Process In The Dev Cycle Developer Analyst Sys Admin Model Repo Alfresco SVN MVN Tomcat Activiti Activiti Cycle
  • 37. Q&A