关于sap:SAP-云平台多目标应用-MultiTarget-Application-的开发技术介绍

47次阅读

共计 2348 个字符,预计需要花费 6 分钟才能阅读完成。

随着 SAP 云平台的呈现,SAP 云平台开发生态圈辞别了过来单凭 ABAP 打天下的场面。

随同着 SAP 云转型的步调,越来越多的编程语言,技术栈,工具纷纷退出 SAP 开发生态圈。古代企业级利用,越来越不青眼过来传统的单体式架构,取而代之的是采纳微服务的思维,将简单的单体利用依据业务拆分成一个个细粒度的扩散的松耦合模块,这些模块能够由不同的编程语言和技术栈实现。

凡事无利就有弊,这种拆分除了让咱们享受微服务架构带来的收益外,也引入了新的挑战,比方这些模块群的生命周期治理,对立部署和配置等等。SAP MTA 的引入就是为了解决这些挑战,Multi Target Application 里包裹的所有模块,不论它们采纳何种异构的技术栈实现,都共享同一套生命周期治理。通过 MTA 治理的利用模块,所有运行时的依赖问题都能失去妥善处理。

MTA 利用由示意数据、业务逻辑和 UI 层的多个软件模块组成。这些模块应用不同的技术创立并部署到不同的指标平台,但共享雷同的开发生命周期。MTA 应用程序概念旨在协调所有这些模块的部署,以便正确解决所有运行时依赖项,并按预期运行应用程序。所有这所有是通过向部署工具提供一组描述符 (descriptor) 来实现的,这些描述符定义了应用程序中所有模块的相互依赖关系和部署场景。

MTA 描述符(位于我的项目根文件夹中的 mta.yaml 文件)在应用 SAP Web IDE 或者 SAP Business Application Studio 创立 MTA 应用程序我的项目时主动生成,并在我的项目属性更改或增加或删除模块时动静更新。目前并非所有必要的信息都可能主动生成,在某些状况下,开发人员依然须要手动保护描述符以欠缺资源、属性和依赖项的申明和定义。

MTA 描述符以 YAML 格局编写,具备严格的语法要求。开发人员能够在基于文本的代码编辑器中编辑描述符,但更佳的抉择是应用可视 MTA 编辑器,因为它提供输出验证。

要将 MTA 编辑器设置为 MTA 描述符的默认值,请转到 Preferences Default Editors 并设置 MTA 应用程序描述符的编辑器。

留神,MTA 可视化编辑器删除正文并格式化文件。如果要增加正文,请应用代码编辑器。要关上代码编辑器,请将代码编辑器设置为默认编辑器,或者右键单击文件并抉择应用代码编辑器关上。

如果应用代码编辑器编辑文件,应用空格而不是制表符进行缩进很重要。

本文只是对 SAP 云平台上的 MTA 模型进行 Hello world 级别的介绍,更多 SAP MTA 高级用法,请参考 SAP 官网文档。

在 SAP WebIDE 里依据向导能够很容易地创立一个 MTA 我的项目:

创立模板抉择 Multi Target Application:

轻易命个名:

从 MTA 右键菜单里,咱们能看到反对许多不同类型的模块创立,大家领会到了 Multi 的含意了吗?这里简略起见,我先创立一个 nodejs 模块:

nodejs 模块取名为 hello:

这里保护的信息会写入最初生成 nodejs 模块的 package.json 文件里:

生成的 package.json 如下,做过 nodejs 开发的敌人都很相熟了:

通过命令行 cf login 和 cf buildpacks 能看到以后登录的 SAP Cloud Platform CloudFoundry 环境里反对的 buildpack 列表,咱们创立的 nodejs 模块须要的 buildpack 也在外面。这些 buildpack 能够用于对相应的模块进行编译,解决依赖,打包,确保它们可能顺利运行在 CloudFoundry 上。

我在这个 hello world 级别的 nodejs 模块里,实现了一个简略的打印以后运行环境所有的环境变量的性能。代码编辑完后,点击 Run 菜单运行,会主动触发依赖剖析,打包和部署的动作:

部署结束后,会生成一个利用的 url,点击:

胜利打印出了以后 CloudFoundry 运行实例上的环境变量:

依法炮制,创立一个类型为 Java 的模块:

Java 模块是相干 Java 文件和服务定义的汇合。Java 模块实现了应用程序的业务逻辑,能够代替 Node.js 模块,也能够作为 Node.js 模块的补充。Java 模块能够是应用 Apache Maven 构建的 Java Web Archive (WAR) 或 Java Archive (JAR)。

如果开发人员决定应用 settings.xml 文件来提供特定于我的项目的 Apache Maven 设置,请留神此文件会笼罩默认设置。

如果须要,在与 pom.xml 同样的文件夹层级构造下 创立 settings.xml.

模板抉择 Spring Boot Application:

换个名字:hellojava

这次就打印一个 Hello World 就完了:

同样点击 Run 菜单,触发 build 和部署,最初主动启动模块:

每个 MTA 我的项目都有一个形容文件,格局为 yaml,外面记录了 MTA 蕴含的每个模块的技术明细。SAP 官网文档里定义的很多高级用法,都在这个 yaml 文件里做文章。

在实在场景中,开发人员实现 MTA 的开发后,须要对 MTA 我的项目进行 build,生成一个 Archive 文件,交给管理员由后者进行部署:

在 MTA 我的项目右键菜单里抉择 Build,生成这个 Archive 文件:

管理员能够用命令行或者 SAP WebIDE 里的菜单进行部署:

一旦管理员触发部署动作后,MTA 我的项目里蕴含的所有模块都会被部署到 SAP Cloud Platform 上并处于运行状态。

总结

本文首先对 SAP 云平台上的多指标利用 (MTA 我的项目) 做了概要的介绍,蕴含 MTA 利用的基本概念和解决的业务痛点,而后从一个实例的例子登程,创立了一个蕴含 Node.js 和 Java 模块的 MTA 利用,并展现了该利用部署的具体步骤。心愿这篇文章能让大家对 SAP 云平台提供的 MTA 模型有一个最根本的意识,感激浏览。

正文完
 0