SlideShare uma empresa Scribd logo
1 de 18
BPM for developers:
improve agility of
implementations –
“Extended”
A. Samarin
More about slides 32, 33 and 34 of the
http://fr.slideshare.net/samarin/bpm-for-
developers
• After a few discussions linked to “BPM for developers”
presentation http://fr.slideshare.net/samarin/bpm-for-
developers I found that some slides (namely 32, 33 and
34) are too “condensed” thus difficult to understand
• This presentation gives more details about those slides
• The topics discussed are only about the automation
© A. Samarin 2013 BPM for developers "extended", v1 2
WHY this second presentation
• Speed of developing automation is the primary factor of
agility of a process-centric solution
• Automation and process template have different speed of
changes – keep automation outside the process template
• Automation may be long-running and resource-consuming
• Automation may and will fail
• Failures maybe because of technical (no access to a web
service) or business (missing important data) reasons
• Recovery after failure should be easy
• Automation’s problems (failures, resource consuming)
must not undermine the performance of process engine
© A. Samarin 2013 BPM for developers "extended", v1 3
Concerns about automation
• Why:
– Process template is a composition of many other artefacts
(events, data, documents, KPIs, services, etc.)
– Those artefacts have their own evolution speed
– Some changes are not under your control
• Process templates, XSD, WSDL, services, namespaces,
documents, etc. must be explicitly versioned
• Many versions of the “same” should easily co-exist
• Use the simplest version schema – just sequential
numbering: 1, 2, 3, …
• At the same time, keep the possibility to refer to the
“current” version
© A. Samarin 2013 BPM for developers "extended", v1 4
Explicit versioning of everything (1)
• A typical use (which is often a compliance requirement):
– Since 1st of April all new process instances will use process
template v2
– Already running process instances must remain at process
template v1
• Another typical use (from the real life):
– Since 1st of April all new process instances will use process
template v2
– Some already running process instances will remain at process
template v1 (if those instances are close to the completion)
– Some already running process instances may be migrated to
process template v2 (if those instances are far from the
completion)
© A. Samarin 2013 BPM for developers "extended", v1 5
Explicit versioning of everything (2)
• There are two major patterns for mixing human and
automation activities
• Pre Do Post pattern in which each human activity (DO) is
surrounded by automated activities (PRE and POST)
• The rationale:
– to reduce human’s non-productive work, data, documents,
information must be prepared in advance
– the results of human’s
work should be placed in
different repositories
– pre- and post- for the whole
process
© A. Samarin 2013 BPM for developers "extended", v1 6
Mixing human and automated activities (1)
PRE
POST
DO
• Error Recovery Loop is the other pattern which mandates
a human intervention for the recovery of a failed
automated activity
• The rationale:
– explicit catch of exceptions
– ability to assign “recovery” human activity
to different roles depending the nature of
exception (bypass the service desk)
– maybe implemented as a container without
exposure to the process
• Relates to other techniques:
– dynamic (interpretive) language
– idempotency
© A. Samarin 2013 BPM for developers "extended", v1 7
Mixing human and automated activities (2)
Recover
Work
• At the same time, small fragments of automation may be
used to react on different events related to a particular
human activity (as in Bonita); those fragments are event
handlers (and not the automation per se):
– ready (available to be claimed)
– claim (assign yourself to a human activity which is ready)
– unclaim (opposite to claim)
– suspend (stop temporary)
– resume (after suspending)
– delegate (reassign somebody for your human activity)
– send for review (delegate and ask to return the activity to you)
– done (or complete; maybe with some qualifiers or dispositions)
– terminate (or cancel; some kind of exception)
– exception (escalate, timeout, etc.)
© A. Samarin 2013 BPM for developers "extended", v1 8
Mixing human and automated activities (3)
• Automated activities are usually built on existing APIs to
access different enterprise systems and repositories
• Automation looks like scripting
• Interpretive language (no need to recompile) are good for
scripting
• Combine dynamic and static programming languages, for
example, Jython and Java, Groovy and Java, etc.
• Use the strong typing to secure interfaces, enjoy
introspection, and avoid exotic features
• Automation scripts must be kept outside process
templates to allow modifications even within a process
instance
© A. Samarin 2013 BPM for developers "extended", v1 9
Use dynamic (interpretive) language
• Use “robot” (an external to the process engine) program
to execute scripts
• Universal robots and specialised robots may co-exist
• Robots must be clonable (for scalability, load-balancing
and fault-tolerance)
• Integration patterns between the process engine and
robots (scripts are passed by reference):
1. Human activity is assigned to a robot or group of robots; each
robot is systematically checking its inbox (poor-man solution)
2. Process engine queues (via a WS) work for robots; the queue
manager dispatches work requests to robots (ideal solution)
• A crash of a robot will not disturb the process engine (last
an activity will be “late” or “overdue”)
© A. Samarin 2013 BPM for developers "extended", v1 10
Execution of automation scripts
• Typical sequence
1. Exception is raised in an automation script of an automated
activity
2. The process instance is routed to the recovery human activity
3. A responsible person makes necessary corrections (up to
modifying the automation script) and completes this human
activity
4. The process instance is routed to the automated activity
5. The automation script is executed again
• Idempotency of automated scripts is a must
© A. Samarin 2013 BPM for developers "extended", v1 11
Error recovery loop
• Idempotence (pron.: /ˌaɪdɨmˌpoʊtəns/ EYE-dəm-POH-
təns) is the property of certain operations, that can be
applied multiple times without changing the result beyond
the initial application
• This an automation script is a collection of idempotent
invocations of some services; a typical execution
sequence for services A, and B:
1. Start of the automation script
2. Invocation of service A – OK
3. Invocation of service B – exception
4. Re-start of the automation script (due to error recovery loop)
5. Invocation of service A – OK (due to idempotency)
6. Invocation of service B – OK
7. End of the automation script
© A. Samarin 2013 BPM for developers "extended", v1 12
Idempotence
• Automation script are actually executed by “system”
account
• But, in some case, they have to pretend to be as one of
the participants in the process instance; for example, a
submitted document should be owned by the submitter
• Automation script must have reach access to process
instance (BPM API) and be able to impersonate (change
account)
© A. Samarin 2013 BPM for developers "extended", v1 13
Impersonating
• Ruthless monitoring of all services (including robots, other
systems and repositories)
• Not just checking that a port is bound, but asking to do a
real work; for example, echo-test
• Service should be developed in the way to facilitate such
a monitoring
• System should be developed in a way to facilitate such a
monitoring
• Also, robots proactively (before executing automation
scripts) must check (via monitoring) the availability of
services to be used in a particular automation script
• It is better to wait a little than recover from an error
© A. Samarin 2013 BPM for developers "extended", v1 14
Monitoring
© A. Samarin 2013 BPM for developers "extended", v1 15
Thanks
• Mixing human and automated activities
• Each human activity may be surrounded by two
automated activities (pre-processing and post-processing)
© A. Samarin 2013 BPM for developers, v1 16
Look at automation within processes
• Explicit versioning of everything (another topic for
developers)
• Keep automation outside the process template (as they
have different speed of changes)
• Use an interpretive language for automation scripting (no
need to recompile)
• Use recovery loops (preserve
instance, carry out quick corrections in
“this” instance)
• Smart error handling (bypass some
levels of support)
© A. Samarin 2013 BPM for developers "extended", v1 17
Speed of developing automation is the
primary factor of agility
• Combine static and dynamic programming languages
• Use the strong typing, introspection, no exotic features
• Use external (to process engine) universal program
(robot) to execute automation scripts (scalability)
• Assign automated activities to robots (potential use of
specialised robots)
• Multiple robots (load balancing)
• Process engine queues jobs for robots
• Proactive monitoring of resource availability (better to
wait a little than recover from an error)
• Idempotency
© A. Samarin 2013 BPM for developers "extended", v1 18
More tricks

