Sie sind auf Seite 1von 7

DATA SHEET

Guide to Dynamic Process Execution


Introduction
This document provides potential solutions to Dynamic Process Execution for close to real-time process execution
and launch from the 3rd party Schedulers. The approach is to use the Command Line interface or Web Services calls
to run a Process outside of the Control Room or the Scheduler. The following scenarios (problem statements) can
be addressed with the help of this document:
• The Client is using a 3rd party Scheduler that is already managing the Client’s business processes and would
like to use it to start the Blue Prism Processes.
• The Client is unable to use Blue Prism Scheduler because of the SLAs.
• The Client has multiple processes that have strict SLAs and implementing each one as a polling Process is
not feasible due to license or resource constraints.

Process Execution Techniques


Blue Prism Process can be started in many ways:
• Using the Scheduler
• As a Sub-Process. In this case, the flow of execution is transferred to the Sub-Process, and the control of
the Resource belongs to the Sub-Process until it completes and returns control to the calling Master
Process1. This is done using the Process Studio and the Process flow diagram, where the Sub-Process is a
stage that is connected with links to other stages within the page of the Process. The flow of execution is
sequential, not parallel, and execution happens on the same Resource as execution the calling Process.

• The Command Line interface can be used to start a Process. Windows Command Line (cmd.exe) is used to
execute AutomateC.exe1 program with additional parameters that specify the Process and the Resource in
addition to other configurations. This approach allows 3rd party Schedulers to start a Blue Prism Process. It
also allows a Blue Prism Process to start another Blue Prism Process on a different Resource, branching the
flow of execution and executing in parallel2.

1
Usually located at C:\Program Files\Blue Prism Limited\Blue Prism Automate\AutomateC.exe
2
The Resource will accept a Process if there is an available license and the session can be accepted.

Commercial in Confidence Page 1 of 7


®Blue Prism is a registered trademark of Blue Prism Group plc
DATA SHEET

• Using a Web Service call to an exposed Blue Prism Process or Object3. Blue Prism Web Services are
exposed on a Resource level, which allows a 3rd party Scheduler to establish a session on a requested
Resource. Web Services can also be used by Web Services friendly applications to initiate Blue Prism
processing. However, significant design considerations have to be made in order to develop a reliable
solution because of processing times, work load, and Resource availability.

Command Line Usage


AutomateC.exe can be launched form either of the following sources:
• Windows Command Line (cmd.exe)
• A Batch File (.bat) that contains instructions for the Windows OS
• A Blue Prism code stage
• A 3rd party Scheduler on the machine that also has Blue Prism installed
Getting Help for Command Line Usage
A Help file can be opened by clicking on the ? (Question Mark) symbol in the upper right corner of the main screen
or, like many applications, simply by pressing F1. The following are useful Help topics:
• Blue Prism Command Line Options
• Blue Prism Server
• Resource PC Commands
Alternatively, specific help can be access via the Command Line itself:
"C:\Program Files\Blue Prism Limited\Blue Prism Automate\Automate.exe" /help
Calling AutomateC.exe from a Blue Prism Process or Object
AutomateC.exe can be used with the Utility - Environment4 from either a Process or an Object. It can also be
wrapped into its own Object and used to start Blue Prism Processes. Additional flexibility is gained if the Object (or
a Process) that interacts with AutomateC.exe to start Blue Prism processes is exposed as Web Service.
Calling AutomateC.exe with a 3rd Party Scheduler
AutomateC.exe can be used by a non-Blue Prism Scheduler to launch a Blue Prism Process. It requires that the
Scheduler has access to the AutomateC.exe file and the underlying software components. It is not required for the
Blue Prism Resource or the Application Server to be running on the machine, but the Blue Prism software needs to
be installed and configured to use the same infrastructure/configuration as other Resources. An Enterprise
installation type is required, which includes configuration of the Application Server.
Using AutomateC.exe
The AutomateC executable5 can be used to start a Process on a Resource. Use the /help flag to get the list of
current parameters. Some sample commands below:
• Start Process01 on Resource01002 using Active Directory single sign-on:
C:\Program Files\Blue Prism Limited\Blue Prism Automate\AutomateC.exe
/dbconname ServerA.MyDomain.com /run Process01 /resource Resource01002 /port
8181 /sso

3
Please examine the Web Services Guide. There are Memory and Blue Prism License implications.
4
Imported from C:\Program Files\Blue Prism Limited\Blue Prism Automate\VBO\BPA Object - Utility - Environment.xml
5
C:\Program Files\Blue Prism Limited\Blue Prism Automate

Commercial in Confidence Page 2 of 7


®Blue Prism is a registered trademark of Blue Prism Group plc
DATA SHEET

• Start TestProcess on localhost using Default Connection and User credentials (password is entered in clear
text after the user name):

The Session ID will be returned by the AutomateC application if the Process was accepted by the Resource for
execution. Please note that it is a text string. The Master Process can check the status of execution using the
/status command and the Session ID:
C:\Program Files\Blue Prism Limited\Blue Prism Automate\AutomateC.exe /status Session
ID

