www.outsystems.com Page 1 © 2010outsystems – all rights reserved
OutSystems Agile Platform
BPT Patterns & Best Practices
Gonçalo Borrêga - OutSystems
www.outsystems.com Page 2 © 2010outsystems – all rights reserved
Agenda
•Mindset
•BPT vs. Rest of the World
•Simple techniques
•Advanced patterns
•Q&A
www.outsystems.com Page 3 © 2010outsystems – all rights reserved
Background & Ground Rules
Mindset
www.outsystems.com Page 4 © 2010outsystems – all rights reserved
MindsetBackground
Claims processing process• 708 Activities• 501 Decisions• >4.000.000
instances (>1.800.000 human)
• Processes that last from 2 minutes to 2 years
• Refactoring project
www.outsystems.com Page 5 © 2010outsystems – all rights reserved
MindsetBackground – One of the “old” processes
www.outsystems.com Page 6 © 2010outsystems – all rights reserved
MindsetGround rules
Know your process• Analyze early• Design deep• Top down
approach• Parallelize manual
activities• Guide your users
www.outsystems.com Page 7 © 2010outsystems – all rights reserved
MindsetGround rules
Aim for simplicity• Show it to your
users• Use sub-processes• Consider
versioning• But…• Avoid refactoring
www.outsystems.com Page 8 © 2010outsystems – all rights reserved
The things you really should take advantage
BPT vs. Rest of the World
www.outsystems.com Page 9 © 2010outsystems – all rights reserved
BPT vs. Rest of the WorldThe things you really should take advantage
Impact analysis• Process upgrades
ARE possible• Plan deployment
wisely
www.outsystems.com Page 10 © 2010outsystems – all rights reserved
BPT vs. Rest of the WorldThe things you really should take advantage
The process is close to the data
• No data dictionaries
• TrueChangeTM built in
• Amazing event model
www.outsystems.com Page 11 © 2010outsystems – all rights reserved
BPT vs. Rest of the WorldThe things you really should take advantage
The process is close to the UI• Synchronous
closing and validation
• UI is easily controlled from the process
• UI can easily reflect the process
www.outsystems.com Page 12 © 2010outsystems – all rights reserved
Small steps for you, big steps for your processes
Simple techniques
www.outsystems.com Page 13 © 2010outsystems – all rights reserved
Simple techniquesSmall steps for you, big steps for your processes
Empower sub processes• Fork and Join• Use input
parameters to refine behaviour
• Use ouput parameters to control parent behaviour
• Do not forget reporting
www.outsystems.com Page 14 © 2010outsystems – all rights reserved
Simple techniquesSmall steps for you, big steps for your processes
Smart labeling• Hierarchical• Incremental• Relational
www.outsystems.com Page 15 © 2010outsystems – all rights reserved
Simple techniquesSmall steps for you, big steps for your processes
Cycles?• Sure, when they
belong to the process
• Never as procedural logic
www.outsystems.com Page 16 © 2010outsystems – all rights reserved
Simple techniquesSmall steps for you, big steps for your processes
Run again… with no impact• Implement
automatic activities considering they will be run several times
• Design the process so it can be “restarted”
www.outsystems.com Page 17 © 2010outsystems – all rights reserved
Use and extend the model
Advanced patterns
www.outsystems.com Page 18 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model
Process intercommunication
• Database/Event based
• Decouple from process specific actions
• “State machine”
www.outsystems.com Page 19 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model
States• Database flag-
based status• Allows easy
reporting• Easy process
lockers
www.outsystems.com Page 20 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model
BPT aware application• Single entry points• Session.ActivityId• Every action with
an activity
www.outsystems.com Page 21 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model
Custom inboxes• Contextual• Task oriented • Custom priorities
www.outsystems.com Page 22 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model – Custom inboxes
www.outsystems.com Page 23 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model – Custom inboxes
www.outsystems.com Page 24 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model
Conditional starts• Supports ad hoc
processes• Auto launch
hidden by UI
www.outsystems.com Page 25 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model – Conditional start
www.outsystems.com Page 26 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model
Activity Extension Entities• ActivityId as
identifier• Purge if required
on Close/Skip• Extend BPT model
– Foreign systems events
– Comments
www.outsystems.com Page 27 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model
Activity Behaviour• Static entity with
behaviours• Create entry on
Open (bound to user)
• Purge on Close/Skip
• Control UI• CheckBehaviour(
Entities.BEHAVIOUR.AcceptReject)
www.outsystems.com Page 28 © 2010outsystems – all rights reserved
Advanced patterns Use and extend the model
Metamodel Extension Entities
• ActivityDefinitionId as identifier
• If no record exists on OnCreate, create entry
• When change is frequent use SS_Key and allow BackOffice configuration
www.outsystems.com Page 29 © 2010outsystems – all rights reserved
Advanced patternsUse and extend the model
Templates
• Gather your requirements
• Create Template processes
• Use process generic callbacks– User assignment,
SLAs, Group assignment
www.outsystems.com Page 31 © 2010outsystems – all rights reserved
Thank you for your attention and contribution!
Top Related