Hi,
my name is Manuel Blechschmidt and I will be the speaker of the SAP TechEd session "
Optimizing an SAP Fiori Application Based on a Real World Example".
Who are you?
I am currently working for the
FarmFacts GmbH. I studied IT systems engineering at the Hasso-Plattner-Institut in Potsdam and since then I worked in the eCommerce and agriculture branch.
What do you do there?
I am the team lead for a cloud software that is developed since 2015. It is a global digital farming platform.
Which real world application are you describing?
The software we are working on is
https://www.nextfarming.de/. It is using a Java EE application server and an OpenUI5 front end. For geo spatial data we integrated OpenUI5 with openlayers.
You can find some more information about the server here:
http://www.adam-bien.com/roller/abien/entry/satellites_iot_machine_tracks_or
Here is a screenshot of the front end:
What is different between your application and other SAP Fiori applications?
We are running our OpenUI5 app on Java EE 7 and therefore we can use all the Java and JavaScript built tools further geospatial data is a big topic for us and this has own challenges.
What is most important for performance optimization?
The most important thing is measuring the performance before optimizing anything.
We found multiple unexpect things like slow regular expression parsing in Internet Explorer or unfiltered binding loading.
If you don't have a profiler you can use the build in
measuring tool of openui5.
Here you can see a screenshot how it is possible to measure with Chrome:
Source: Prepared by Manuel Blechschmidt based on
blueprint and
Google Chrome Developers
Where are currently the performance boosters for a certain app?
In our case the biggest booster was reducing HTTP requests e.g. with bundling all files in a Component-preload.js file or using ODataModel batch requests, than all requests should be asynchronously and in then we discovered some possible enhancements in the rendering behavior of OpenUI5. Our custom controls are build for showing multiple thousand data objects from the server.
Here you can see a sketch how the rendering of OpenUI5 works. If you want to have a lot of performance you have to apply partial rendering techniques like virtual lists. whzz from the
OpenUI5 slack channel gave us that tipp.
Source: Prepared by Manuel Blechschmidt with
Signavio FMC Stencils based on
OpenUI5 source
In the session we will define a workflow for performance optimization, explore the different techniques for measuring and show some concrete examples for solving common problems.
Join me at this SAP Community session at Las Vegas.