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应用相关推荐

  1. 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用

    2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Dri ...

  2. Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现

    相信通过Jerry的前一篇文章 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用,想必大家对Restful ABAP Programming模型已经有 ...

  3. Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试

    Jerry的Restful ABAP Programming模型介绍系列的前两篇文章: 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 Jerry带 ...

  4. 使用Cloud Application Programming模型开发OData的一个实际例子

    刚刚过去的SAP TechEd上,SAP CTO Juergen Mueller向外界传递了一个重要的信息:身处云时代大环境下的SAP从业者,在SAP云平台上该如何选择适合自己的开发方式? Juerg ...

  5. mysql 增删修模型_48.Python中ORM模型实现mysql数据库基本的增删改查操作

    首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my ...

  6. python实现四位一并法_python 全栈开发,Day4(列表切片,增删改查,常用操作方法,元组,range,join)...

    一.列表 列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = ['alex',123,Ture,(1,2,3,'wusir') ...

  7. php加数据库开发案例,PHP简单数据库操作类实例【支持增删改查及链式操作】

    本文实例讲述了PHP简单数据库操作类.分享给大家供大家参考,具体如下: 在进行项目开发时,数据库是必不可少的东西了.但是很多时候却又对数据库SQL语句的繁杂而感到头疼.提供一个我自己使用的数据库操作类 ...

  8. 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

    Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...

  9. 使用Django开发简单接口:文章增删改查

    目录 1.一些准备工作 安装django 创建django项目 创建博客应用(app) 2.models.py 3.django admin 登录 创建超级用户 4.修改urls.py 5.新增文章接 ...

最新文章

  1. Java 复制一个文件到另外一个目录下
  2. VS为VC++添加UAC控制(VC程序默认管理员运行)
  3. 显示网页手机号星号_尾号“9999”扬州手机号,拍出13.4万!
  4. Centos5, 6下更改系统时间和时区
  5. urllib.parse包学习
  6. recyclerview滑动到顶部和底部监听+上滑下滑监听
  7. SAP BW增量队列深入研究
  8. C专家编程--读书笔记十 再论指针
  9. BOOST使用 proto::extends 扩展终端类型的简单示例
  10. Lady Layton with Math(杜教筛)
  11. java swing 关闭_Java Swing 只关闭当前窗体的实现
  12. 公共方法之运算符,len,del,max,min,range,enumerate
  13. java抽象类及其派生类_java抽象类
  14. 海豚调度的安装和使用
  15. OA协同办公市场究竟哪家能够顺势而上
  16. c语言 实现字符串和数字的连接
  17. JavaWeb - 网页 GZIP 压缩检测
  18. 双路E5平台PVE7.0系统GTX1060 显卡直通
  19. SSD存储颗粒的现在与未来
  20. 饥荒联机云服务器_饥荒联机版 饥荒云服工具 可视化

热门文章

  1. 面向对象初始应用和认知2
  2. 前端开发自学之JavaScript——显示当前时间
  3. spring 中单利模式的理解
  4. 设计模式笔记 18. Observer 观察者模式(行为型模式)
  5. sonar规则之坏味道类型
  6. bundle传递对象与Serializable、Parcelable接口理解和思考
  7. 牛客网剑指offer编程实践51-66题
  8. 文献记录(part84)--A nearest neighbor-based active learning method and its application to time ...
  9. java 获取光标_如何在java中使用Windows API获取当前鼠标光标类型?
  10. 关联规则 java_Java实现的关联规则算法