zoukankan      html  css  js  c++  java
  • 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.


    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    Cocon90.Db调用方法
    Hotmail Smtp邮箱发送的端口
    Nginx+Lua+Redis构建高并发应用
    Linux安装pear包
    Nginx中if语句中的判断条件
    SqlServer判断表、列不存在则创建
    Nginx配置参数详解
    Linux中在线安装Mysql和修改密码设置服务启动
    linux中fuser用法详解
    Java中创建访问HTTPS的自签名证书的方法
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/12232795.html
Copyright © 2011-2022 走看看