SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Optimizing an SAP Fiori Application Based on
a Real World Example
Session ID: DX301
Manuel Blechschmidt, FarmFacts GmbH, SAP Community Network
25. - 29.9.2017 SAP TechEd Las Vegas
23.07.17FarmFacts GmbH, Abteilung, Verfasser Seite 2
Please build the best digital
farming platform on earth
Challenge accepted!
Architecture
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 4
OpenUI5 Client & Openlayers
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 5
Development cycle
In the first year we did this weekly
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 6
Develop
Release
Analyze
Feedback
After one and a half year
Your application is
awesome
but it is so slow
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 7
We started performance optimization
1. Define performance goals from the customer perspective
2. Measure performance goals in different set ups
3. Tweak as long as the performance goals are not met
Rule of thumb doubling performance means 10% - 30% more effort. Sometimes you
have to be 8 times faster which means 3*10% - 30% ~ 60% more development effort
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 8
Performance definitions
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 9
Standard techniques for performance improvement UI5
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 10
– Use Chrome
– Reduce amount of HTTP requests
▪ Bundle controllers, controls and view as Component-preload.js
▪ Use batch for ODataModel
▪ Use client mode for ODataModel binding
▪ Use OpenUI5 from a CDN and hope it is already cached
– Reduce size of HTTP requests
▪ Compress HTTP requests
▪ Use HTTP2
– Parallize HTTP requests
▪ Use sap.ui.define (AMD) syntax
Advanced techniques
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 11
– Optimize rendering by disabling invalidation and updating DOM
– Using virtual lists by just rendering the elements shown in the viewpost
– Using canvas for rendering objects (openlayers)
– Use webpack to only bundle the JavaScript that is needed
– Use new Chrome Developer Tools to find the code that is really executed (coverage)
– Use new support assistent to analyze runtime behavior
– Send samples of live application to monitoring database
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 12
Connection Regular 3G Regular
3G
Regular
3G
Regular 3G Regular 3G Regular
3G
No
throtteling
Debug
Sources
X O O O O O O
No Cache X X O O O O O
No async X X X O O O O
No Compoent-
preload.js
X X X X O O O
No Server
Compression
X X X X X O O
Load Time (s) 87,5 40,5 1,8 1,5 1,1 0,7 0,64
0,1
1
10
100
0 1 2 3 4 5 6 7 8
Load Time (s)
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 13
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 14
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 15
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 16
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 17
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 18
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 19
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 20
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 21
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 22
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 23
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 24
Standard Techniques Case Study
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 25
Advanced techniques, Disable invalidation
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 26
Advanced techniques, only render visible area
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 27
Advanced techniques, OpenUI5 support assistant
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 28
Advanced techniques, OpenUI5 support assistant
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 29
Questions?
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 30
Source, image credits.
Sources
 https://openui5nightly.hana.ondemand.com/
 https://developer.chrome.com/devtools
Slide 2
men in black by radacina https://openclipart.org/detail/20605/men-in-black
Slide 9
blueprint github project https://github.com/ManuelB/blueprint
23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 31
Feedback
Please complete a session evaluation for this
session DX301!

Weitere ähnliche Inhalte

Andere mochten auch

Sapbpc nw 10.0 consolidations ownership and minority interest calculations v2
Sapbpc nw 10.0 consolidations ownership and minority interest calculations v2Sapbpc nw 10.0 consolidations ownership and minority interest calculations v2
Sapbpc nw 10.0 consolidations ownership and minority interest calculations v2
Cloneskills
 
S4 Financials Powered By HANA-Purna
S4 Financials Powered By HANA-PurnaS4 Financials Powered By HANA-Purna
S4 Financials Powered By HANA-Purna
Chandar Pokala
 
Clone skills, inc. sap bpc on hana data management v9
Clone skills, inc. sap bpc on hana data management v9Clone skills, inc. sap bpc on hana data management v9
Clone skills, inc. sap bpc on hana data management v9
Jothi Periasamy
 
Sapbpc nw 10.0 transactional data load guide
Sapbpc nw 10.0 transactional data load guideSapbpc nw 10.0 transactional data load guide
Sapbpc nw 10.0 transactional data load guide
Cloneskills
 

Andere mochten auch (15)

Hyperion Planning: Cloud or On Premise
Hyperion Planning: Cloud or On PremiseHyperion Planning: Cloud or On Premise
Hyperion Planning: Cloud or On Premise
 
SAP GL Data Load for BPC Consolidation
SAP GL Data Load for BPC ConsolidationSAP GL Data Load for BPC Consolidation
SAP GL Data Load for BPC Consolidation
 