Mais conteúdo relacionado

Mais procurados

Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Alexander SAMARIN
 
Importance of executable processes and BPMN
Importance of executable processes and BPMNImportance of executable processes and BPMN
Importance of executable processes and BPMNAlexander SAMARIN
 
Architecting digital transformation v1
Architecting digital transformation v1Architecting digital transformation v1
Architecting digital transformation v1Alexander SAMARIN
 
Achieving synergy between BPM, SOA and EA
Achieving synergy between BPM, SOA and EAAchieving synergy between BPM, SOA and EA
Achieving synergy between BPM, SOA and EAAlexander SAMARIN
 
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...Brian Petrini
 
IBM BPM Updates - BPM 8.5.7 and BPM 8.6
IBM BPM Updates - BPM 8.5.7 and BPM 8.6IBM BPM Updates - BPM 8.5.7 and BPM 8.6
IBM BPM Updates - BPM 8.5.7 and BPM 8.6Allen Chan
 
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made EasyIBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made EasyBrian Petrini
 
IBM BPM On Cloud demo Sept 4 2015
IBM BPM On Cloud demo Sept 4 2015IBM BPM On Cloud demo Sept 4 2015
IBM BPM On Cloud demo Sept 4 2015Logan Vadivelu
 
Kovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair
 
Impact 2011 2667 - Developing effective services for use in critical business...
Impact 2011 2667 - Developing effective services for use in critical business...Impact 2011 2667 - Developing effective services for use in critical business...
Impact 2011 2667 - Developing effective services for use in critical business...Brian Petrini
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair
 
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03Dennis Parrott
 
Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?Brian Petrini
 
Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!panayaofficial
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Joram Barrez
 
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
 