Using Automate.exe
Automate.exe is the main Blue Prism executable and is used to launch the Client and Resource PC. Although it too
can be called from the Command Line, it cannot be used to run processes programmatically and is outside the
scope of this document.

Starting a Process using Web Services


Web Services call can be used to start a Process directly, or indirectly utilizing the Master Process technique
described below. This section focuses on a direct start, meaning that the actual work will be performed by the
Process (or Object) exposed as a Web Service. Web Services Guide6 specifies that the call needs to be made to a
particular Resource ( http://[machinename]:<port>/ws/). The Web Services Guide also examines different
scenarios of exposing and consuming Objects and Processes and effects on License utilization.
Resource availability and execution time should be considered when deciding to expose a Web Service. If the
Resource is busy, it may not be able to service the request, and a large Process may take time to return a result to
the caller. As such it is recommended to expose only short, rapid Processes (or Objects), such as ones that simply
store input data in a Work Queue or return results from a Work Queue.

Design Considerations
Licensing
A continuous polling Process will consume a License, so unless there is a business need, the Scheduler could be
used to run the Process periodically instead of continuously. Note that a Process that has been running for a long
time without termination may overload machine’s finite resources (memory), but that is subject to design and
adherence to best practices.
Resource Availability
A key point to using the Command Line to run a Process on another machine is that if the remote Resource PC is
offline or busy, the attempt would fail, just as it would if you tried to do the same in Control Room. Using a
Resource Pool could be a way around this problem but still, if all the Pool members were unavailable then again,
the command would fail. Holding unfulfilled requests in some sort of storage until a Resource becomes available is
an option, but ultimately if demand exceeds capacity then there is no easy solution.
Security and Risk Management
Native authentication requires a Blue Prism User Name and Password, and the Command Line functionality can
potentially be dangerous because it allows many actions to be conducted. It is therefore recommended to create a
dedicated Command Line user account and role with minimal permissions.

6
The Web Services Guide is available on the Blue Prism Portal

Commercial in Confidence Page 3 of 7


®Blue Prism is a registered trademark of Blue Prism Group plc
DATA SHEET

Object Exposure
To maximize resource utilization efficiency, Objects that are performing background tasks, such as polling or adding
Work Cases to Work Queues, could have their Run Mode set to Background to enable the Resource to run
processes or objects in parallel. See the documents Blue Prism – Solution Design Overview7 and Object Design
Guide8 for design best practices.
Utility – Environment
The Utility’ Start Process Action does not return any Command Line output. Consequently, it cannot inform the
calling Process or Object if the request to start a Process has been accepted by a Resource or not. Session ID is not
being captured either. There are few potential solutions to remediate that shortcoming:
• Extend the Utility – Environment Start Process Action to capture the standard utput stream. This will
require enhancements to the code stage
• Create an Object for the Command Line and execute AutomnateC from there, capturing the output
• Use the Utility – AutomateC example Object bundled with the <<Luca’s examples>> on the Portal.

7
Available on the Blue Prism Portal
8
Available on the Blue Prism Portal

Commercial in Confidence Page 4 of 7


®Blue Prism is a registered trademark of Blue Prism Group plc
DATA SHEET

Example Designs

Polling an Email Inbox


This Blue Prism Process is polling an email inbox and starts another Process via the Command Line, depending on
the email request. The same technique can be utilized to poll for a file. Note that this is not a real-time design,
there is a delay that is governed by the polling frequency.

The Start Process action calls an Object that uses the AutomateC.exe application to run a Process on another
machine, according to the email instruction. Note that this is a sample design and additional logic needs to be
implemented to check the email inbox, manage available resources and validate parameters.

Commercial in Confidence Page 5 of 7


®Blue Prism is a registered trademark of Blue Prism Group plc
DATA SHEET

Polling a 3rd Party Web Service


This Blue Prism Process is polling a 3rd Party Web Service for some specific instruction to start another Process. The
Start Process action uses the AutomateC.exe application to start the requested Process. This is a sample design and
it could be changed to work with one or multiple processes and could be extended to work with start up
parameters.

Commercial in Confidence Page 6 of 7


®Blue Prism is a registered trademark of Blue Prism Group plc
DATA SHEET

Polling a Work Queue


A Work Queue is used to supply this Master Process with processing requests. Other Processes or Objects can add
requests to the common Work Queue, and the Master Process will take items from the Work Queue and launch
processes. This design accommodates different types of triggers from different sources to be used at the same
time, because all of the requests are first placed in a common Work Queue and are processed by one Master
Process.

Periodically Polling a Work Queue


Constantly polling the Work Queue could be inefficient, and unless there is a requirement to act on processing
requests in a close to real-time manner, the Master Process could instead be scheduled to run periodically. This
allows the Resource to be utilized for other processing while the Work Queue accumulates requests for the Master
Process. For example, processes could look for requests from different sources, followed by the Master Process
that fulfils the requests.

Commercial in Confidence Page 7 of 7


®Blue Prism is a registered trademark of Blue Prism Group plc

Das könnte Ihnen auch gefallen