The Future of Business Planning with BPC 10.1 and SAP HANA
The Future of Business Planning with BPC 10.1 and SAP  HANAThe Future of Business Planning with BPC 10.1 and SAP  HANA
The Future of Business Planning with BPC 10.1 and SAP HANA
 
SAP HANA LIVE WEBINAR
SAP HANA LIVE WEBINARSAP HANA LIVE WEBINAR
SAP HANA LIVE WEBINAR
 
Using BPMN-Q to show violation of execution ordering compliance rules
Using BPMN-Q to show violation of execution ordering compliance rulesUsing BPMN-Q to show violation of execution ordering compliance rules
Using BPMN-Q to show violation of execution ordering compliance rules
 
Sapbpc nw 10.0 consolidations ownership and minority interest calculations v2
Sapbpc nw 10.0 consolidations ownership and minority interest calculations v2Sapbpc nw 10.0 consolidations ownership and minority interest calculations v2
Sapbpc nw 10.0 consolidations ownership and minority interest calculations v2
 
SAP BPC Environment Export Import Implementation Guide
SAP BPC Environment Export Import Implementation GuideSAP BPC Environment Export Import Implementation Guide
SAP BPC Environment Export Import Implementation Guide
 
Best Practices for Enterprise Performance Management
Best Practices for Enterprise Performance ManagementBest Practices for Enterprise Performance Management
Best Practices for Enterprise Performance Management
 
SAP BPC on HANA Environment Security Management Implementation Guide
SAP BPC on HANA Environment Security Management Implementation GuideSAP BPC on HANA Environment Security Management Implementation Guide
SAP BPC on HANA Environment Security Management Implementation Guide
 
S4 Financials Powered By HANA-Purna
S4 Financials Powered By HANA-PurnaS4 Financials Powered By HANA-Purna
S4 Financials Powered By HANA-Purna
 
Sap fiori
Sap fioriSap fiori
Sap fiori
 
SAP BPC NW 10.0 Equity Based Consolidation Step by Step Guide
SAP BPC NW 10.0 Equity Based Consolidation Step by Step GuideSAP BPC NW 10.0 Equity Based Consolidation Step by Step Guide
SAP BPC NW 10.0 Equity Based Consolidation Step by Step Guide
 
Oracle EPM BI Overview
Oracle EPM BI OverviewOracle EPM BI Overview
Oracle EPM BI Overview
 
Clone skills, inc. sap bpc on hana data management v9
Clone skills, inc. sap bpc on hana data management v9Clone skills, inc. sap bpc on hana data management v9
Clone skills, inc. sap bpc on hana data management v9
 
Sapbpc nw 10.0 transactional data load guide
Sapbpc nw 10.0 transactional data load guideSapbpc nw 10.0 transactional data load guide
Sapbpc nw 10.0 transactional data load guide
 

Ähnlich wie Optimizing an SAP Fiori Application Based on a Real World Example

SAP Training Manual Project Systems .pdf
SAP Training Manual Project Systems .pdfSAP Training Manual Project Systems .pdf
SAP Training Manual Project Systems .pdf
DineshChanakya1
 

Ähnlich wie Optimizing an SAP Fiori Application Based on a Real World Example (20)

How to integrate PWA solutions successfully (hosting)
How to integrate PWA solutions successfully (hosting)How to integrate PWA solutions successfully (hosting)
How to integrate PWA solutions successfully (hosting)
 
Enterprise Architecture in Practice: from Datastore to APIs and Apps
Enterprise Architecture in Practice: from Datastore to APIs and AppsEnterprise Architecture in Practice: from Datastore to APIs and Apps
Enterprise Architecture in Practice: from Datastore to APIs and Apps
 
Red Hat JBoss BRMS Primer - JBoss Business Rules and BPM Solutions
Red Hat JBoss BRMS Primer - JBoss Business Rules and BPM SolutionsRed Hat JBoss BRMS Primer - JBoss Business Rules and BPM Solutions
Red Hat JBoss BRMS Primer - JBoss Business Rules and BPM Solutions
 
Flink meetup
Flink   meetupFlink   meetup
Flink meetup
 
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance EdgeAhead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
 
Salesforce Developer Workshop for GDF Suez Hackathon
Salesforce Developer Workshop for GDF Suez HackathonSalesforce Developer Workshop for GDF Suez Hackathon
Salesforce Developer Workshop for GDF Suez Hackathon
 
Heise Developer World 2016 - Big Data ist tot, es lebe Business Intelligenz
Heise Developer World 2016 - Big Data ist tot, es lebe Business IntelligenzHeise Developer World 2016 - Big Data ist tot, es lebe Business Intelligenz
Heise Developer World 2016 - Big Data ist tot, es lebe Business Intelligenz
 