Mais procurados (20)

Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)
 
Importance of executable processes and BPMN
Importance of executable processes and BPMNImportance of executable processes and BPMN
Importance of executable processes and BPMN
 
Architecting digital transformation v1
Architecting digital transformation v1Architecting digital transformation v1
Architecting digital transformation v1
 
Achieving synergy between BPM, SOA and EA
Achieving synergy between BPM, SOA and EAAchieving synergy between BPM, SOA and EA
Achieving synergy between BPM, SOA and EA
 
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
 
IBM BPM Updates - BPM 8.5.7 and BPM 8.6
IBM BPM Updates - BPM 8.5.7 and BPM 8.6IBM BPM Updates - BPM 8.5.7 and BPM 8.6
IBM BPM Updates - BPM 8.5.7 and BPM 8.6
 
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made EasyIBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
 
Process Driven Customer Interaction
Process Driven Customer InteractionProcess Driven Customer Interaction
Process Driven Customer Interaction
 
IBM BPM On Cloud demo Sept 4 2015
IBM BPM On Cloud demo Sept 4 2015IBM BPM On Cloud demo Sept 4 2015
IBM BPM On Cloud demo Sept 4 2015
 
Kovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair ALM application on model based process improvement
Kovair ALM application on model based process improvement
 
BPM Benefits
BPM BenefitsBPM Benefits
BPM Benefits
 
PTC Windchill ESI 9.x Architecture
PTC Windchill ESI 9.x ArchitecturePTC Windchill ESI 9.x Architecture
PTC Windchill ESI 9.x Architecture
 
Impact 2011 2667 - Developing effective services for use in critical business...
Impact 2011 2667 - Developing effective services for use in critical business...Impact 2011 2667 - Developing effective services for use in critical business...
Impact 2011 2667 - Developing effective services for use in critical business...
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor Tools
 
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03
 
Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?
 
Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015)
 
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
 
IBM Business Process Management 8.5
IBM Business Process Management 8.5IBM Business Process Management 8.5
IBM Business Process Management 8.5
 

Semelhante a BPM for developers, extended

Automic Banner Lessons from the Field
Automic Banner Lessons from the FieldAutomic Banner Lessons from the Field
Automic Banner Lessons from the FieldCA | Automic Software
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing ToolsDr Ganesh Iyer
 
High Volume Payments using Mule
High Volume Payments using MuleHigh Volume Payments using Mule
High Volume Payments using MuleAdhish Pendharkar
 
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesTyto Software
 
Mainframe vug july 30 2015
Mainframe vug july 30 2015Mainframe vug july 30 2015
Mainframe vug july 30 2015Serena Software
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияAlex
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemCompuware
 
Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Mike Willbanks
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionSteve Hogg
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlidesMichael Cowan
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringRasan Samarasinghe
 
Application of the automation know-how within the EGS-CC project
Application of the automation know-how within the EGS-CC projectApplication of the automation know-how within the EGS-CC project
Application of the automation know-how within the EGS-CC projectNieves Salor
 
MuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteMuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteSubhash Patel
 
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
OOW15 - Getting Optimal Performance from Oracle E-Business SuiteOOW15 - Getting Optimal Performance from Oracle E-Business Suite
OOW15 - Getting Optimal Performance from Oracle E-Business Suitevasuballa
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxShivareddyGangam
 
TEST EXECUTION.ppt
TEST EXECUTION.pptTEST EXECUTION.ppt
TEST EXECUTION.pptChayapathiAR
 

Semelhante a BPM for developers, extended (20)

Automic Banner Lessons from the Field
Automic Banner Lessons from the FieldAutomic Banner Lessons from the Field
Automic Banner Lessons from the Field
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
High Volume Payments using Mule
High Volume Payments using MuleHigh Volume Payments using Mule
High Volume Payments using Mule
 
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
 
Next-gen Automation Framework
Next-gen Automation FrameworkNext-gen Automation Framework
Next-gen Automation Framework
 
Good vs power automation frameworks
Good vs power automation frameworksGood vs power automation frameworks
Good vs power automation frameworks
 
Mainframe vug july 30 2015
Mainframe vug july 30 2015Mainframe vug july 30 2015
Mainframe vug july 30 2015
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестирования
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
 
Application of the automation know-how within the EGS-CC project
Application of the automation know-how within the EGS-CC projectApplication of the automation know-how within the EGS-CC project
Application of the automation know-how within the EGS-CC project
 
Agile testing approach
Agile testing approachAgile testing approach
Agile testing approach
 
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
 
MuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteMuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_Charlotte
 
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
OOW15 - Getting Optimal Performance from Oracle E-Business SuiteOOW15 - Getting Optimal Performance from Oracle E-Business Suite
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
 
TEST EXECUTION.ppt
TEST EXECUTION.pptTEST EXECUTION.ppt
TEST EXECUTION.ppt
 

Mais de Alexander SAMARIN

