SAPUI5 Vs other SAP UI Technologies – JSPDynPage, Web Dynpro Java/ABAP
SAPUI5 is HTML5 with additional SAP features – MVC architecture in development, number of libraries. SAPUI5 is based on principle – Build and run on any device. With mobility becoming important requirement for enterprise applications, SAPUI5 gains weightage in new developments across organizations.
We have been developing custom applications or customizing SAP standard objects which majorly make use of BAPI, Z function modules, UI is created either using wizard or using tag library code(JSP Dynpage). How and in what all areas does SAPUI5 development differs from these UI technologies? I have tried to collate major points in this context.
SAPUI5 is lighter UI technology compared to Web Dynpro. Major difference in development is in the way interaction is done with backend system. In case of Web Dynpro for Java model is created out of BAPI, Z function module or Web Service and interaction is done with backend. In case of Web Dynpro ABAP, interaction happens by directly calling BAPI or Z function module, tables can be directly queried.
When it comes SAPUI5, it supports ODATA compliant services for interacting with backend system. It means if we need to transact huge data with backend system, then performance will be at risk. UI Development using SAPUI5 has wizard based UI creation option also. When it comes to usage, SAPUI5 can be run on any device, but not the case with Web Dynpro. SAPUI5 has UI elements specific to mobile platforms.
SAPUI5 look and feel is much better compared to Web Dynpro, JSP Dynpage. We can reuse all the developments of Web Dynpro i.e. business logic packaged in function modules. For this we need to wrap them in ODATA compliant services.
There are many scenarios for which we need to explore when it comes to development of SAPUI5 applications. Some of them are: Consider a scenario where we need Adobe print option in SAPUI5 application; consider a scenario where the workflow is involved; consider a scenario in which status has to be saved.