Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anuj07
Employee
Employee
MTA (Multi-Target-Application) is a model that manages life cycle of an application comprised of multiples modules created with different technologies,  and deployed to different target run-times. It encompasses and describes application modules, dependencies, and interfaces in an approach that facilitates validation, orchestration, maintenance, and automation of the application throughout its lifecycle.

In this tutorial, you will see how an MTA model and an MTA Archive Builder is used for staged development in Cloud Foundry environment within SAP Cloud platform.

You will be creating different  spaces in your organization- DEV for development where developers will develop solutions, QUAL for quality where quality engineer will test and PROD for production where IT Administrators will maintain and monitor the final solutions.

 

Application overview

It is a very simple application that allows the user to enter his first name and last name and by clicking on a “Create” button will insert the entered input to the table shown.



Architecture overview

The application has various components/layers as depicted in the snapshot below



 

Database

The employee data (first name and last name) is stored in the SAP HANA database using  an SAP Cloud Platform SAP HANA service.

Also you can share your HANA DB with all different spaces as explained here

Business Logic

The Business Logic defines the Java application which run on Cloud Foundry environment within SAP Cloud Platform.  It uses JPA (JAVA persistence API) for accessing, persisting, and managing data between Java objects / classes and a relational database.In this scenario, the Java application defines Employee class and map it to the Employee table in the SAP HANA database.

To implement Java Persistence API the Java application uses EclipseLink which is the open source Eclipse Persistence Services from the Eclipse Foundation.

It also uses Apache Olingo library to expose employee data as an OData Service to be consumed by the SAPUI application.

User Interface

The UI Logic is defined in an SAPUI5 application which also runs on Cloud Foundry environment within SAP Cloud Platform. It consumes the OData Service from the Java application to send and receive employee data from the SAP HANA database .

MTA model

As already mentioned MTA model application consist of multiple modules of different technologies. In current scenario, It consists of Java and SAPUI5 modules uses development descriptor (mta.yaml) to address their inter-dependencies and configuration data they expose, and the resource (SAP HANA database) they require to run.

The developer guide on how to develop and build MTA model can be found here.

Prerequisites:

You have JDK8 installed.

You have Node.js and npm installed.

You have Eclipse Neon with SAP CP tools/plugins installed.

You have downloaded and installed Cloud Foundry CLI and MTA Plugin of Cloud Foundry CLI.

You have downloaded and set up an MTA Archive Builder Tool.

You must have an enterprise account of SAP Cloud platform and provisioned SAP Cloud Platform HANA Service.

Note: This blog requires creation of multiples subaccounts and therefore can not be done with developer trial account.

 

Details:

Step1. Create subaccount , spaces (DEV, QUAL, PROD) and Database

Step2. Log on to the Cloud Foundry Instance

Step3. Clone the source code from the GitHub repository

Step4. Build the project

Step5. Deploy the project in various spaces 

 

Step1. Create a subaccount, spaces (DEV, QUAL, PROD) and database

  1. Log on to the enterprise account cockpit and select a region under Cloud Foundry environment where you have provision to create a subaccount. 




2. The global accounts available in this region are shown as tiles. Select a global account.



3. Navigate to 'subaccounts' Pane and choose a New Sub account.



4.Provide Display name as Test, Subdomain name as MTA.



 

5. Select a Test subaccount where you will create organization for your subaccount



6. Click on Create Organization where you will create different spaces to deploy your multi-target application.

Provide your organization name in the Create Cloud Foundry organization dialog

 



7. Navigate to the Spaces pane click on New Space by providing the space name as DEV and assign the space roles to your user.



8. Create a QUAL and PROD space in same way as explained above in the step number 7.

9. Create a Database on database management systems as explained here.

To share your database with different spaces (DEV,PROD, QUAL) please refer here.

Step2. Log on to the Cloud Foundry Instance:

log on to the your space (created in the previous step) on to Cloud Foundry Instance using the console client as described here.

Step 3. Clone the source code from the GitHub repository

Clone this Git repository and import the project  into the Eclipse workspace.

After successful import the project structure should look like this



Note: The pre-requisite for this step is that EGit Plugin must be installed in Eclipse.

Step4. Build the project

In order to build your project you need to download mta.jar and set up MTA archive builder as explained in the pre-requisites.

Navigate to the root folder of the Application and execute ‘java -jar [path to mta.jar] --build-target=CF build command

In case if you have downloaded the mta.jar file under the root folder of your project then execute the following command



After a successful build, the MultiTarget application archive file (cloud-employeeslistapp.mtar) would be generated.



Now the project structure will look as follows. This shows the deployable artifacts for java (target) and web (node_modules) and multi-target application archive file (cloud-employeeslistapp.mtar).



Step5. Deploy the project in various spaces 

Navigate to the root folder of the application where the cloud-employeeslistapp.mtar file is located.



Execute the cf deploy cloud-employeeslistapp.mtar command to deploy the multi-target application on the Cloud Foundry environment of the SAP Cloud Platform

 



On successful execution, application modules (Java and SAPUI5 ) will be uploaded and started on Cloud Foundry environment and same can be checked under the Applications section of DEV Space.



 

Also SAP HANA service would be created and bounded to the employeeslist-java application as shown below in the Service Binding section



 

In the same way, you can switch to the QUAL space, deploy the Multi-Target Applicationcount. Then you can finally switch to the PROD space, deploy the Multi-Target Application to it too.
5 Comments