乐趣区

关于前端:如何在-SAP-BTP-上创建-Module-之间具有依赖关系的-SAP-MTA-应用

@TOC

相干浏览

  • SAP BTP 平台 CloudFoundry 环境下编程概述
  • 如何在 SAP Business Application Studio 里创立 SAP UI5 利用并部署到 BTP 平台上
  • SAP 云平台多指标利用 Multi-Target Application 的开发技术介绍
  • SAP UI5 利用在 Business Application Studio 里的构建单步剖析
  • SAP BTP MTA 利用解决的架构痛点
  • SAP BTP MTA 利用的利用场景

写作背景

自己的常识星球有个敌人发问:

我的 sapui5 我的项目是一个 MTA 工程,MTA 工程中蕴含了一个前端的 sap ui5 的 freestyle 工程和一个后端的 Spring Java 工程。画面输出的数据,首先传递给后端的 SpringJava 工程,而后经由 SpringJava 工程再传递给 S /4Hana 的 odata。请问我该怎么创立这个工程,和做哪些配置能实现这样的数据传递。

实现思路

(1) 通过 Java Spring 实现一个 Restful API
(2) SAP UI5 Module 通过 AJAX 调用 Restful API,将界面上保护的数据传递给 Java 层
(3) Java 层再调用 S/4HANA 的 OData API,将数据写到 S/4HANA 零碎中

对于步骤 (3),笔者很多文章都做过介绍,这些文章列举在本文尾部。本文余下局部重点解说 (1) 和 (2).

当在 MTA 中组合 Java 和 SAP UI5 时,您须要确保 Java RESTful API 与 SAP UI5 之间的通信是可行的。上面是一些步骤来实现 Java RESTful API 和 SAP UI5 之间的通信:

步骤 1:编写 Java RESTful API

在 Java 模块中,能够应用 Spring 框架编写 RESTful API。能够应用 Spring Boot 来疾速创立 RESTful API。在 Java 模块中,须要编写代码来响应 HTTP 申请,并返回 JSON 数据。

例如,以下是一个简略的示例代码,能够在 Spring Boot 中创立 RESTful API:

@RestController
public class MyRestController {@RequestMapping("/api/data")
    public String getData() {return "{\"data\":\"Hello World!\"}";
    }
}

步骤 2:在 SAP UI5 中生产 Java RESTful API

在 SAP UI5 模块中,能够应用 AJAX 技术从 Java RESTful API 中获取数据。能够应用 jQuery AJAX 或 SAP UI5 本人的 AJAX 库。

例如,以下是一个应用 jQuery AJAX 从 Java RESTful API 中获取数据的示例代码:

$.ajax({
    url: "/api/data",
    type: "GET",
    success: function(data) {console.log(data);
    },
    error: function(xhr, status, error) {console.error(error);
    }
});

在下面的代码中,咱们应用 jQuery 的 $.ajax() 办法从 “/api/data” URL 中获取数据,并在胜利时将数据打印到管制台上。

具体步骤能够参考笔者这篇教程:

  • SAP UI5 利用开发教程之四十五 – 如何在 SAP UI5 利用里应用 jQuery 和原生的 DOM API

步骤 3:运行 MTA 应用程序

在 MTA.yaml 文件中,须要定义应用程序的拓扑构造和每个模块的属性和依赖关系。例如:

ID: my-mta
_schema-version: '3.1'
version: 1.0.0
modules:
  - name: my-java-module
    type: java
    path: java-module
    requires:
      - name: my-db-module
  - name: my-ui5-module
    type: html5
    path: ui5-module
    parameters:
      disk-quota: 256M
      memory: 512M
    requires:
      - name: my-java-module
resources:
  - name: my-db-module
    type: hdb
    path: db-module

在下面的 MTA.yaml 文件中,咱们定义了两个模块,一个是名为 my-java-module 的 Java 模块,另一个是名为 my-ui5-module 的 SAP UI5 模块。SAP UI5 模块须要 my-java-module 作为依赖项,这样运行时 SAP UI5 模块就能生产同一个 MTA 利用里 Java module 的服务了。

步骤 4:部署和运行 MTA 应用程序

在 SAP BTP 上,能够应用 Cloud Foundry CLI 来部署和运行 MTA 应用程序。例如,以下命令能够用于部署 MTA 应用程序:

cf deploy mta_archive_file -f mta_development.yaml

其中,”mta_archive_file” 是 MTA 应用程序的归档。

退出移动版