封面图片来自Google搜索,关键字: Fiori Deployment

方式1 On premise环境下以BSP应用作为Fiori应用部署和运行的载体

在SAP成都labs我曾经担任过CRM这几个Fiori应用的开发和维护工作:

在Google上搜索关键字Fiori Architecture, 能找到这样一张图片,其中CRM和S/4 HANA的Fiori应用都以BSP应用的方式运行在下图我标注了红色方框的ABAP前台服务器上。

以CRM的My lead应用为例,在Chrome的development tool里能找到其对应的BSP应用名称为crm_leads,

用SAPGUI登录这台前台服务器,使用事务码SE80即可打开该BSP应用,里面的层级结构和Chrome的development tool里观察到的一致(前提是您使用ctrl+alt+shift+p加载了调试版本的应用源码)

我们可以用各种IDE(比如Eclipse, Sublime, Atom, Webstorm)等进行Fiori应用开发,然后使用report /UI5/UI5_REPOSITORY_LOAD将本地工程上传到前台服务器,具体步骤参考这篇博客Deploy a Fiori app in SAP Fiori

另外,Eclipse有个SAP开发的插件叫做ABAP Repository Team Provider,使用它可以实现UI5应用的一键部署,具体步骤请参考博客: How to Deploy and Run SAPUI5 application on ABAP Server

您也可以尝试使用WebIDE做开发,然后通过WebIDE将应用部署到ABAP前台服务器。

细节请参考博文:How to deploy the Web IDE UI5 application to ABAP repository

这篇博文来自我的同事,SAP成都C4C开发团队的Wu David,高大帅气的程序猿,而且有一手精湛的厨艺。

方式2 部署并运行在On Cloud环境下

如果说前一种方式成功地使得SAP传统的运行在Netweaver平台的BSP技术继续发光发热,那么这第二种方式则体现了SAP拥抱云,拥抱变化的决心。这种方式部署的Fiori已经和Netweaver与ABAP平台再无任何关联。目前SAP成都所有基于云的产品开发团队无一例外地采用了这种方式。

SCP(SAP Cloud Platform)是SAP倾力打造的云平台,假设您已经开发好了一个Fiori应用,想将其部署并且运行在SCP上,您可以参考来自SAP成都云开发团队的Chen Vicky, 一位年轻漂亮的程序媛的博文:How to deploy UI5 application on SCP

(Vicky虽然2016年7月毕业才加入SAP成都, 在学校期间只有几个月的ABAP实习的项目经历,但是通过她的努力以及组内其他老同事的帮助,她现在已经成为了一名合格的Java和JavaScript开发人员)

在此基础上,我也做过一些简单的练习,比如开发一个Fiori应用,将其部署在SCP上,并且能够访问另一台On premise服务器上的数据: Deploy your web application to SAP Cloud Platform which can access resource from On-Premise ABAP system

当然您也可以选择其他的云平台运行您的Fiori应用,如百度云,阿里云,以及国外的云平台例如Heroku上: Step by step to host your UI5 application in Heroku

您甚至可以将您的Fiori应用部署并运行在github上, 虽然github的本来用途并不是这个 :)

Use GitHub Pages to host your OpenUI5 app

顺便说一句,不知道大家读过阮一峰的这篇文章没: 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门

在文末的评论区,国内的网友对应不应该用github拿来做存储代码以外的事情,引发了激烈的讨论。

就我的观察而言,很多国内前端大牛都选择了把自己的博客部署在了github上。

值得一提的是SAP Hybris Cloud for Customer, 虽然其后台仍然基于Netweaver ABAP, 但是C4C的UI应用的部署方式没有采用本文介绍的方式一,而是本章节正在介绍的方式二。

方式3 打包成平台原生应用安装在移动设备上

还是以SAP Hybris Cloud for Customer为例,我们使用Cordova这个开源框架,将开发人员用JavaScript+HTML开发好的Fiori应用打包生成iOS, Android和Windows Phone对应的安装包然后安装到移动设备上。

这就意味着,SAP成都C4C开发团队的开发团队,在本地IDE写完代码之后,付出了大量的努力来确保我们开发好的功能不仅在PC端各种支持的浏览器下能够正常工作,同时在C4C支持的iOS, Android和Windows phone设备上依然能够正常工作。

尽管我们设计了非常完备的单元测试来覆盖我们开发的功能,为了严格确保我们发布的产品质量,在移动设备上我们也有大量的人工测试。

因此,万一您在使用C4C的时候遇到一些这样那样的问题,麻烦您给C4C对应模块报incident, 但是不要因此怀疑我们为了确保产品质量而付出的这些心血。

如果您已经开发好了Fiori应用,想装到您的手机上玩一玩,可以参考我的博客:

Step by step to package a Fiori application into your Android device using Cordova

如果您的Fiori应用想访问手机设备上的一些只有手机原生操作系统才能提供的功能,那么您可以参考我的博客Step by step to create a custom Cordova plugin for Android and consume it in your UI5 application

