Recent trends and progress for programming languages, software design architectures such as micro-services, protocols like OData, and the diversity of multi-tiered and distributed deployment platforms have accelerated the trend towards applications constructed out of more, smaller, decoupled and diverse modules.
Today, business applications are composed of multiple parts that are developed using different languages and technologies and deployed to a variety of target runtime environments. This diversity introduces many life-cycle challenges.
Watch this video to learn about the Multi-Target Application.
As seen here, It is a good practice to use separate applications for the three tiers: front-end, application, and database. Therefore, a full-stack application is typically made of the combination of multiple applications and service instances.
Because of this, SAP extended the Cloud Foundry standard by introducing the concept of a multi-target application (MTA).
Definition A Multi-target Application (MTA) is comprised of multiple parts (modules), created with different technologies and deployed to different targets, but with a single, common lifecycle.
Simply put, an MTA is logically a single application, consisting of multiple related and interdependent parts (herein called modules) that are developed using different technologies or programming paradigms and designed to run on different target runtime environments, with a single, consistent lifecycle.
Development tools provided by SAP allow you to manage multiple applications (as "modules") in a unique development project, and deploy them via a unique archive file.
In SAP HANA Cloud we use SAP Business Application Studio as our preferred tool for Application development using the Cloud Application programming Model paradigm.
In SAP Business Application Studio we have options to either create a Basic MTA project or a Cloud Application Programming Model (CAP). Throughout this course we will be developing the Business application and the related artifacts using the project of type CAP.
Watch this video to learn about the MTA Design Time and run Time relationship
In the SAP Business Application Studio, you create a CAP project which is a Multi-Target Application (MTA) project.
Within the MTA project, you have three folders:
- db :for the database level schema model.
- srv :for the service definition layer
- app :for UI artifacts
When deployed, every module of the project will become a separate application in Cloud Foundry and each module will have its own buildpack, development language, and runtime environment.
For example:
- HTML5 modules are served as static files and executed in the Web Browser.
- Node.js and Java modules are executed in the Application runtime example Cloud Foundry.
- SAP HANA database modules generate database objects in the SAP HANA database.
