SAP CRM My Opportunity Fiori应用网络请求的详细分析

本文涉及的产品
简介:

This roundtrip is used to render the navigation list when the Opportunity tile is clicked by launchpad. It is mandatory, could not be eliminated.

2: #11: https://fiorilaunchpad-faasperf.dispatcher.neo.ondemand.com/sap/opu/odata/sap/CRM_OPPORTUNITY/

Once the top 20 opportunities are retrieved from backend, by default the FIRST item in the navigation list will be selected automatically, and its detail data will be displayed in the detail view ( technical name: S3.view.xml ). Thus the detailed data of this selected opportunity will be fetched via OData batch request (roundtrip marked with green in below picture - this is however the #13 roundtrip mentioned in the excel).

Before this batch request is really sent to backend, OData framework will issue a token request refresh operation first:


Detail operation of this roundtrip:

And new CSRF token is returned and contained in HTTP response header:

Summary: this roundtrip is issued by OData handling framework and thus could not be controlled by application:

3: #13 roundtrip - just the batch request mentioned in step2:



--batch_c9c9-beb3-1a6d
Content-Type: application/http
Content-Transfer-Encoding: binary

GET SalesStages HTTP/1.1
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0

--batch_c9c9-beb3-1a6d
Content-Type: application/http
Content-Transfer-Encoding: binary

GET Priorities HTTP/1.1
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0

--batch_c9c9-beb3-1a6d
Content-Type: application/http
Content-Transfer-Encoding: binary

GET UserStatuses HTTP/1.1
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0

--batch_c9c9-beb3-1a6d
Content-Type: application/http
Content-Transfer-Encoding: binary

GET Currencies HTTP/1.1
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0

--batch_c9c9-beb3-1a6d
Content-Type: application/http
Content-Transfer-Encoding: binary

GET Opportunities(guid'FA163EEF-573D-1ED4-BEC1-5BEA665821F3')?$expand=ChangeDocs,Competitors,Products,OpportunityLogSet HTTP/1.1
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0

--batch_c9c9-beb3-1a6d
Content-Type: application/http
Content-Transfer-Encoding: binary

GET RetrieveMaxHitSet HTTP/1.1
Accept-Language: en
Accept: application/json
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0

--batch_c9c9-beb3-1a6d--

Instance based.

4: #12 roundtrip https://fiorilaunchpad-faasperf.dispatcher.neo.ondemand.com/sap/opu/odata/sap/CRM_OPPORTUNITY/Opportunities(guid'3C9E5E12-ECCD-AE44-A46C-C3BB558EE9A3')

This roundtrip is used to get ETAG:


ETAG returned in http response header:


Instance based.

5: #14 roundtrip: https://fiorilaunchpad-
faasperf.dispatcher.neo.ondemand.com/sap/opu/odata/sap/CRM_OPPORTUNITY/AccountCollection('3272')?$expand=Logo

This roundtrip is responsible to retrieve the logo header information of a given account. Logo is maintained in CRM backend system via attachment.

  1. 15 roundtrip: https://fiorilaunchpad-faasperf.dispatcher.neo.ondemand.com/sap/opu/odata/sap/CRM_OPPORTUNITY/AttachmentCollection(documentID='0090FA0D8ACA1EE39287D2CF99FACB4F',documentClass='BDS_POC1',businessPartnerID='3272')/$value

The document id and document class are retrieved by the previous roundtrip, #14. Then the binary data of logo image is retrieved in this step.

The data retrieve for logo image binary data is expensive. Just checked in SAP internal system, for a small image with 16.8k, still more than 800ms is spent in backend handling.


本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
20天前
|
人工智能 搜索推荐 Serverless
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
45 7
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0
|
1月前
|
中间件
什么是 SAP CRM 系统里的 Initial Download
什么是 SAP CRM 系统里的 Initial Download
23 0
|
16天前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
19 0
|
20天前
|
数据库
SAP CRM产品主数据无法根据产品描述字段进行搜索的原因
SAP CRM产品主数据无法根据产品描述字段进行搜索的原因
16 5
|
20天前
|
Web App开发 开发者 存储
介绍一个 webp 格式转 png 格式的软件:XNConvert
介绍一个 webp 格式转 png 格式的软件:XNConvert
25 6
介绍一个 webp 格式转 png 格式的软件:XNConvert
|
20天前
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
15 1
什么是 SAP ABAP 里的 Subscreen
|
1月前
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
15 0
|
1月前
|
UED
什么是 SAP Fiori 的 Technical Catalog 和 Business Catalog
什么是 SAP Fiori 的 Technical Catalog 和 Business Catalog
30 0
|
1月前
|
前端开发 UED
SAP Fiori 到底指什么
SAP Fiori 到底指什么
38 0