SAP新一代全栈开发工具:SAP Business Application Studio
作为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相关推荐
- Vue.js+Node.js全栈开发教程:通过Visual Studio Code开发调试Node应用
目前,有多种开发工具可以支持Node.js应用的开发,比如: jetBrains WebStorm.Eclipse.Visual Studio Code等.这些开发工 具原则上是"条条大路通 ...
- SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述
Understand Full-Stack Development with Mobile Back-End Tools 从本质上讲,MBT 是一组工具,可让您无需编写一行代码即可生成功能齐全的 OD ...
- 使用 SAP Business Application Studio 开发 Vue 应用
这是 Jerry 2021 年的第 49 篇文章,也是汪子熙公众号总共第 326 篇原创文章. Jerry 2020年曾经在 SAP 全球技术大会上,给大家分享过,SAP Commerce Cloud ...
- python sanic orm_Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践
SanicCRUD-vue Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践 背景 本项目将使用Sanic + Vue2 + Webpack2 配合最简单CRUD的逻辑来展示一个 ...
- 使用 SAP Business Application Studio 搭建 CAP Java 开发环境
官方教程 为了确保一切设置正确,本教程还包括如何构建和运行一个简单的 Hello World 应用程序. SAP Cloud 应用程序编程模型 (CAP) 支持 Java 和 Node.js 开发. ...
- python sanic_Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践
SanicCRUD-vue Sanic + 前端MVVM 一种新一代Python高性能全栈开发实践 背景 本项目将使用Sanic + Vue2 + Webpack2 配合最简单CRUD的逻辑来展示一个 ...
- 全栈开发可能需要的环境及工具
全栈开发可能需要的环境及工具 本文主要以本人作为Java全栈开发工程师,在实际项目开发者需要使用的软件为依据来撰写的. 如果有不正确的地方,欢迎大家在评论区指正. 如果还有其他好用的环境及工具,也欢迎 ...
- 2. 如何给在 SAP Business Application Studio 里开发的 OData 服务准备测试数据
在开始本步骤的学习之前,请大家务必完成前一步骤1. SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务的学习.换言之,大家已经在 ...
- 《Spring Boot+Vue全栈开发实战》读书笔记
写在前面 嗯,回家处理一些事,所以离职了,之前的公司用开源技术封装了一套自己的低代码平台,所以之前学的spring Boot之类的东西都忘了很多,蹭回家的闲暇时间复习下. 笔记整体以 Spring B ...
最新文章
- (python)Graph_tools模块学习
- 测试角度的并发和幂等问题总结
- 联想小新电脑dns服务器未响应,Lenovo Quick Fix 联想智能解决工具
- Mybatis传递参数的三种方式
- 使用线程池有以下几个目的
- 值类型与引用类型数据运算
- 这个世界最贵的奢侈品永远是事业
- 2021年中国以太网转换器市场趋势报告、技术动态创新及2027年市场预测
- (HDOJ 2034)人见人爱A-B
- java中GC的基本概念
- 网卡驱动修改服务器,改造INTEL网卡驱动使桌面型网卡支持Windows Server 2012、2016、2019系统...
- 图片去水印Inpaint5.2汉化破解便携版
- Python自学教程第2期-求100以内奇数和
- [EdgeAI] NXP eIQ 机器学习Toolkit (二):模型篇
- Machine Learning in Action -- AdaBoost
- 自来水智慧水务平台(建设方案及项目经验)
- 一个男人的品味在于选择妻子
- 【STM8】PWM 捕获实战:占空比和频率(TIM1)
- ios 事件穿透的原因和解决方法
- RK3568平台开发系列讲解(驱动篇)驱动开发之RTC 使用