An approach to production scheduling optimization, A Case of an Oil Lubricati...
An approach to production scheduling optimization, A Case of an Oil Lubricati...An approach to production scheduling optimization, A Case of an Oil Lubricati...
An approach to production scheduling optimization, A Case of an Oil Lubricati...
 
Presentation on House Rent Management System
Presentation on House Rent Management SystemPresentation on House Rent Management System
Presentation on House Rent Management System
 
Cut your Grails application to pieces - build feature plugins
Cut your Grails application to pieces - build feature pluginsCut your Grails application to pieces - build feature plugins
Cut your Grails application to pieces - build feature plugins
 
Introducing MongoDB in a multi-site HA environment
Introducing MongoDB in a multi-site HA environmentIntroducing MongoDB in a multi-site HA environment
Introducing MongoDB in a multi-site HA environment
 
Using PHP with IBM Bluemix
Using PHP with IBM BluemixUsing PHP with IBM Bluemix
Using PHP with IBM Bluemix
 
Your Personal Productivity
Your Personal ProductivityYour Personal Productivity
Your Personal Productivity
 
Developer Nirvana with IBM Bluemix™
Developer Nirvana with IBM Bluemix™Developer Nirvana with IBM Bluemix™
Developer Nirvana with IBM Bluemix™
 
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
 
SAP Training Manual Project Systems .pdf
SAP Training Manual Project Systems .pdfSAP Training Manual Project Systems .pdf
SAP Training Manual Project Systems .pdf
 
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...
 
Jenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-PipelinesJenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-Pipelines
 
In-Plant Power Play: Game Changing Strategies for Adding Value
In-Plant Power Play: Game Changing Strategies for Adding ValueIn-Plant Power Play: Game Changing Strategies for Adding Value
In-Plant Power Play: Game Changing Strategies for Adding Value
 
Real-time Manufacturing Management for a Hybrid Process
Real-time Manufacturing Management for a Hybrid ProcessReal-time Manufacturing Management for a Hybrid Process
Real-time Manufacturing Management for a Hybrid Process
 

Mehr von Manuel Blechschmidt

Information Technology for Development Countries
Information Technology for Development CountriesInformation Technology for Development Countries
Information Technology for Development Countries
Manuel Blechschmidt
 
Zeitmanagement mit Zielen MHN Akademie 2008
Zeitmanagement mit Zielen MHN Akademie 2008Zeitmanagement mit Zielen MHN Akademie 2008
Zeitmanagement mit Zielen MHN Akademie 2008
Manuel Blechschmidt
 
Zeit- und Aufgabenmanagement im Leben Pfingstakademie 2008
Zeit- und Aufgabenmanagement im Leben Pfingstakademie 2008Zeit- und Aufgabenmanagement im Leben Pfingstakademie 2008
Zeit- und Aufgabenmanagement im Leben Pfingstakademie 2008
Manuel Blechschmidt
 

Mehr von Manuel Blechschmidt (15)

Using XMPP JSONPatch for synchronizing an OpenUI5 Model
Using XMPP JSONPatch for synchronizing an OpenUI5 ModelUsing XMPP JSONPatch for synchronizing an OpenUI5 Model
Using XMPP JSONPatch for synchronizing an OpenUI5 Model
 
Was macht ein Start Up erfolgreich?
Was macht ein Start Up erfolgreich?Was macht ein Start Up erfolgreich?
Was macht ein Start Up erfolgreich?
 
Pick up women bigdata - CdE Pfingstakademie 2014
Pick up women bigdata - CdE Pfingstakademie 2014Pick up women bigdata - CdE Pfingstakademie 2014
Pick up women bigdata - CdE Pfingstakademie 2014
 
Obtaining Natural Language Descriptions of Process Specifications
Obtaining Natural Language Descriptions of Process SpecificationsObtaining Natural Language Descriptions of Process Specifications
Obtaining Natural Language Descriptions of Process Specifications
 
Building a multi touch input device for NASA world wind
Building a multi touch input device for NASA world windBuilding a multi touch input device for NASA world wind
Building a multi touch input device for NASA world wind
 
An architecture for evaluating recommender systems in real world scenarios
An architecture for evaluating recommender systems in real world scenariosAn architecture for evaluating recommender systems in real world scenarios
An architecture for evaluating recommender systems in real world scenarios
 
Studienberatung für IT Systems Engineering JGW Papenburg 2008
Studienberatung für IT Systems Engineering JGW Papenburg 2008Studienberatung für IT Systems Engineering JGW Papenburg 2008
Studienberatung für IT Systems Engineering JGW Papenburg 2008
 
Qualitätsmanagement für Web- und PHP Applikationen
Qualitätsmanagement für Web- und PHP ApplikationenQualitätsmanagement für Web- und PHP Applikationen
Qualitätsmanagement für Web- und PHP Applikationen
 
