Specifying dependent services
The following illustration shows the options of setting up dependencies between services:
- You can map a dependent child service to a parent service.
- You can map multiple dependent child services to a parent service.
- You can map a dependent child service to multiple parent services.
Example: Checking dependent services while requesting an Internet of things (IoT) device
The following diagram shows a dependency definition that requires a user to fulfill two service requests before completing the IoT device service request. In this example, the user creates an IoT logger service request, and provides details for an existing IoT storage service request.
Impact of service dependencies on actions in BMC Helix Digital Workplace
When you add service dependencies, the following actions are changed or restricted in BMC Helix Digital Workplace, so that the dependency works as expected:
Action | Dependent services | Services with dependent services |
---|---|---|
Request now | No change | No change |
Request again | No change | Not available |
Add to cart | No change | The dependent service is also added to the cart. |
Cancel Request | If the request is not in the final state, the services dependent on this service are also deleted. For example, an end user requests Magic Mouse and is prompted to request an Apple computer. If the end user deletes the request for the Apple computer, the request for Magic Mouse is also deleted. | No change |
Restricted availability of select service actions for BMC Helix Digital Workplace Catalog users
Some actions are not available on services that are added as dependents, so the dependency works as expected. For example, if the catalog administrator adds an unrequestable service as a dependent, end users will not be able to request the service. Also, end users will not be able to perform these actions on services after the actions are added as dependents.
Action | Dependent service request | Service request with dependent services |
---|---|---|
Quick Request | Available | Not available |
Unrequestable | Not available * | Available |
Unpublish | Not available * | Available |
Republish with external fulfillment or no workflow | Not available * | Available |
* To perform this action, remove the service from the dependency mapping for all other services.
To add a service as a dependency
- In BMC Helix Digital Workplace Catalog, go to Services > Services, and open a service.
- Next to Workflows, click Edit.
- Next to Dependency Mapping, click Add Service.
- From the Service Catalog list, select one or more services, and click Add.
To set up the mapping of the variables in parent and child services, click Add mapping .
Map the output variables of the parent service to the input variables of the child service you want to make dependent.
The following illustration shows an example of the output variables from a service workflow:
The following illustration shows an example of the input variables from a service workflow:
To create input and output variables, see Adding-process-input-variables-to-a-workflow.
- Verify that all the required mappings between the dependent service and current service are complete.
- Click Save and Close.
To enable the auto-add feature
If you enable the auto-add feature in BMC Helix Digital Workplace Catalog, dependent services are automatically added to new service requests when end users create them in BMC Helix Digital Workplace. The services that are considered dependent and that need to be auto-added are defined by the service mappings in BMC Helix Digital Workplace Catalog.
- In BMC Helix Digital Workplace Catalog, go to Application Settings.
- Turn on the Auto-add dependent items to new requests toggle.
- Click Save.
The feature is enabled globally for all services with dependencies and all versions of these services in the catalog. When a user requests a service with dependencies, the auto-add workflow is applied.
How the auto-add feature works
If the Auto-add dependent items to new requests feature is enabled, the following request workflow is provided to end users:
- When an end user creates a request for a service that has dependent services, the end user receives a notification about the automatic addition of a dependent service or several related dependent services (for example: Dependent services have been automatically added).
The auto-added dependent services are automatically configured as follows:
Type of service
Type of request
A child service with no previous parent service request
When a user requests such a service, BMC Helix Digital Workplace defines the current parent service request as a New request.
A child service with one previous parent service request
When a user requests such a service, BMC Helix Digital Workplace defines the current parent service request as an Existing request. The previous parent service request ID is selected.
A child service with multiple previous parent service requests
No automatic configuration is applied. A user must manually define the service request as a New request or Existing request. For Existing request, a user must choose a parent service request from the multiple previous parent service requests.
- The end user is prompted to configure the dependent services, as shown in the following illustration:
- The end user can modify the configuration of dependent services by clicking the Change button next to the request and selecting one of the following options:
- New request: This option enables the user to configure a dependent service request as a new request.
- Use existing: This option enables the user to choose an existing request with a previously requested dependent service and use it in the current request.
- When the end user submits the service request, a child service and all dependent parent services with the applied configurations are submitted in one request package.