SAP UI5 Cross Application Navigation (跨应用间跳转)的本地模拟实现试读版

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化DataV,5个大屏 1个月
简介: SAP UI5 Cross Application Navigation (跨应用间跳转)的本地模拟实现试读版

一套适合SAP UI5 初学者循序渐进的学习教程

 

作者简介

 

Jerry Wang2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。

 

Jerry 工作中使用ABAP, Java, JavaScript TypeScript 进行开发, 对包括 SAP UI5 在内的多款SAP自研框架有深入的研究。

 

教程目录

 

 


说明

 

Jerry 2014年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和汪子熙微信公众号上发表过多篇关于 SAP UI5 工作原理和源码解析的文章。

 

Jerry 这篇文章 对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好? 曾经提到,Jerry 也是从 SAP UI5 菜鸟一路走过来,深知只有 ABAP 开发背景的开发者,向 SAP UI5 开发领域转型的不易,因此我在业余时间设计了这份适合 SAP UI5 不同水平的学习者的学习教程,把开发一个完整的 SAP UI5 应用的流程,拆分成若干个步骤,力求每个步骤里,把涉及到的知识点都涵盖到。

 

这些知识点可能不像我的 UI5 源码分析系列文章那么深入,但力求做到深入浅出,重要的知识点都配上详细的截图来辅助文字的介绍,便于教程学习者的理解。

 

本教程每一个步骤的源代码,都存放在我的 Github 上,分别用文件夹 01,02,03 等等来标识,例如步骤 1 的源代码在这里



每一个步骤均是前一步骤的基础上,添加了若干新特性。建议零基础或者对 SAP UI5 知之甚少的 SAP UI5 初学者,按照顺序从第一个步骤开始循序渐进地学习,把这些代码下载到本地,配合教程的文字讲解,自己动手,以加深理解。


对于已经有一定基础的 SAP UI5 开发人员,可以通过本文的目录,跳过前面一部分比较基础的章节,直接挑选对自己工作项目有关,或者包含某些知识点自己尚未掌握的章节来有针对性地学习。


大家如果对教程的每个步骤有任何疑问,欢迎在教程对应的步骤文章里给我评论,进行留言。我虽然平时开发工作很忙,但是保证会定期查看大家给我留下的评论,对于里面涉及到的技术疑问,我一定会抽时间做出解答。



在本教程前一步骤,我们提到了 SAP UI5 Cross Application Navigation 的概念。在 SAP Fiori 应用里,有大量这种跨应用间跳转的例子。


SAP UI5 应用开发教程之一百三十 - 如何使 SAP UI5 SmartField 在运行时渲染成超链接的形式并支持跳转

比如下图是 SAP CRM Fiori Launchpad 的截图,每个 tile 对应一个 CRM Fiori 应用。



我们点击 My Opportunities tile,随便打开一个 Opportunity 明细页面。明细页面的 Account 字段是一个超链接。




我们点击该超链接,会跳转到 My Account 应用,在该应用里显示维护在跳转前的 Opportunity 明细页面的 Account 数据明细:



当然这种跨 SAP UI5 应用间的跳转,需要 SAP Fiori Launchpad 的支持。本教程之前我们介绍过很多 SAP UI5 路由的开发步骤,这些步骤都是不同的 SAP UI5 视图,在同一应用 内部跳转,同本文介绍的跨应用间跳转,实现方式和运行细节都有本质的不同。


本教程步骤第 54,我们介绍了 Fiori Launchpad 的本地模拟实现。


SAP UI5 应用开发教程之五十四 - 如何将本地 SAP UI5 应用配置到本地 Fiori Launchpad 中



本文则介绍前一步骤 130 中提到的本地模拟实现 Cross Application Navigation 的工作原理。


本文仍然重用前一步骤即文件夹 130 下的源代码。


Fiori Launchpad 之所以支持跨应用间跳转,是因为 SAP UI5 框架一个所谓的 Unified Shell Service. 在 Fiori Launchpad 里,假设我们从应用 A 点击一个超链接,SAP UI5 Unified Shell Service 会根据配置信息,解析出这个超链接对应的目标应用,然后发起向应用 B 的跳转。


因此我们如果想在本地运行的 SAP UI5 应用也模拟跨应用间跳转的场景,必须模拟 SAP UI5 Unified Shell Service,为其创建一个模拟实现。


这种思路有点像我们之前创建一个模拟的 OData 服务器即 OData Mock Server. 对于 SAP UI5 应用请求方(也就是 SAP UI5 的 XML 视图和控制器实现)来说,它对于底层连接的 OData 服务到底是部署在远端服务器上,还是部署在本地的 Mock Server 这件事情一无所知。


下面是具体的 Mock 实现步骤。



相关实践学习
Github实时数据分析与可视化
基于Github Archive公开数据集,将项目、行为等20+种事件类型数据实时采集至Hologres进行分析,并搭建可视化大屏。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
5月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
5月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
|
2月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
2月前
数字化核心构建问题之SAP为应用软件扎根客户打基础如何解决
数字化核心构建问题之SAP为应用软件扎根客户打基础如何解决
16 0
|
5月前
|
JavaScript 前端开发
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
|
5月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
5月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
5月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
|
5月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
下一篇
无影云桌面