Introducing the Multi-Target Application

Objectives
After completing this lesson, you will be able to:

After completing this lesson, you will be able to:

  • Describe the basic concepts about the MTA development project

Introducing the Multi-Target Application Development Project

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.

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.

Note
A module does not necessarily need to have code for execution in a runtime container. Instead, it could contain other artifacts required to make an application run.

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 an SAP Cloud Application Programming Model (CAP) project. Throughout this course we will be developing the Business application and the related artifacts using the project of type CAP.

  • db :

    for the database level schema model.

  • srv :

    for the service definition layer

  • app :

    for UI artifacts

Watch this video to learn about the MTA Design Time and run Time relationship

Setup the SAP Cloud Application Programming Model Project

As seen in the previous Unit, SAP Business Application Studio provides several project templates to quick start the creation of projects in your Dev Space. First step is to create a Dev Space in SAP Business Application Studio. The dev-spaces are at the heart of SAP Business Application Studio, there are various dev-space types.

Each dev-space type fits an Intelligent Enterprise development use case. Each of these dev-space types comes prepackaged with the tools and runtimes relevant for its scenario. The most commonly used ones for Application Development scenarios are summarised in the following image.

In addition to the pre configured extensions provided for the Dev space there is possibility to add additional extensions, as we plan to consume the HANA Artifacts within the CAP Application, we will create the Dev Space with the Additional extensions for HANA (SAP HANA Calculation View Editor and SAP HANA Tools) as seen in the following figure.

Once the Dev Space is ready, we have two options to create the project and of different types.

Using Terminal window command cds init <project name>

Alternatively we can use the wizard to create projects using the Project template either from Welcome page or via the View: Find Commandoption in the menu bar.

The Wizard consists of the following user Inputs,

  • Name :

    Name of the Project is mandatory and unique and is valid across platforms.

  • Runtime :

    Two runtimes are available from the dropdowns , Node.js and Java. Once a runtime is selected and confirmed , this cannot be changed. In case a change is required a new project need to be created.

A set of other features are provided during project creation and this features enrich the capabilities of the project. The capabilities can be added later by using a terminal command example cds add mta for creating the mta.yaml.

List of features currently available,

  • CI/CD Pipeline Integration
  • Configuration of SAP HANA deployment
  • MTA based SAP Business Technology Platform deployment
  • Multitenancy
  • Cloud Foundry Native deployment

For a quick start Basic sample files are provided , this can be added by selecting the option Build sample files.

We will create the CAP Project using the Template as the purpose of the CAP project is to ensure all relevant parts of the applications are within one Project to ensure dependencies are handled efficiently and are recommended for Application development activities.

Set Up the SAP CAP Project

Save progress to your learning plan by logging in or creating an account