Delivery Methodology
Development Best Practice
Commercial In Confidence
Development Best Practice
Contents
Object - Application Modeller, Actions, Data Items
Process – Structure, Retries
Further Best Practice
Interface-Specific Best Practice
Commercial In Confidence
Object – Application Modeller
Adheres to local naming
convention
Typically this is {element type} – {element name} e.g.
Button – Submit
Input – Account Number
List – Products
Logically Laid Out
Create sections for each part of the screen.
Makes support easier and mitigates the risk
of incorrect elements being re-spied
Commercial In Confidence
Object – Application Modeller
Adheres to local naming
convention
No customer data
Customer data captured within element
attributes could breach data security.
No environment specific
data
Environment specific data will cause
the process to fail when migrated. If
required make the value dynamic.
Commercial In Confidence
Objects - Actions
Wait stage at start of This will confirm the process is on the
correct path and absorb system latency
each action to increase the resilience of the process.
Always throw exception
on timeout
Do not try and recover the process
following the wait stage. Throw the
exception and let the process handle it.
The process may choose to try again a
few times or restart the system or
ultimately raise an alert.
Commercial In Confidence
Objects - Actions
Avoid using arbitrary
waits
Arbitrary waits should only be used if a
screen change cannot be waited for.
Always wait for the
screen to change
Use wait stages after Navigate stages or
any stage that causes the screen to
update.
This will absorb any latency but also
ensure the process runs at its fastest. In
this example there’s no point waiting 5
seconds if the system is available after 1.
6 Commercial In Confidence
Objects - Actions
Do not call published
actions from within an
object
Here the process should call the
“Navigate to New Proposal” action and
then call the “Submit New Proposal”
action.
This will makes exception handling far
easier and actions more reusable.
7 Commercial In Confidence
Objects - Actions
Do not make business
decisions in the object
In this example our action gets account
details from the screen and applies a new
limit unless the risk codes are of a specific
value.
The object design should be such that
there are two actions not one.
One action to “Get Account Details” that
returns all the account details on the
screen and another action to “Apply new
limit”.
The decision to apply a new limit based on
the risk code should be made by the
process not the object.
This enables other processes to call the
“Get Account Details” action without
applying a new limit.
8 Commercial In Confidence
Objects - Actions
For all exceptions
provide appropriate
Type and Detail
9 Commercial In Confidence
Objects - Actions
Provide descriptions to
Inputs, Outputs and
Actions
This removes ambiguity and also provides
content for auto-generated Business
Object Definition (BOD) document.
10 Commercial In Confidence
Objects – Data Items
Group data item
relevant blocks
Store global data items
on the Initialise Page
No hardcoded data in
data items
Use input parameters and have the
process provide the values. If need be, the
process can consume an environment
variable for parameters that may change.
11 Commercial In Confidence
Objects - Exposure
Always set an objects
exposure
12 Commercial In Confidence
Process - Structure
Use standard Blue Prism
templates or templates
provided by the local
design authority
The standard logic of the templates
enables familiarity that makes support
easier.
Main page should
contain high level
process steps
All process detail and decision should be
divided into logical sub pages
13 Commercial In Confidence
Process- Retries
Correct use of retries
If the work queue permits retry system
exceptions. Do not retry business
exceptions (see Basic Template)
Check for consecutive
system exceptions
The same system exception across
consecutive cases could be a sign that
the system has changed. (see Basic
Template)
14 Commercial In Confidence
Process - Retries
Correct use of retries
Where possible retry system exception
within the process. This may require
special navigation or even a restart of the
system
Commercial In Confidence
Further Best Practice
Always check for errors
or validate when saving.
16 Commercial In Confidence
Further Best Practice
Manufactured Loops
have defence
mechanism
When creating your own loops always
create a counter and throw an exception if
an excessive limit is reached.
This will prevent the flow ever entering an
infinite loop.
Stage logging adheres
to local design control
Avoid use of drive
letters when
referencing folders
17 Commercial In Confidence
Interface-Specific Best Practice
Java Automation Guide
Browser Automation Guide
Mainframe Guide
Commercial In Confidence