作为SAP从业者,我们能够清楚地感受到这些年SAP技术进化的趋势。

SAP前端开发技术的进化方向,从SAP GUI,到能在浏览器里运行的ABAP Webdynpro / WebClient UI,再到现在仍然没有停止进化的Fiori UX. 而Fiori也从诞生之初只支持SAP UI5,进化到现在能够同时支持Angular, React和Vue等多种前端框架。

关于SAP前端技术的演进,可以参考Jerry这些文章:

  • SAP UI和Salesforce UI开发漫谈

  • SAP Fiori + Vue = ?

  • Fiori Fundamentals和SAP UI5 Web Components

  • 用React开发SAP Fiori应用

而SAP后端开发技术,自从SAP云平台问世以后,SAP开发人员发现,自己手头可选的技术,除了ABAP以外,一下子增加了很多:比如开源社区非常活跃的Java和nodejs,终于也能够应用到SAP后台开发中来了。而SAP云平台本身,也从诞生之初纯粹由SAP自己架设数据中心的单一云架构,演进到如今能支持GCP, Azure, AWS和阿里云等作为基础设施层的Multiple Clou架构。

本文咱们不聊具体的技术,而是谈谈开发工具。

Jerry之前的文章 那些年我用过的SAP IDE,介绍过我曾经用过的SAP开发工具。如今,这个列表里又多了一个新的成员。

2019年TechEd上,SAP向外界宣布了一款在原有SAP WebIDE基础上进化而成的新一代全栈开发工具:SAP Business Application Studio.

SAP开发人员能够用这个新工具做什么?

SAP Business Application Studio针对不同的SAP解决方案提供了良好的支持,能够进行S/4HANA扩展开发,以及基于SAP CAP模型(Cloud Application Programming)的全栈式开发(技术栈是Java和nodejs), 以及各种类型的Fiori应用开发。

SAP Business Application Studio同SAP WebIDE有何不同?

SAP官方将Business Application Studio称之为WebIDE进化后的产物,该工具吸取了当今业界领先IDE的设计理念,专门为SAP云平台上的全栈应用开发进行过优化;工具提供的强大命令行工具,使得开发人员不会被GUI界面所束缚。

最后,Business Application Studio基于Eclipse Theia这款开源的IDE,这使得它从架构上来说,可以从容应对任何在云端开发领域涌现出的新需求。

https://theia-ide.org/

举个例子,我们在Business Application Studio(下文简称为BAS)的插件列表里,能看到许多插件,有的是开源社区贡献的插件,比如vscode-eslint, 有的则来自SAP自研,比如vscode-mta-tools, 能够让开发人员利用BAS的命令行,无需登录SAP云平台控制台,就可进行SAP MTA应用的开发和部署。

在使用BAS之前,我们先来了解一个概念:Dev Space(开发空间).

一个开发空间是一个预先配置好的环境,背后实际对应了SAP云平台上的虚拟机。创建开发空间时,可以选择不同的类型,每个类型对应一种特定的开发场景。

每个特定类型的开发空间,都事先激活了完成该类开发任务所必须的Studio扩展(SAP Predefined Extensions),在创建开发空间时可以看到这些扩展列表。

我选择的是SAP Fiori类型的空间,创建成功后,点击超链接进入:

如果是在WebIDE里,开发界面打开后,我们就可以用Create from Template菜单,通过向导来完成Fiori应用的创建。

在BAS里,我们可以换一种方式,通过命令行来创建Fiori应用的骨架。

命令行里键入yo,启动SAP Fiori Project Generator, 选择Fiori Project:

接下来是选择该Fiori应用的运行环境,有CloudFoundry和ABAP两种选择,我们选择前者:

然后是一些常规信息的维护。

命令行向导执行完毕后,就生成了Fiori应用必须的资源文件。做过nodejs开发的朋友,会发现这个步骤和用npm init生成manifest.json文件很像。

我们要指定这个Fiori应用应该消费哪个OData服务。

在Studio上方的命令工具栏里,敲consume,选择Consume SAP Services:

会显示很多Destination列表,每个Destination都是我在CloudFoundry环境的Connectivity菜单里维护的,指向某一个ABAP系统。

我选择ES5系统里暴露出来的GWSAMPLE_BASIC这个OData服务。

改OData同Fiori项目绑定之后,收到成功的提示:

后续的操作,就和我们之前在SAP WebIDE里的开发没有太大差别了。

用Layout Editor打开XML视图,从控件库里找到List控件,拖拽到视图区域上:

点击List控件Entity Set字段旁的绑定图标,给它绑上一个OData模型中的Data Collection:

让这个List显示Business Partners数据:

同理,把List Item的title字段绑定到BusinessPartnerSet节点上的CompanyName字段,Description绑定到BusinessPartnerID字段。

这个Fiori应用功能非常简单,以列表的形式显示Business Partners所在的公司名和ID.

点击Run Configuration, 可以在不部署到SAP云平台CloudFoundry环境的情况下,进行本地测试:

SAP云平台上的Fiori应用,实际上是SAP MTA应用包含的一个HTML5 module,该MTA应用的mta.yaml里定义了Destination服务和Authorization & Trust Management服务的依赖。因此本地运行时,我们也要给该Fiori应用提供这两个服务实例才行。

关于什么是SAP MTA应用,可以参考Jerry之前的文章:SAP云平台里的三叉戟应用

到CloudFoundry环境新建一个Authorization & Trust Management服务实例,取名app_uaa:

回到BAS,选中项目里的uaa本地资源,会看到右边有个小的绿色插头图标。点击之后,BAS会自动把刚才创建的app_uaa实例取出来。选择后,就可以和项目本地uaa_JerryFioriDemo这个资源进行绑定。

