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

Introduction to the Multi-Target Application (MTA) 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 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 lifecycle 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 of the SAP Cloud Application Programming Model Project

As seen in the previous unit, SAP Business Application Studio provides several project templates to quickly start the creation of projects in your Dev Space. The 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 summarized in the following image.

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

We will create the Dev Space with the additional extensions for SAP HANA (SAP HANA Calculation View Editor and SAP HANA Tools) as seen in the above figure.

Note

SAP Business Application Studio offers the following features (selection):

  • Support for several development scenarios
  • App deployment to various environments
  • Extension of existing apps/ open source projects
  • Launchpad integration
  • Validation and testing functions
  • Git integration
  • Productivity tools
  • Possibility to customize its native functionality
Note

Each dev space contains a group of extensions that enhance its functionality. Some extensions are predefined by each development scenario, and others can be manually enabled based on your specific development needs.

Once a Development Space is created, its name and kind of application cannot be changed.

However, you can modify the list of optional extensions to add or remove some. Before that, the Development Space must be stopped.

Once the Dev Space is ready, we have two options to create the project.:

  • 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 these 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 because the purpose of the CAP project is to ensure that 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

Log in to track your progress & complete quizzes