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 Model 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
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.
- Using the Cloud MTA Build Tool. Afterward, you deploy the MTA
using the Cloud
Command Line Interface.
Manually - create the required files manually and deploy them using the Cloud Foundry Command Line Interface
- 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
(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||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
Multitarget application (MTA)
|An application comprised of multiple software modules, which are created with different technologies and deployed to different runtimes.|
|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.|
|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.|
|A self-contained application of a certain type, which is developed, packaged, and deployed.|
|A type that defines the structure and the development technology of a module. You can see a list of the module types at Modules.|
|Any resource, such as an external service that is required by a module at runtime but not provided by the module itself.|
|A property (key-value pair) of an application, module, or resource, that is used during deployment or at runtime.|
|A reserved variable belonging to a module or resource, whose value is used during deployment or at runtime.|
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.|
Prerequisites and RestrictionsYou 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