稍后我们将该应用正式部署到SAP云平台CloudFoundry环境时,不需要做这一步,因为部署工具会解析mta.yaml, 自动创建里面定义的依赖服务实例。

成功绑定后,在BAS里收到提示:

同时左边出现一个新的绿色插头图标,代表成功绑定的状态。

同理将项目的Destination服务依赖也绑定到CloudFoundry环境创建的服务实例后,点击Run Module, 就能看到这个Fiori应用的界面了:

正式部署到CloudFoundry的步骤也很简单,执行命令行:

mbt build -p=cf

mbt工具会将该项目打包成.mtar文件:

使用cf deploy命令把这个.mtar文件部署到CloudFoundry去:

从命令行输出中可以发现,cf deploy在部署过程中会自动创建mta.yaml里require区域声明的服务实例。

部署成功后,这些自动创建的服务实例都能在Service Binding区域看到:

点击部署后生成的AppRouter实例,就能获得这个运行在CloudFoundry环境上的Fiori应用的访问链接了。

希望本文能够让大家对SAP Business Application Studio的概貌有个最基本的了解,感谢阅读。

更多阅读

  • SAP UI和Salesforce UI开发漫谈

  • SAP Fiori + Vue = ?

  • Fiori Fundamentals和SAP UI5 Web Components

  • 用React开发SAP Fiori应用

  • 那些年我用过的SAP IDE

  • SAP云平台里的三叉戟应用

  • 介绍一个免费的云开发工具:Cloud Shell

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

SAP新一代全栈开发工具:SAP Business Application Studio相关推荐

  1. Vue.js+Node.js全栈开发教程:通过Visual Studio Code开发调试Node应用

    目前,有多种开发工具可以支持Node.js应用的开发,比如: jetBrains WebStorm.Eclipse.Visual Studio Code等.这些开发工 具原则上是"条条大路通 ...

  2. SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述

    Understand Full-Stack Development with Mobile Back-End Tools 从本质上讲,MBT 是一组工具,可让您无需编写一行代码即可生成功能齐全的 OD ...

  3. 使用 SAP Business Application Studio 开发 Vue 应用

    这是 Jerry 2021 年的第 49 篇文章,也是汪子熙公众号总共第 326 篇原创文章. Jerry 2020年曾经在 SAP 全球技术大会上,给大家分享过,SAP Commerce Cloud ...

  4. python sanic orm_Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践

    SanicCRUD-vue Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践 背景 本项目将使用Sanic + Vue2 + Webpack2 配合最简单CRUD的逻辑来展示一个 ...

  5. 使用 SAP Business Application Studio 搭建 CAP Java 开发环境

    官方教程 为了确保一切设置正确,本教程还包括如何构建和运行一个简单的 Hello World 应用程序. SAP Cloud 应用程序编程模型 (CAP) 支持 Java 和 Node.js 开发. ...

  6. python sanic_Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践

    SanicCRUD-vue Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践 背景 本项目将使用Sanic + Vue2 + Webpack2 配合最简单CRUD的逻辑来展示一个 ...

  7. 全栈开发可能需要的环境及工具

    全栈开发可能需要的环境及工具 本文主要以本人作为Java全栈开发工程师,在实际项目开发者需要使用的软件为依据来撰写的. 如果有不正确的地方,欢迎大家在评论区指正. 如果还有其他好用的环境及工具,也欢迎 ...

  8. 2. 如何给在 SAP Business Application Studio 里开发的 OData 服务准备测试数据

    在开始本步骤的学习之前,请大家务必完成前一步骤1. SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务的学习.换言之,大家已经在 ...

  9. 《Spring Boot+Vue全栈开发实战》读书笔记

    写在前面 嗯,回家处理一些事,所以离职了,之前的公司用开源技术封装了一套自己的低代码平台,所以之前学的spring Boot之类的东西都忘了很多,蹭回家的闲暇时间复习下. 笔记整体以 Spring B ...

最新文章

  1. (python)Graph_tools模块学习
  2. 测试角度的并发和幂等问题总结
  3. 联想小新电脑dns服务器未响应,Lenovo Quick Fix 联想智能解决工具
  4. Mybatis传递参数的三种方式
  5. 使用线程池有以下几个目的
  6. 值类型与引用类型数据运算
  7. 这个世界最贵的奢侈品永远是事业
  8. 2021年中国以太网转换器市场趋势报告、技术动态创新及2027年市场预测
  9. (HDOJ 2034)人见人爱A-B
  10. java中GC的基本概念
  11. 网卡驱动修改服务器,改造INTEL网卡驱动使桌面型网卡支持Windows Server 2012、2016、2019系统...
  12. 图片去水印Inpaint5.2汉化破解便携版
  13. Python自学教程第2期-求100以内奇数和
  14. [EdgeAI] NXP eIQ 机器学习Toolkit (二):模型篇
  15. Machine Learning in Action -- AdaBoost
  16. 自来水智慧水务平台(建设方案及项目经验)
  17. 一个男人的品味在于选择妻子
  18. 【STM8】PWM 捕获实战:占空比和频率(TIM1)
  19. ios 事件穿透的原因和解决方法
  20. RK3568平台开发系列讲解(驱动篇)驱动开发之RTC 使用

热门文章

  1. 原则,策略,规范也是构架的一部分
  2. 贴吧小爬虫之爬取源码
  3. pt-osc原理、限制、及与原生online-ddl比较
  4. lr_eval_string()使用
  5. code3289 花匠
  6. 字典树(Trie)的java实现
  7. 自制“低奢内”CSS3注册表单,包含JS验证哦。请别嫌弃,好吗?。
  8. Oracle数据库监听配置|转|
  9. 雅虎网站页面性能优化的34条黄金守则 收藏
  10. 我常用的eclipse快捷键