SAP Web IDE automatically creates services required by the MTA application.
For example, let's imagine that you have an SAP HANA database module in your MTA, and that the HDB module requires a resource: an hdi-container (this resource and the dependency is described in the
mta.yaml file). When you build the HDB module, SAP Web IDE automatically creates an instance of the hdi-container service specified in the MTA descriptor.
Service instances that are created by SAP Web IDE are assigned a unique name based on a pre-defined naming convention. This is done to avoid conflicts with service instances that are created by the deployment service when MTAR files are deployed using SAP Web IDE or the command line interface. This also help prevent conflicts when several developers are working in the same space.
Currently, SAP Web IDE automatically creates service instances for the following resource types defined in the
mta.yaml file:
- com.sap.xs.hdi-container
- com.sap.xs.dwf-edw-client
- org.cloudfoundry.managed-service
Note that SAP Web IDE only creates the initial service instance and does not automatically update the service if the resource parameters change throughout the project's lifetime.
Additional Scenarios
Change the Default Service Instance Name
If you want to provide a specific name to the service instance (that is not in accordance to our default naming conventions), you can do this by adding the service-name parameter to the resource in the
mta.yaml file.
In our example, a service instance of type
com.sap.xs.hdi-container is created, with the service name "myhdicontainer".
Keep in mind that all developers working on the same project in SAP Web IDE will have the same
mta.yaml file. The service instance is generated the first time the HDB module is built then it is used by all the other developers. Only 1 service instance with the same name will be created for each space.
Use an Existing Service
If your MTA application requires a resource that is not created with the application and has a separate lifecycle (e.g created by an admin directly in the runtime space on CF/XSA) you can specify it in your mta.yaml as an existing service (
org.cloudfoundry.existing-service) and SAP Web IDE will not create a service instance for this resource. SAP Web IDE will use the specified service based on its service-name parameter.
Here is an example of an mta.yaml with an existing service: