A Multitarget application (MTA) is essentially a single application that consists of multiple parts. These parts are created using various technologies and share the same lifecycle.
The MTA developers outline the intended outcomes using the MTA model. This model consists of MTA modules, MTA resources, and the interdependencies between them. Afterward, the SAP Cloud Deployment service validates it, orchestrates the necessary actions, and automates the MTA deployment. The outcome is the formation of Cloud Foundry applications, services, and the generation of SAP specific content. For more information about the Multitarget Application model, see the official specification documents The Multitarget Application Model v.2 and The Multitarget Application Model v.3.
You can create and deploy a Multitarget Application in the Cloud Foundry environment as described below by following different approaches that can yield the same result:
-
Using SAP Web IDE Full-Stack as described in Developing Multitarget Applications - both the development descriptor
mta.yaml
and the deployment descriptormtad.yaml
are created automatically. Themta.yaml
is generated when you create the application project, and themtad.yaml
file is created when you build the project.You may still need to edit the development descriptor.
Development descriptors are used to generate MTA deployment descriptors, which define the required deployment data. That is, the MTA development descriptor data specifies what you want to build, how to build it, while the deployment descriptor data specifies as what and how to deploy it.
- https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/a71bf8281254489ea8be6e323199b304.html
- https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/3b533e3723674fad90f94510b92f10af.html
- https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/1b0a7a0938944c7fac978d4b8e23a63f.html
-
Using Business Application Studio - the flow is similar to WebIDE but the development is done from BAS.
-
Using the Cloud MTA Build Tool. Afterward, you deploy the MTA using the Cloud Foundry Command Line Interface.
An MTA development descriptor
mta.yaml
is required. You have to create it manually. -
Manually - create the required files manually and deploy them using the Cloud Foundry Command Line Interface
An MTA development descriptor
mta.yaml
is not explicitly required. In this case, a deployment descriptor is maintained instead.- Create the required files using an IDE of your choice.
- To produce your custom artifacts, use a build technology of your choice.
- Maintain your deployment descriptor document (
mtad.yaml
).-
(Optional) If you want to have an MTA archive package, use the
mbt assemble
. For more information, see Cloud MTA Build Tool (MBT). -
Use the
cf deploy
command to deploy the MTA package or directly from the build result directory.
-
To learn more about |
See |
---|---|
Multitarget Application deployment descriptor |
Defining Multitarget Application Deployment Descriptors for Cloud Foundry |
Multitarget Application archive |
|
Multitarget Application extension descriptor |
|
Multitarget Application structure |
|
How to deploy the Multitarget Application |
Multitarget Application Plug-In for the Cloud Foundry Command Line Interface |
Terms and Concepts
Term |
Description |
---|---|
Multitarget application (MTA) |
An application comprised of multiple software modules, which are created with different technologies and deployed to different runtimes. |
Development descriptor |
A |
Deployment descriptor |
A |
Module |
A self-contained application of a certain type, which is developed, packaged and deployed. |
Module type |
A type that defines the structure and the development technology of a module. You can see a list of the module types at Modules. |
Resource |
Any resource, such as an external service that is required by a module at runtime but not provided by the module itself. |
Property |
A property (key-value pair) of an application, module, or resource, that is used during deployment or at runtime. |
Parameter |
A reserved variable belonging to a module or resource, whose value is used during deployment or at runtime. |
Dependency |
A relationship between a module and another module, resource, or property, such as provides and requires.
|
MTA archive (MTAR) |
Archive containing a deployment descriptor, the module and resource binaries, and configuration files. The archive follows the JAR file specification. |
You have to consider the following limits for the MTA artifacts, which can be handled by the SAP Cloud Deployment service:
- Maximum size of the MTA archive: 4 GB
- Maximum size of MTA module content: 1 GB
- Maximum size of MTA resource content: 1 MB
- Maximum size of MTA descriptors (
mtad.yaml
andMANIFEST.MF
): 1 MB - Maximum size of deployments which use multiple MTA archives: 20GB. This restriction is applicable only in transport scenarios via cTMS or CTS+, where one transport request with multiple MTAs results in a single deployment process in SAP Cloud Deployment service.
In addition to the features that are not supported by the Cloud Foundry environment on SAP BTP (See Supported and Unsupported Cloud Foundry Features), MTA deployment in Cloud Foundry currently does not support these features as well:
-
Sidecars. See https://docs.cloudfoundry.org/devguide/sidecars.html.
-
Route services. See https://docs.cloudfoundry.org/services/route-services.html.
-
Readiness health check. See https://docs.cloudfoundry.org/devguide/deploy-apps/healthchecks.html.
-
Health check interval. See https://docs.cloudfoundry.org/devguide/deploy-apps/healthchecks.html.
-
Metadata. See https://docs.cloudfoundry.org/adminguide/metadata.html.
These features might be implemented in the future. For the latest information, follow the release notes regarding Multitarget Applications for Cloud Foundry in What’s New for SAP Business Technology Platform.
Related Information
Release Notes for Multitarget Applications for Cloud Foundry