Multitarget Applications in the Cloud Foundry Environment

A Multitarget application (MTA) is logically a single application comprised of multiple parts created with different technologies, which share the same lifecycle.

The developers of the MTA describe the desired result using the MTA model, which contains MTA modules, MTA resources, and interdependencies between them. Afterward, the validates, orchestrates, and automates the deployment of the MTA, which results in Cloud Foundry applications, services and SAP specific contents. For more information about the Multitarget Application model, see the official The Multitarget Application ModelInformation published on SAP site specification.

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 the SAP Web IDE for Full-Stack Development as described in Developing Multitarget Applications - both the development descriptor mta.yaml and the deployment descriptor mtad.yaml are created automatically. The mta.yaml is generated when you create the application project, and the mtad.yaml file is created when you build the project.

    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  Link to another SAP-owned site.https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/3b533e3723674fad90f94510b92f10af.html  Link to another SAP-owned site.https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/1b0a7a0938944c7fac978d4b8e23a63f.html  Link to another SAP-owned site.
  • Using the Cloud MTA Build ToolInformation published on non-SAP site. Afterward, you deploy the MTA using the Cloud Foundry Command Line Interface.
    https://sap.github.io/cloud-mta-build-tool/  Link to a site that is not hosted by SAP.https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/65ddb1b51a0642148c6b468a759a8a2e.html  Link to another SAP-owned site.https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/c2d31e70a86440a19e47ead0cb349fdb.html  Link to another SAP-owned site.
  • Manually - create the required files manually and deploy them using the Cloud Foundry Command Line Interface
    1. Create the required files using an IDE of your choice.
    2. To produce your custom artifacts, use a build technology of your choice.
    3. Maintain your deployment descriptor document (mtad.yaml).
      1. (Optional) If you want to have an MTA archive package, use the mbt assemble. For more information, see Cloud MTA Build Tool (MBT)Information published on non-SAP site.

      2. 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 Defining Multitarget Application Archives
Multitarget Application extension descriptor Defining MTA Extension Descriptors
Multitarget Application module types and parameters MTA Module Types, Resource Types, and Parameters for Applications in the Cloud Foundry Environment
How to deploy the Multitarget Application Multitarget Application Plug-In for the Cloud Foundry Command Line Interface

Terms and Concepts

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 YAML file named mta.yaml that contains a list of all entities, such as modules, resources, and properties that belong to an application or are used by it at runtime, and the dependencies between them. It is automatically generated when an MTA project is created or modified, or when a module is added or removed. The developer needs to edit the descriptor manually to define resources, properties, and dependencies, as well as fill in missing information.

Deployment descriptor

A YAML file named mtad.yaml that contains a list of all entities which is created from the WEB IDE or from Multitarget Application Archive Builder tool or manually. This file is similar to Development Descriptor but is used from the MTA Deployer.

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.

  • provides: indicates the properties or parameters that are provided by a module or resource to other modules.

  • requires: indicates other modules or resources that are required by a module in order to run.

MTA archive (MTAR)

Archive containing a deployment descriptor, the module and resource binaries, and configuration files. The archive follows the JAR file specification.

Prerequisites and Restrictions

You have to consider the following limits for the MTA artifacts, which can be handled by the Cloud Foundry deploy service:
  • Maximum size of the MTA archive: 4 GB
  • Maximum size of MTA module content: 1 GB
  • Maximum size of MTA resource content: 1 GB
  • Maximum size of MTA descriptors (mtad.yaml and MANIFEST.MF): 1 MB