Digital Architecture Methodology for Systemic Digital Transformation (Smart C...
Digital Architecture Methodology for Systemic Digital Transformation (Smart C...Digital Architecture Methodology for Systemic Digital Transformation (Smart C...
Digital Architecture Methodology for Systemic Digital Transformation (Smart C...Alexander SAMARIN
 
Building large-scale digital repeatable systems
Building large-scale digital repeatable systemsBuilding large-scale digital repeatable systems
Building large-scale digital repeatable systemsAlexander SAMARIN
 
Smart Cities Reference Architecture
Smart Cities Reference ArchitectureSmart Cities Reference Architecture
Smart Cities Reference ArchitectureAlexander SAMARIN
 
Building large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart CitiesBuilding large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart CitiesAlexander SAMARIN
 
Mini-course at VFU - Architecting modern digital systems - 0
Mini-course at VFU - Architecting modern digital systems - 0Mini-course at VFU - Architecting modern digital systems - 0
Mini-course at VFU - Architecting modern digital systems - 0Alexander SAMARIN
 
Mini-course at VFU - Architecting modern digital systems - 5
Mini-course at VFU - Architecting modern digital systems - 5Mini-course at VFU - Architecting modern digital systems - 5
Mini-course at VFU - Architecting modern digital systems - 5Alexander SAMARIN
 
Mini-course at VFU - Architecting modern digital systems - 4
Mini-course at VFU - Architecting modern digital systems - 4Mini-course at VFU - Architecting modern digital systems - 4
Mini-course at VFU - Architecting modern digital systems - 4Alexander SAMARIN
 
Mini-course at VFU - Architecting modern digital systems - 3
Mini-course at VFU - Architecting modern digital systems - 3Mini-course at VFU - Architecting modern digital systems - 3
Mini-course at VFU - Architecting modern digital systems - 3Alexander SAMARIN
 
Mini-course at VFU - Architecting modern digital systems - 2
Mini-course at VFU - Architecting modern digital systems - 2Mini-course at VFU - Architecting modern digital systems - 2
Mini-course at VFU - Architecting modern digital systems - 2Alexander SAMARIN
 
Mini-course at VFU - Architecting modern digital systems - 1
Mini-course at VFU - Architecting modern digital systems - 1Mini-course at VFU - Architecting modern digital systems - 1
Mini-course at VFU - Architecting modern digital systems - 1Alexander SAMARIN
 
Towards software-defined organisations
Towards software-defined organisationsTowards software-defined organisations
Towards software-defined organisationsAlexander SAMARIN
 
Smart Cities from the systems point of view
Smart Cities from the systems point of viewSmart Cities from the systems point of view
Smart Cities from the systems point of viewAlexander SAMARIN
 
Systems architecting experience
Systems architecting experienceSystems architecting experience
Systems architecting experienceAlexander SAMARIN
 
Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...
Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...
Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...Alexander SAMARIN
 
#bizarch from the #entarch point of view
#bizarch from the #entarch point of view#bizarch from the #entarch point of view
#bizarch from the #entarch point of view Alexander SAMARIN
 
Technology-enabled healthcare transformation: concept paper
Technology-enabled healthcare transformation: concept paperTechnology-enabled healthcare transformation: concept paper
Technology-enabled healthcare transformation: concept paperAlexander SAMARIN
 
Smart-city implementation reference model
Smart-city implementation reference modelSmart-city implementation reference model
Smart-city implementation reference modelAlexander SAMARIN
 
E-government reference model
E-government reference modelE-government reference model
E-government reference modelAlexander SAMARIN
 
Эталонная модель электронного правительства
Эталонная модель электронного правительстваЭталонная модель электронного правительства
Эталонная модель электронного правительстваAlexander SAMARIN
 

Mais de Alexander SAMARIN (20)

Digital Architecture Methodology for Systemic Digital Transformation (Smart C...
Digital Architecture Methodology for Systemic Digital Transformation (Smart C...Digital Architecture Methodology for Systemic Digital Transformation (Smart C...
Digital Architecture Methodology for Systemic Digital Transformation (Smart C...
 
Building large-scale digital repeatable systems
Building large-scale digital repeatable systemsBuilding large-scale digital repeatable systems
Building large-scale digital repeatable systems
 
Smart Cities Reference Architecture
Smart Cities Reference ArchitectureSmart Cities Reference Architecture
Smart Cities Reference Architecture
 
Building large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart CitiesBuilding large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart Cities
 
Mini-course at VFU - Architecting modern digital systems - 0
Mini-course at VFU - Architecting modern digital systems - 0Mini-course at VFU - Architecting modern digital systems - 0
Mini-course at VFU - Architecting modern digital systems - 0
 
Mini-course at VFU - Architecting modern digital systems - 5
Mini-course at VFU - Architecting modern digital systems - 5Mini-course at VFU - Architecting modern digital systems - 5
Mini-course at VFU - Architecting modern digital systems - 5
 
Mini-course at VFU - Architecting modern digital systems - 4
Mini-course at VFU - Architecting modern digital systems - 4Mini-course at VFU - Architecting modern digital systems - 4
Mini-course at VFU - Architecting modern digital systems - 4
 
Mini-course at VFU - Architecting modern digital systems - 3
Mini-course at VFU - Architecting modern digital systems - 3Mini-course at VFU - Architecting modern digital systems - 3
Mini-course at VFU - Architecting modern digital systems - 3
 
Mini-course at VFU - Architecting modern digital systems - 2
Mini-course at VFU - Architecting modern digital systems - 2Mini-course at VFU - Architecting modern digital systems - 2
Mini-course at VFU - Architecting modern digital systems - 2
 
Mini-course at VFU - Architecting modern digital systems - 1
Mini-course at VFU - Architecting modern digital systems - 1Mini-course at VFU - Architecting modern digital systems - 1
Mini-course at VFU - Architecting modern digital systems - 1
 
Towards software-defined organisations
Towards software-defined organisationsTowards software-defined organisations
Towards software-defined organisations
 
Smart Cities from the systems point of view
Smart Cities from the systems point of viewSmart Cities from the systems point of view
Smart Cities from the systems point of view
 
Systems architecting experience
Systems architecting experienceSystems architecting experience
Systems architecting experience
 
Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...
Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...
Enterprise Architecture (#EntArch) as a #systemsapproach applied management d...
 
#bizarch from the #entarch point of view
#bizarch from the #entarch point of view#bizarch from the #entarch point of view
#bizarch from the #entarch point of view
 
Help #SME becoming #digital
Help #SME becoming #digitalHelp #SME becoming #digital
Help #SME becoming #digital
 
Technology-enabled healthcare transformation: concept paper
Technology-enabled healthcare transformation: concept paperTechnology-enabled healthcare transformation: concept paper
Technology-enabled healthcare transformation: concept paper
 
Smart-city implementation reference model
Smart-city implementation reference modelSmart-city implementation reference model
Smart-city implementation reference model
 
E-government reference model
E-government reference modelE-government reference model
E-government reference model
 
Эталонная модель электронного правительства
Эталонная модель электронного правительстваЭталонная модель электронного правительства
Эталонная модель электронного правительства
 

Último

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
[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
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
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
 
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 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
 
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
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Último (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
[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
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
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 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
 
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...
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

BPM for developers, extended

  • 1. BPM for developers: improve agility of implementations – “Extended” A. Samarin More about slides 32, 33 and 34 of the http://fr.slideshare.net/samarin/bpm-for- developers
  • 2. • After a few discussions linked to “BPM for developers” presentation http://fr.slideshare.net/samarin/bpm-for- developers I found that some slides (namely 32, 33 and 34) are too “condensed” thus difficult to understand • This presentation gives more details about those slides • The topics discussed are only about the automation © A. Samarin 2013 BPM for developers "extended", v1 2 WHY this second presentation
  • 3. • Speed of developing automation is the primary factor of agility of a process-centric solution • Automation and process template have different speed of changes – keep automation outside the process template • Automation may be long-running and resource-consuming • Automation may and will fail • Failures maybe because of technical (no access to a web service) or business (missing important data) reasons • Recovery after failure should be easy • Automation’s problems (failures, resource consuming) must not undermine the performance of process engine © A. Samarin 2013 BPM for developers "extended", v1 3 Concerns about automation
  • 4. • Why: – Process template is a composition of many other artefacts (events, data, documents, KPIs, services, etc.) – Those artefacts have their own evolution speed – Some changes are not under your control • Process templates, XSD, WSDL, services, namespaces, documents, etc. must be explicitly versioned • Many versions of the “same” should easily co-exist • Use the simplest version schema – just sequential numbering: 1, 2, 3, … • At the same time, keep the possibility to refer to the “current” version © A. Samarin 2013 BPM for developers "extended", v1 4 Explicit versioning of everything (1)
  • 5. • A typical use (which is often a compliance requirement): – Since 1st of April all new process instances will use process template v2 – Already running process instances must remain at process template v1 • Another typical use (from the real life): – Since 1st of April all new process instances will use process template v2 – Some already running process instances will remain at process template v1 (if those instances are close to the completion) – Some already running process instances may be migrated to process template v2 (if those instances are far from the completion) © A. Samarin 2013 BPM for developers "extended", v1 5 Explicit versioning of everything (2)
  • 6. • There are two major patterns for mixing human and automation activities • Pre Do Post pattern in which each human activity (DO) is surrounded by automated activities (PRE and POST) • The rationale: – to reduce human’s non-productive work, data, documents, information must be prepared in advance – the results of human’s work should be placed in different repositories – pre- and post- for the whole process © A. Samarin 2013 BPM for developers "extended", v1 6 Mixing human and automated activities (1) PRE POST DO
  • 7. • Error Recovery Loop is the other pattern which mandates a human intervention for the recovery of a failed automated activity • The rationale: – explicit catch of exceptions – ability to assign “recovery” human activity to different roles depending the nature of exception (bypass the service desk) – maybe implemented as a container without exposure to the process • Relates to other techniques: – dynamic (interpretive) language – idempotency © A. Samarin 2013 BPM for developers "extended", v1 7 Mixing human and automated activities (2) Recover Work
  • 8. • At the same time, small fragments of automation may be used to react on different events related to a particular human activity (as in Bonita); those fragments are event handlers (and not the automation per se): – ready (available to be claimed) – claim (assign yourself to a human activity which is ready) – unclaim (opposite to claim) – suspend (stop temporary) – resume (after suspending) – delegate (reassign somebody for your human activity) – send for review (delegate and ask to return the activity to you) – done (or complete; maybe with some qualifiers or dispositions) – terminate (or cancel; some kind of exception) – exception (escalate, timeout, etc.) © A. Samarin 2013 BPM for developers "extended", v1 8 Mixing human and automated activities (3)
  • 9. • Automated activities are usually built on existing APIs to access different enterprise systems and repositories • Automation looks like scripting • Interpretive language (no need to recompile) are good for scripting • Combine dynamic and static programming languages, for example, Jython and Java, Groovy and Java, etc. • Use the strong typing to secure interfaces, enjoy introspection, and avoid exotic features • Automation scripts must be kept outside process templates to allow modifications even within a process instance © A. Samarin 2013 BPM for developers "extended", v1 9 Use dynamic (interpretive) language
  • 10. • Use “robot” (an external to the process engine) program to execute scripts • Universal robots and specialised robots may co-exist • Robots must be clonable (for scalability, load-balancing and fault-tolerance) • Integration patterns between the process engine and robots (scripts are passed by reference): 1. Human activity is assigned to a robot or group of robots; each robot is systematically checking its inbox (poor-man solution) 2. Process engine queues (via a WS) work for robots; the queue manager dispatches work requests to robots (ideal solution) • A crash of a robot will not disturb the process engine (last an activity will be “late” or “overdue”) © A. Samarin 2013 BPM for developers "extended", v1 10 Execution of automation scripts
  • 11. • Typical sequence 1. Exception is raised in an automation script of an automated activity 2. The process instance is routed to the recovery human activity 3. A responsible person makes necessary corrections (up to modifying the automation script) and completes this human activity 4. The process instance is routed to the automated activity 5. The automation script is executed again • Idempotency of automated scripts is a must © A. Samarin 2013 BPM for developers "extended", v1 11 Error recovery loop
  • 12. • Idempotence (pron.: /ˌaɪdɨmˌpoʊtəns/ EYE-dəm-POH- təns) is the property of certain operations, that can be applied multiple times without changing the result beyond the initial application • This an automation script is a collection of idempotent invocations of some services; a typical execution sequence for services A, and B: 1. Start of the automation script 2. Invocation of service A – OK 3. Invocation of service B – exception 4. Re-start of the automation script (due to error recovery loop) 5. Invocation of service A – OK (due to idempotency) 6. Invocation of service B – OK 7. End of the automation script © A. Samarin 2013 BPM for developers "extended", v1 12 Idempotence
  • 13. • Automation script are actually executed by “system” account • But, in some case, they have to pretend to be as one of the participants in the process instance; for example, a submitted document should be owned by the submitter • Automation script must have reach access to process instance (BPM API) and be able to impersonate (change account) © A. Samarin 2013 BPM for developers "extended", v1 13 Impersonating
  • 14. • Ruthless monitoring of all services (including robots, other systems and repositories) • Not just checking that a port is bound, but asking to do a real work; for example, echo-test • Service should be developed in the way to facilitate such a monitoring • System should be developed in a way to facilitate such a monitoring • Also, robots proactively (before executing automation scripts) must check (via monitoring) the availability of services to be used in a particular automation script • It is better to wait a little than recover from an error © A. Samarin 2013 BPM for developers "extended", v1 14 Monitoring
  • 15. © A. Samarin 2013 BPM for developers "extended", v1 15 Thanks
  • 16. • Mixing human and automated activities • Each human activity may be surrounded by two automated activities (pre-processing and post-processing) © A. Samarin 2013 BPM for developers, v1 16 Look at automation within processes
  • 17. • Explicit versioning of everything (another topic for developers) • Keep automation outside the process template (as they have different speed of changes) • Use an interpretive language for automation scripting (no need to recompile) • Use recovery loops (preserve instance, carry out quick corrections in “this” instance) • Smart error handling (bypass some levels of support) © A. Samarin 2013 BPM for developers "extended", v1 17 Speed of developing automation is the primary factor of agility
  • 18. • Combine static and dynamic programming languages • Use the strong typing, introspection, no exotic features • Use external (to process engine) universal program (robot) to execute automation scripts (scalability) • Assign automated activities to robots (potential use of specialised robots) • Multiple robots (load balancing) • Process engine queues jobs for robots • Proactive monitoring of resource availability (better to wait a little than recover from an error) • Idempotency © A. Samarin 2013 BPM for developers "extended", v1 18 More tricks