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

随着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 模型有一个最根本的意识,感激浏览。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理