SAP 云平台多目标应用 Multi-Target Application 的开发技术介绍(一)

简介: 随着SAP云平台的出现,SAP云平台开发生态圈告别了过去单凭ABAP打天下的局面。

随着SAP云平台的出现,SAP云平台开发生态圈告别了过去单凭ABAP打天下的局面。

image.png

伴随着SAP云转型的步伐,越来越多的编程语言,技术栈,工具纷纷加入SAP开发生态圈。现代企业级应用,越来越不青睐过去传统的单体式架构,取而代之的是采用微服务的思想,将复杂的单体应用根据业务拆分成一个个细粒度的分散的松耦合模块,这些模块可以由不同的编程语言和技术栈实现。


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

image.png

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项目:

image.png

创建模板选择Multi Target Application:

image.png

随便命个名:

image.png

从MTA右键菜单里,我们能看到支持许多不同类型的模块创建,大家体会到了Multi的含义了吗?这里简单起见,我先创建一个nodejs模块:


image.png

nodejs模块取名为hello:

image.png

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

image.png

生成的package.json如下,做过nodejs开发的朋友都很熟悉了:

image.png

通过命令行cf login和cf buildpacks能看到当前登录的SAP Cloud Platform CloudFoundry环境里支持的buildpack列表,我们创建的nodejs模块需要的buildpack也在里面。这些buildpack可以用于对相应的模块进行编译,处理依赖,打包,确保它们能够顺利运行在CloudFoundry上。

image.png

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

image.png

部署完毕后,会生成一个应用的url,点击:

image.png

成功打印出了当前CloudFoundry运行实例上的环境变量:

image.png




image.png


image.png


image.png

目录
相关文章
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0
|
1月前
|
Linux 开发工具 开发者
关于 SAP HANA 开发那些事
关于 SAP HANA 开发那些事
22 0
|
1月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
31 0
|
2月前
|
Web App开发 前端开发 JavaScript
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
46 0
|
2月前
|
XML 数据处理 数据格式
什么是 SAP UI5 XML Templating 技术
什么是 SAP UI5 XML Templating 技术
43 0
|
2月前
SAP UI5 应用如何实现类似百度首页一样的访问方式试读版
SAP UI5 应用如何实现类似百度首页一样的访问方式试读版
35 0
|
3月前
|
前端开发
SAP Fiori 应用上传中文附件的处理问题
SAP Fiori 应用上传中文附件的处理问题
36 0
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
93 0
|
2月前
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
97 2
|
1月前
SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤试读版
SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤试读版
29 0