Connect to Other Processes and Services
More likely than not, you’ll need to define interactions across business processes within a process-oriented application. For example, your business process may need to invoke an external service, call another process from within the current process, or pass a message to a process outside of the current process. Use these System activities to model communication between processes and services.
Activity | Description |
---|---|
Service |
Use the service activity to communicate with other processes and services. Add the service activity when you know that your business process must invoke an external service or process. For example, the following process uses the service activity to save the finalized sales quote to a database.
When the service activity invokes a service, the token waits at the service activity until a response is returned. After the response is received, the token continues to the next sequence flow in the process. Note that multiple service activities can also execute at any given point of time depending on the way the user has modeled the application. In case a service activity fails to execute (for example, due to REST endpoint timeout), you get an error message with details about the failure in the process Tracking page in runtime. You can manually retry the service activity from the process Tracking page by clicking the Retry button. |
Notify |
Use the notify activity to generate and send notifications. The notify activity, which is similar to the service activity, uses a predefined service to perform notifications. You use expressions to determine which users receive the notifications generated by the notify activity. Currently, email is the only type of notification supported in Oracle Cloud Infrastructure Process Automation. This type of notification sends an email to the users you specify. |
Call |
Use the call activity to call a reusable process from within the current process. The process being called becomes a child process of the calling process. When calling a reusable process, the call activity of the parent process waits until the child process completes before continuing. Data objects of the parent process aren’t automatically available to the reusable process. Data objects must be passed to and from the child process using argument mapping of the call activity. |
Data Mapper |
Use the data mapper activity to assign the value of a process data object, predefined variable, or literal to another data object or variable within the process. You can use the data mapper activity in scenarios where it is not possible to assign values to certain data attributes through other activities in your process or to override the values assigned to attributes through the defined process flow. To define data associations through other activities, such as human task or service activities, see Configure Data Association. |
|
Use the decision activity to add decision services to your process applications. You can use different types of decision logic, such as decision tables, simple expressions, and so on, to create an executable decision model, then expose it as services. These decision services can be incorporated into your business process to facilitate automated decision-making. Want to know more about working with decision models? See Model Decisions. |
Configure a Multi-instance Activity
You can configure a call or service activity as a multi-instance activity, so that you can run multiple unique instances of the same activity sequentially or in parallel.
Let us see how you can configure a call or service activity to be multi-instance.
Use the Data Mapper Activity
You can use the Data Mapper activity in your process to perform data mappings or associations. This activity is available in the Activities palette under System. Drag and drop the activity at the required position on the editor canvas.
To define data mappings through the Data Mapper:
-
Select the Data Mapper activity, click
, and select Open Data Association.
The Data Association editor opens. Notice that the editor contains only the Output tab because the Data Mapper is just a mapper that serves to associate one process data object or variable with another. Unlike other activities (for example, human tasks), it does not have data objects of its own that require mapping with the process data on the input side.
-
In the editor, drag and drop elements from the left and right panes onto the center pane to map associations. Both the panes display all the available data objects or variables within the process. The object you add on the left serves as the source and the object on the right denotes the target of the mapping. The following figure shows a sample data mapping:
Description of the illustration data-mapping.pngHere, the value of a form data object, customername is assigned to another form data object name, and a literal value of “Paris” is assigned to a form data object, city.
Note:
If you chose a predefined variable as the target, ensure that it isn’t read only. -
Optionally, use the Expression Editor to build an input expression using standard functions and operators.
-
Click Apply to save the data mappings.