Every new process begins with a “Start” and “Terminate” service. Both of these accept no input and cannot be configured any further. If you ever accidentally remove the Start or End services and need to add them back to your process canvas, they can be found in the “Process Flow Elements” Workshop.
Each process can have only one “Start” service, but can have many “Terminate” services. This is because the process can branch out in many different process branches depending on the possible cases.
To begin designing your process, you will need to drag the connector nodes of the start to new services you add to your canvas.
Each service has white circles surrounding it which are its connector nodes. They can be clicked and dragged to create connector arrows.
Two services can be connected by connecting the connector nodes between the two.
Most services can have only one outbound connection. The Exception to this is a Binary Decision. This service can have two outbound connections because it performs a logic test and depending on the outcome takes either the “True” path or the “False” path outward. These are often used in processes because they give the ability to create multiple process branches for all possible cases.
Adding New Services
In order to create a process, you will need to add new services between your “Start” and “Terminate”. On the left side of the Process screen you have a list of all services. They are divided into Workshops which describe their use. In order to find a particular service, you first need to find the corresponding Workshop. For instance, if you wanted a service to tell you the current date or time, you would look in the “Date and Time Services” Workshop. If you wish to query a database, you would expand the “Database Services” Workshop.
After finding the desired service, it can be added to the process canvas by selecting the service and dragging and dropping onto the canvas.
Some workshops, like the “Database Services” Workshop, have some further options available for each Service. If you expand the Inquire service, you will see some options related to the saved database configurations. Selecting one of the Database Configurations under the service instead of the service level to drag in, will auto fill some service properties.
In our Inquire example, dragging the AppData configuration to the process canvas auto fills the DbType and ConnectionString properties with the AppData variables.
Selecting a service on canvas and going to the properties tab on the bottom right will let you rename it. Assigning meaningful names to services greatly improves the readability of a process.
Services should be named when they are first placed on the canvas because the name is referenced by other services on the canvas. If you wait until your process flow is fully developed to rename services, it will break your process flow logic because it will reference an old name which no longer exists.
The name of a service cannot contain spaces.
Create ForEach Loop
A ForEach loop allows us to iterate on the results of previous service in the process canvas. The ForEach service can be dragged onto the process canvas from within the “Process Flow Elements” Workshop, but creating it through the top menu option auto fills the input parameter “SelectorValue” for the selected service. This is the only input parameter to the service. It is the node we wish to iterate on.
Creating the ForEach from the right-click menu also creates both the begin and end ForEach services since these must be used in pairs. It also auto names the services based on the SelectorValue. If we look inside the begin ForEach service, we can see the SelectorValue auto-filled.