Performance comparison of ABAP WebDynpro and SAPUI5 with Neptune Application Designer
EDIT: Disclaimer, I work as the CTO of Neptune Software. The comparison is viable for SAPUI5 in general tho.
It is difficult to set up a side by side comparison of different UI frameworks without having identical scenarios and backend coding. In this document we will use a common scenario which is to create a sales order. The applications used for comparison is the Lean Order for WebDynpro ABAP – lo_oif_main_app and the Neptune application nadui5_sales_order which is based on the SAPUI5 framework.
The first thing you will notice when comparing the two is a huge difference in perceived performance. Whereas the flow of the WDA Lean Order is constantly interrupted by the dreaded WDA spinning wheel when using the app, the SAPUI5 solution runs smoothly and gives you a native and fast user experience.
When we looked under the hood to find out why, the number of HTTP requests used by a single operation is staggeringly different. For one UI5 request the WDA solution (even when cached) used 30-40. Also a similar number of cached resources are fetched adding additional overhead.
This is illustrated here where the WDA enters the order page and loads 0.9 MB! For showing this screen:
If you look at the requests the sheer number is unbelievable and you quickly see where the UI layer performance overhead comes from.
You see calls here with up to 20 seconds response time, which is unacceptable in a modern application.
Now let’s look at the Neptune solution. The architecture is based on loading compressed native json through ajax calls into the SAPUI5 models.
The initial load of a single application fetches the entire user interface parts and includes the SAPUI5 library if it is not cached thus making subsequent calls extremely lean. But it is a fact that many people are not happy about the size of the SAPUI5 framework.
The ability to send multiple models in one ajax call reduces the number of requests drastically. The application is not directly comparable as I mentioned in the introduction but the functionality is identical. Here we see a response time of 55 ms and a mere 885 bytes received.
In conclusion we see that SAPUI5 used properly can boost performance and the framework should be a serious consideration for SAP desktop development, not only making your portal and Business Client look better, but adding the vital user experience factor – performance.