上面这篇博客以Android平台开发为例做了Cordova自定义插件的开发介绍:我在Android平台用Java实现了一个自定义的Cordova插件,然后在Fiori应用里消费这个自定义插件。

既然涉及到插件的开发,不可避免地就会遇到调试问题。我的这篇博客以Android studio为例描述了基于Java的自定义插件的调试步骤。

How to debug UI5 application packaged into a mobile device via Cordova with a custom plugin

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

SAP Fiori应用的三种部署方式的更多相关文章

  1. NBIoT三种部署方式【转】

    转自:https://472880.kuaizhan.com/89/34/p441944286fccf2 本文作者:吴老司撩通信 本文来源:EETOP NB-IoT支持在频段内(In-Band).保护 ...

  2. .NET Core应用的三种部署方式

    .NET Core应用提供了三种部署方式: FDD FDD:Framework-dependent deployment,框架依赖部署.这种方式针对某个特定版本的.NET Core进行发布,只打包应用 ...

  3. Weblogic的三种部署方式

    Weblogic的三种部署方式     在weblogic中部署项目通常有三种方式:第一,在控制台中安装部署:第二,将部署包放在domain域中autodeploy目录下部署:第三,使用域中配置文件c ...

  4. Tomcat的三种部署方式

    Tomcat是目前web开发中非常流行的Web 服务器,也就是tomcat在部署项目的时候,必须要把应用程序中所用到的jar包放到tomcat的lib目录下,然后再一起部署到服务器上. 那么tomca ...

  5. tomcat 三种部署方式以及server.xml文件的几个属性详解

    一.直接将web项目文件件拷贝到webapps目录中 这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.如果你想要修改这个默认 ...

  6. Web应用三种部署方式的优缺点

    方式一:修改server.xml文件 优点: 配置速度快,只需要在server.xml文件中添加<Context>标签,在其中分别配置path虚拟路径和docBase真实路径然后启动Tom ...

  7. Spark三种部署方式

  8. MyEclipse中web服务器的三种配置方式

    初学Javaweb开发的人们都会遇到一个问题,就是服务器环境的搭建配置问题.下面介绍三种服务器的搭建方式. 直接修改server.xml文件 当你写了一个web应用程序(jsp/servlet),想通 ...

  9. 使用Kylin构建企业大数据分析平台的4种部署方式

    本篇博客重点介绍如何使用Kylin来构建大数据分析平台.根据官网介绍,其实部署Kylin非常简单,称为非侵入式安装,也就是不需要去修改已有的 Hadoop大数据平台.你只需要根据的环境下载适合的Kyl ...

随机推荐

  1. 游戏AI(二)—行为树优化之

    上一篇我们讲到了AI架构之一的行为树,本篇文章和下一篇文章我们将对行为树进行优化,在本篇文章中我们讲到的是内存优化 问题 上一篇中我们设计的行为树由于直接采用new进行动态内存分配,没有自己进行管理. ...

  2. 【Jquery系列】之DOM属性

    1   概述 本章将结合JQuery官方API,对Jquery属性进行分析与讲解.主要讲.addClass(),.attr(),,hasClass(),,html(),.prop(),.removeA ...

  3. ASP.NET Core 返回 Json DateTime 格式

    ASP.NET Core 返回 Json 格式的时候,如果返回数据中有DateTime类型,如何自定义其格式呢?配置如下: services.AddMvc().AddJsonOptions(opt = ...

  4. 自学Zabbix3.6.5-触发器item-Unit symbols单位符号

    在zabbix里面,我们不需要使用大数字来,例如我们可以不使用86400来表示一天,这个数字又不容易理解也容易出错.用什么办法来解决大数字问题呢?我们可以使用单位来简化,例如简化zabbix触发器表达 ...

  5. 2017年国内常用的公共NTP服务

    安卓机顶盒里常用的 http://cn.pool.ntp.org CERNET 的一堆服务器就在那里面 http://asia.pool.ntp.org 追踪它的IP,台湾.韩国.日本都有. 阿里云 ...

  6. Net Core中数据库事务隔离详解——以Dapper和Mysql为例

    Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...

  7. Android系统拍照之后回显并且获取文件路径

    /*调用拍照返回*/ case PHOTO_REQUEST_GALLERY: if (data != null) { Uri uri = data.getData(); String photopat ...

  8. ligerUI---下拉框(Combobox)

    写在前面: 突然发现,从刚开始对ligerUI的抵触,觉得都没有接触过,也不会,到现在,感觉ligerUI的一些组件还是挺好用的,大概日久生情吧.嘻嘻~~~,下拉框是常用的一个组件,在之前的博客中也写 ...

  9. IOS学习4——block代码块

    本文转载自:iOS开发-由浅至深学习block 一.关于block 在iOS 4.0之后,block横空出世,它本身封装了一段代码并将这段代码当做变量,通过block()的方式进行回调.这不免让我们想 ...

  10. iOS 环信集成项目应用

    环信iOS端3.0版本集成记录--聊天界面篇 环信离线推送证书... 1,环信处在后台的时候,消息的接收与推送 离线发推送 配置属性 EMCallOptions *options = [[EMClie ...