Collaboratives entwickeln in Bachelorprojekten
Collaboratives entwickeln in BachelorprojektenCollaboratives entwickeln in Bachelorprojekten
Collaboratives entwickeln in Bachelorprojekten
 
Information Technology for Development Countries
Information Technology for Development CountriesInformation Technology for Development Countries
Information Technology for Development Countries
 
Sub conf 2010
Sub conf 2010Sub conf 2010
Sub conf 2010
 
See through Augmented Reality
See through Augmented RealitySee through Augmented Reality
See through Augmented Reality
 
Zeitmanagement mit Zielen MHN Akademie 2008
Zeitmanagement mit Zielen MHN Akademie 2008Zeitmanagement mit Zielen MHN Akademie 2008
Zeitmanagement mit Zielen MHN Akademie 2008
 
Zeit- und Aufgabenmanagement im Leben Pfingstakademie 2008
Zeit- und Aufgabenmanagement im Leben Pfingstakademie 2008Zeit- und Aufgabenmanagement im Leben Pfingstakademie 2008
Zeit- und Aufgabenmanagement im Leben Pfingstakademie 2008
 
BPEL Vortrag POIS 2007
BPEL Vortrag POIS 2007BPEL Vortrag POIS 2007
BPEL Vortrag POIS 2007
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 

Optimizing an SAP Fiori Application Based on a Real World Example

  • 1. Optimizing an SAP Fiori Application Based on a Real World Example Session ID: DX301 Manuel Blechschmidt, FarmFacts GmbH, SAP Community Network 25. - 29.9.2017 SAP TechEd Las Vegas
  • 2. 23.07.17FarmFacts GmbH, Abteilung, Verfasser Seite 2 Please build the best digital farming platform on earth
  • 5. OpenUI5 Client & Openlayers 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 5
  • 6. Development cycle In the first year we did this weekly 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 6 Develop Release Analyze Feedback
  • 7. After one and a half year Your application is awesome but it is so slow 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 7
  • 8. We started performance optimization 1. Define performance goals from the customer perspective 2. Measure performance goals in different set ups 3. Tweak as long as the performance goals are not met Rule of thumb doubling performance means 10% - 30% more effort. Sometimes you have to be 8 times faster which means 3*10% - 30% ~ 60% more development effort 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 8
  • 10. Standard techniques for performance improvement UI5 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 10 – Use Chrome – Reduce amount of HTTP requests ▪ Bundle controllers, controls and view as Component-preload.js ▪ Use batch for ODataModel ▪ Use client mode for ODataModel binding ▪ Use OpenUI5 from a CDN and hope it is already cached – Reduce size of HTTP requests ▪ Compress HTTP requests ▪ Use HTTP2 – Parallize HTTP requests ▪ Use sap.ui.define (AMD) syntax
  • 11. Advanced techniques 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 11 – Optimize rendering by disabling invalidation and updating DOM – Using virtual lists by just rendering the elements shown in the viewpost – Using canvas for rendering objects (openlayers) – Use webpack to only bundle the JavaScript that is needed – Use new Chrome Developer Tools to find the code that is really executed (coverage) – Use new support assistent to analyze runtime behavior – Send samples of live application to monitoring database
  • 12. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 12 Connection Regular 3G Regular 3G Regular 3G Regular 3G Regular 3G Regular 3G No throtteling Debug Sources X O O O O O O No Cache X X O O O O O No async X X X O O O O No Compoent- preload.js X X X X O O O No Server Compression X X X X X O O Load Time (s) 87,5 40,5 1,8 1,5 1,1 0,7 0,64 0,1 1 10 100 0 1 2 3 4 5 6 7 8 Load Time (s)
  • 13. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 13
  • 14. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 14
  • 15. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 15
  • 16. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 16
  • 17. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 17
  • 18. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 18
  • 19. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 19
  • 20. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 20
  • 21. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 21
  • 22. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 22
  • 23. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 23
  • 24. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 24
  • 25. Standard Techniques Case Study 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 25
  • 26. Advanced techniques, Disable invalidation 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 26
  • 27. Advanced techniques, only render visible area 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 27
  • 28. Advanced techniques, OpenUI5 support assistant 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 28
  • 29. Advanced techniques, OpenUI5 support assistant 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 29
  • 31. Source, image credits. Sources  https://openui5nightly.hana.ondemand.com/  https://developer.chrome.com/devtools Slide 2 men in black by radacina https://openclipart.org/detail/20605/men-in-black Slide 9 blueprint github project https://github.com/ManuelB/blueprint 23.07.17FarmFacts GmbH, Manuel Blechschmidt Seite 31
  • 32. Feedback Please complete a session evaluation for this session DX301!