如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用
Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 发布之后,有朋友问我,“没错, 我是在你的文章里看到了Fiori应用的界面,可是这个Fiori应用的源代码我在SAP云平台上什么地方能看到呢?这个Fiori应用部署之后的状态,我在哪里能够查看呢?”
这位朋友的发问非常有力,实际上,Jerry前一篇文章,离Fiori应用的开发和部署这个目标还有一半的距离。我们回忆下当时是如何基于开发完成的Restful ABAP Programming模型弹出Fiori界面的:
从上图可以看出,我选中了一个Service Binding模型里的TravelProcessor这个节点,从右键菜单里选择Open Fiori Elements App Preview选项,这会自动打开一个在预览模式下工作的Fiori Elements应用(以前的名称叫Fiori Smart Template):
现在Fiori UI倒是打开了,但是大家仔细观察上图,应用的窗口标题为"Preview for Fiori Elements App", 应用的url里包含/sap/bc/adt/这种ABAP Development Tool相关的片段——这种工作在预览模式下的应用显然无法用于生产用途的。
因此本文继续完成剩下的一半开发工作——基于手头已有的Restful ABAP Programming模型,真正地创建一个Fiori应用并部署到SAP Cloud Platform上。幸运的是,这部分工作量也很小,没有编码工作,只需要完成一些配置步骤。
Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 已经把SAP Cloud Platform ABAP编程环境里的名为I_Currency的CDS view通过Service Definition的方式暴露出来了,然后由Service binding绑定到OData协议上,这样我们马上要创建的Fiori应用可以通过这个Service binding,以OData的方式读取到CDS view里的数据。
假设我的Restful ABAP Programming模型和待开发的Fiori应用是在两个不同Region的SAP Cloud Platform上部署的,比如RAP模型放在Europe(Frankfurt)Region上(这是SAP云平台ABAP环境目前唯一的选择):
而Fiori应用放在Europe(Rot)的Neo环境上(支持Neo的Region选择就很多了):
那么这种跨Region间的服务调用,需要创建老三样,即Communication Scenario,Communication System和Communication Arrangement.
SAP官网上有详细教程:
https://developers.sap.com/group.abap-env-first-app.html
这里Jerry只强调要点。
(1) 在ABAP Development Tool里右键菜单创建Communication Scenario Z_JERRY_COMMU_SCE,然后把前一篇文章创建的Service Binding模型添加到这个Scenario的inbound service页面里:
(2) 在ABAP Development Tool右击ABAP Cloud项目,在属性页里找到这个SAP云平台ABAP环境的Fiori界面的url:
Communication Systems,Users和Arrangements都在此处创建。
Communication User顾名思义,SAP云平台Neo环境上的Fiori应用使用这个user,调用OData服务消费ABAP环境里的RAP模型。ABAP顾问可以把它类比成SAP GUI里的用户WF-BATCH, 只不过前者允许应用开发人员自行创建并设置密码。
创建Communication System,把ABAP Development Tool属性页里拿到的url,去掉最前面的https://,将剩下的值维护到Host Name里:
把之前创建的Communication User分配给这个Communication System:
最后创建Communication Arrangement:
选中第一步在ABAP Development Tool里创建的Communication Scenario:
给这个Arrangement分配刚刚创建的Communication System:
如果一切正常工作,创建好的Communication Arrangement如下图所示。将Service Url抄下来,因为下一步创建Fiori应用需要这个url. 观察这个url,其包含SAP云平台ABAP编程环境的hostname和/sap/opu/odata/sap/开头的片段,后者就是Service Definition借助Service Binding通过OData协议暴露出来的url.
(3) 回到SAP云平台Neo环境,创建一个指向ABAP环境的Destination,我起了个名字to_ABAPCloud, 将上一步Communication Arrangement里得到的url粘贴进来,User选择前一步创建的Communication User,同时给这个Destination添加两个额外的属性:
- WebIDEEnabled:true
- WebIDEUsage:odata_gen, odata_abap
只有这样,稍后打开的webIDE里才能识别到这个Destination,否则的话,它只能在Java或者nodejs应用里使用。
剩下的就是在WebIDE里通过向导创建Fiori应用了。打开WebIDE,选择New->Project from Template:
此处需要选择一个模板来创建Fiori应用。我们选择List Report Application,它会以只读的方式显示绑定的Odata服务对应的CDS view里的内容。
在Data Connection这一向导步骤,选择之前在Neo环境里创建的Destination:
然后将之前Communication Arrangement创建后获得的url维护进Service Url里,点击Test按钮,解析出这个url对应的OData模型节点:Currency.
点击Finish完成Fiori应用的自动创建工作。现在我们在WebIDE里得到了一个真正的Fiori应用。通过右键菜单将其从WebIDE部署到SAP Cloud Platform上:
成功部署:
在SAP云平台的控制台里获得了这个Fiori应用的url,我们将其和之前在预览模式下工作的Fiori应用url做对比,是不是有很大的不同?
点击url访问,现在这个Fiori页面的窗口标题再也没有了Preview的字样,可以直接用于生产用途了。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用的更多相关文章
- 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用
2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Dri ...
- Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现
相信通过Jerry的前一篇文章 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用,想必大家对Restful ABAP Programming模型已经有 ...
- Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试
Jerry的Restful ABAP Programming模型介绍系列的前两篇文章: 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 Jerry带 ...
- 使用SAP Cloud Application Programming模型开发OData的一个实际例子
刚刚过去的SAP TechEd上,SAP CTO Juergen Mueller向外界传递了一个重要的信息:身处云时代大环境下的SAP从业者,在SAP云平台上该如何选择适合自己的开发方式? Juerg ...
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...
- 基于renren-fast的快速入门项目实战(实现报表增删改查)
基于renren-fast的快速入门项目实战(实现报表增删改查) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 官方开发文档需付费,对于新手而言 ...
- python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)
一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...
- django模型层之多表操作 增删改查
多表操作之创建模型 这边以书为中心创建一个模型 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(on ...
- django模型层 关于单表的增删改查
关于ORM MTV或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库, 通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...
随机推荐
- 【深入学习linux】VMware新建虚拟机教程
新建虚拟机 1. 点击创建新的虚拟机 2.进入新建向导,选择典型安装,点击下一步 3.为什么不选择第二个选项是因为系统会默认帮助我们安装一个简单配置,这里我们需要学习配置安装所以选择第三项,然后点击下 ...
- 搭建高可用rabbitmq集群及spring boot实现集群配置
java spring boot配置: //具体参看了配置的源码 org.springframework.boot.autoconfigure.amqp.RabbitProperties //Rabb ...
- C# HtmlDecode、HtmlEncode、UrlEncode、UrlDecode
不用System.Web 对 Content进行编码,De编码 string content = "<br/>"; string s1 = WebUtility.Htm ...
- git如何查找已经被删除文件的历史修改记录?
答: 使用以下命令即可: git log --all --full-history -- <path-to-file>
- CocosCreator之打包android
1:准备资料 1:sdk,下载地址http://www.androiddevtools.cn/ 2:jdk下载地址http://www.oracle.com/technetwork/Java/java ...
- 《电子计算机机房设计规范》GB50174-93
<电子计算机机房设计规范>GB50174-2008 http://gf.1190119.com/article-17886.htm 中华人民共和国国家标准 电子计算机机房设计规范 GB 5 ...
- 制作Visual Studio 2017 (VS 2017) 离线安装包 (转)
史上功能最强大的Visual Studio 2017版本发布,但是由于版本更新速度加快和与第三方工具包集成的原因,微软研发团队没有为这个版本提供离线下载的安装文件.如果用户处在一个与外网隔离的网络环境 ...
- PS弧形边缘的去黑色背景色
按照理论来说,纯色的字体加上纯色的背景,然后保存成png文件,然后用色彩范围选择纯色的背景,去掉背景,这样应该能得到原来设置的纯色的字体,但实际测试后不是这样的.如果是矩形等,是纯色,但是Photos ...
- 【电商日志项目之四】数据清洗-ETL
环境 hadoop-2.6.5 首先要知道为什么要做数据清洗?通过各个渠道收集到的数据并不能直接用于下一步的分析,所以需要对这些数据进行缺失值清洗.格式内容清洗.逻辑错误清洗.非需求数据清洗.关联性验 ...
- [Python]MySQLdb for Python使用指南/Python的数据库操作
网站就是要和数据库进行交互,否则什么都不用做了...今天我们来看一个叫MySQLdb的库,这个用来和MySQL数据库进行交互.可以从这里获得这个库http://sourceforge.net/proj ...