cancel
Showing results for 
Search instead for 
Did you mean: 

UI5 app performance Vs SAP GUI

Former Member
0 Kudos

hello

we are seeing big differences in performance between our UI5 app for order entry, versus performance in SAP GUI

SAP is much much quicker for us, then UI

everything from opening the homepage,  entering lines, product pricing etc

we do have latency between the server and end user of 200ms, but 20 to 30 second load times is way over the top just for the home page to load.

we also see 5 second save times for our orders.

anything you can suggest for us to look at

Accepted Solutions (0)

Answers (3)

Answers (3)

daniel_ruiz2
Active Contributor

welcome to UI5..

this is all about the poor design of how libraries are required, downloaded and initialized.. this is about the fact you need a pre-processor when using XML.. but above all, the main issue is how UI5 actually works, the concept behind the library.. so there is really no fix for you.

there are some ways you can try to "improve" performance, but to be acceptable (or at least my acceptable) you'd need to choose a different library to work.

1. make sure you are only referring in your code libraries you actually USE;

2. make sure you are using async library load, so you end up downloading the -preload file instead of a bunch of files.. the .preload will load more into the browser's memory (which is horrible for mobile) but in trade will speed up the resource dependency load time A LOT;

3. preload your custom files - minimize everything before deploying, bundle everything that you can so you end up with less requests to the server to load resources your own resources.

4. avoid XML Views - they are the heaviest because they need a pre-processor - UI5 team recommends them because declarative support is good, but you can do HTML view's in the same way, or even better you can use JS view (but the code looks a bit more complicated in the end, harder to maintain).

5. case performance is still not acceptable - revise your code, make sure you're trying to minimize as much as possible every single little reference or object or component - avoid the big SAP Controls whenever possible, re-write the controls from scratch to provide only the functionality you need; - there is an animation? - read the source code, very likely SAP is doing wrong using some jQ.animate instead of a CSS3 transition - re-write the delivered SAP code for the control.

6. worst case, re-pack the library yourself: don't use the delivered resources from SAP stack but rather build yourself a pack.js using webpack to minimize size of dependencies.. this will make a BIG difference, but at the same time you are totally disconnected from "SAPUI5" - you're sort on your own and new patches on UI5 would require maintenance to keep the app running with newer resources (which to be honest, you would never really do because you have the app running in total isolation) - this won't work too well if you're running inside launchpad.

7. if performance not acceptable go for Angular or React.. I hardly think there would be anymore for you to do and to face a performance issue with those frameworks your code needs to be beyond horrible... in fact, running into a performance issue with React only means it's really your fault.


PS: let's see how long this message will stay here before "a ghost" deletes it.

ChrisSolomon
Active Contributor
0 Kudos

Soooo you are saying you don't much care for UI5 again? hahaha Once again, I will just ask Daniel...you seem VERY knowledgeable on what is wrong with UI5 and what could be better, so why not get involved and try to contribute to making it better?

Personally, I would love to see a blog from you comparing the various options....UI5....Angular...Meteor...React...etc.....and maybe one comparing OData and Jersey...I think you have the knowledge to do that....but not sure if you have the care to share. I do like reading your posts...makes me go look into things for myself deeper.

Just curious for myself...and since just getting into doing some React work....since React is really just the "V" of MVC....how do you like to best fill in the "M" and "C" there? I am quite liking the "Virtual DOM"....any downsides to it that you see/know?

daniel_ruiz2
Active Contributor
0 Kudos

hi Christopher,

I'd like to start saying this will be long, but I will actually take time and compile something because YOU in particular is one of few people I respect in here.. and you deserve a proper answer.

I don't care about UI5, I don't care about Angular or React... to me, it's all just code. SAP it's a tiny little thing I have to deal on a day to day basis, I don't "breath" the SAP **** like so many others do.. if SAP cease to exist tomorrow, there's no real impact in my life.. to many in this community that would be a catastrophic event.. but to me, absolutely nothing happened. This is needed to explain where I came from (non-SAP) - so with that out of the way, lets talk:

About myself writing a blog in here:

- it's dumb.. really, because I would point fingers and I would be Moderated like I usually am (trust me, it happens A LOT)

About a comparison:

- a search would suffice.. but I will be nice and link some content in SDN in here:

- and now the Jersey (Java, slow as) vs OData:

Remember, it's not very easy to measure different approaches because interference gets in the way.. By "interference" I mean, you can read the comments around the first blog (from Andreas, UI5 Developer that messes up which jQuery version UI5 is actually on) about a lot of things that should not matter - every single bullet point on his comment you can pretty much ignore, as things like 'does it support validation out of the box' is dumb.. SAP predicts a validation framework with could be good for a lot of scenarios, but it's not efficient. The word is "efficient" not "effective".. while UI5 can be considered "effective" - it's damn ****'n freak'n far from being anything close, remotely close to efficient. It serves a purpose, nothing else than that... As soon you come from my perspective of not wearing shirts, SAP software is irrelevant because it really hits no one in the "wide" market (it does hit the very few SAP Customers thou).

About the second, we're now comparing a giant vs a little ant - we're talking about JAX-RS vs OData in ABAP stack.. really, forget you're involved with SAP and query Google about Java vs "ABAP" - ABAP is sort of insignificant, very much likely UI5 is nothing compared to Angular or React.js. Is Tobias (which I think shares the same origin as me country-wise) crazy to compare? - I don't think so.. it's a good reference, but nothing but a reference.. Case you really want to have a good feel, you need to do it yourself.. no one can "walk" you thru this. Please just note, usually the ABAP stack is far more sized than a Java stack (which I believe to be the case in his example) and do not forget, you have SAP AS in the way (which is garbage) - probably his laptop with a Tomcat could output a lot faster than SAP AS, but again, this goes too far from this "space" we're discussing which is UI5. But then again, it takes "time" to understand a few things, and when you do understand them things can be shortened into very little sentences.

OData itself serves a purpose, but only to SAP: they have (as a company) to deliver services that should be standardised (it's red so this must not be word) in order for them to maintain support.. however, OData is not widely adopted due overhead and above all, limitations.. Developers once came with REST, they came with a wide open way to use the standard ways of communication to focus on wide ways to resolve problems, and OData "limits" you on how you can actually achieve solutions.. on a support perspective, this is awesome.. however, on "performance" (which is what matters the MOST usually) it doesn't.. as of OData v4, there's no easy way to do a "PUT" deep, so we need a $batch in there that cripples. The best thing for a Customer (because they are not SAP and they can freely code to their purposes) is to stay away from OData.. however, SAP forced OData down to their throats, very much like HANA db which is **** compared to Oracle.. this is another talk, for another space.

Now to your last paragraph, and this is what I was actually inclined to talk about:

- React itself seems to be a "bluff" (like a poker game) which came shortly after Mark stated that the current way ES & HTML would not work for mobile.. it's actually funny how fate worked and someone under his umbrella researched some papers (http://grfia.dlsi.ua.es/ml/algorithms/references/editsurvey_bille.pdf) and they came out with something blazing fast for web in the most problematic area which is DOM updates.. needless to say, the "Virtual DOM" concept (which is somehow applied by UI5 but not in it's real terms) went to a wide spread because it solves one major issue: DOM updates are just too expensive FOR MOBILE.. the word here is MOBILE, is an iPad or iPhone or like I usually say, some less capable device (the market is very oriented to Apple which I hate.. capable of a shell but I can sort this issue using babun because Windows is again, the giant and I'm not on the ant side) - UI5 works for desktops, but it barely works for mobile, and the refresh rate is poor - because it does too much, because it "tries" to do too much to "make everyone happy" in the "Customer" space.. however, a "User" doesn't give a **** if the software is easier to maintain, they want FPS, they want something that runs quick and smooth.. and that's the ONLY real thing that matters as we developer applications for the end-user and not to make manager A or B happy because they save money on maintenance.


- Angular is Google, and that speaks by itself.. Material Design IMO is one of the best things I've seem to far, even thou Angular has nothing to do with it directly.. Google has the means and above all, they are TRANSPARENT (which SAP is not, so Moderate this now) to come with open ways in a very described and detailed manner for building user interfaces, which NOT ONLY targets a business system but also a consumer system.. Google actually does spend time and money into this; meanwhile I remember some UI5 Developer (from SAP) saying SAP had 10 developers on UI5.. how pathetic is that a company with the GDP of Ireland can invest "this much" in UI? - Angular itself does a really good job on the MVC while React lacks on MC as you mentioned.. a lot of people uses Flux to cover that, there are alternatives.. but again, we're now talking about REAL GOOD code that can be easily integrated.. let's look now to UI5.. it can't, or it can but there's a big struggle (and no incentive, because again.. UI5 is nothing but a little ant) - I'm not being a dick-head to point out market directions, or general directions that the planet is following, I'm just pointing it out.. have you checked "jobs" on UI5 vs React or Angular? - Imagine now SAP adopting wide standards how much it would bring to the tiny landscape that is SAP? - A lot.. Once SAP Custom development interviewed me (don't get me started, a bunch of losers here in Australia and New Zealand.. hey, Moderate me again) and they told me: we're looking for someone along the lines of Angular.

What is crazy is that we usually live by the rule: don't re-invent the wheel - and React & Angular are superior (and now you should use both and compare yourself to make your own judgment) - so why SAP wants so much to control in this space? (UI) - We both know absolutely not one, not drunk, would choose for SAP in this space, so why even waste resources? - Above why, SAP should just pay people to help and server Facebook's plan or Google's plan, because they are the leaders.

This, my friend, is the real "EGO CHECK" you mentioned in a thread that's buried.. the EGO is on the way.. but it's not mine.


I keen to see your response, and if this does get Moderated inbox me.


Cheers,
Dan.

PS: I do have all material design from Polymer in UI5 which I'm waiting for Eric's approval if I can actually use and release to public and I am very close to get react-dom module into UI5.. Still, all the issues of the general design of UI5 will be inherited, but at least the DOM will be damn fast.. I don't release **** code (like SAP does) so you'd need to take my word on that.

0 Kudos

Hi Daniel

Its nice to read you. SAPs really needs to think about ui5 performance, its a big issue for all our customers and we can´t just say the software is easier to maintenance.

open sap is open source so i think you can share your improvements inside this space (im not sure)

cheers

ChrisSolomon
Active Contributor
0 Kudos

Thanks Daniel! I think I can see where you are coming from now....you might be a little more "direct" (haha) but I get it.I appreciate you taking the time to respond back.

The only thing I would add to this it just to think from SAP's perspective...or at least how I saw it. It is all about "control"....why didn't they just "integrate" into some existing, well-adopted framework....like Angular or something? Control. They cannot insure to themselves and customers that the products they deliver are "bullet proof" if they are relying on another company's product/code. It would be difficult for them to build enterprise-ready applications on versions of a framework they do not in some way maintain. And of course, they also need the SAP-centric nuisances built in as well....that they need to license (or do they? I think it is BS on this but oh well). I will give it to SAP though...they never said UI5 is on it's own THE framework you must use....they positioned it as a "library"....which can be used along WITH any other framework you want (however, in practice, this is rarely seen)...and true to SAP form, they tried to make it as "open" as possible....ie. use any model source (OData, JSON, XML, etc) and view code (HTML, XML, JS) ....to try to appeal to developers of several backgrounds. Keep in mind too, SAP wanted to keep SAPUI5 as "licensed" code, but I will say proudly, that it was us (the SAP Mentors) who convinced them that if they want wider developer adoption of UI5, they needed to open source it.....so maybe you can blame me (and Mentors) for unleashing UI5 onto the world. haha At the end of the day, I just hope they take "real world" experience/suggestions like yours and evolve the code to be better and better. Heck, look at how long ago UI5 was started/developed...a LOT of the "old" frameworks are long gone that were the "in style" thing back then (back when Backbone and Ember were "awesome!" haha) ...it has already evolved a good bit to keep up...so I think comparing it to the newest, latest-and-greatest is not always a fair comparison. Soooo I guess I like to be more positive about it and think that it is still "growing up". haha

Why does SAP pick OData over something else? Well, I think much like in the past....as tech evolves...SAP has to make a choice....pick a path....they cannot just sit and do nothing and get passed by....so they make a choice and go with it....like back when they picked Java for all new web development...which later was not the right choice after all and they pulled back to enabling ABAP for web development....which was too limited but served it's purpose as a "stop gap" while they chose another path...which is UI5 where we are now.

Lastly...what is really "head scratching" to me is things like the Apple-SAP announcement. We saw ZERO mention of doing anything to use UI5 in there. Instead, we got news that they would release a SWIFT-based toolkit for building native apps for Apple products. Huh?!?! I am still not understanding this one from a technical perspective nor from positioning it with/to developers. I don't think I am the only one that found the message to be confusing.

So yeh...I guess I could go on and on here with you, Daniel. It is a fun discussion for me. I don't "drink the Koolaid" either but at the same time, I respect SAP and a lot of what they do. To maintain themselves at an "enterprise" level is no easy feat.

daniel_ruiz2
Active Contributor
0 Kudos

hi Christopher,

As long I post in here I am contributing.. SAP can read my response and do something about it.. About myself actually shooting a pull request into the git repo, this would never happen.. I would help React, I would help Angular, but never SAP or UI5.. the reason is simple and you also mentioned: "control" - when I believe control is not with me, it's a problem.. and talking about UI5, control as you mentioned lies with SAP - they will not use logic, the only logic they know is "make $" - and it disgusts me.

I will mention your comment about ego check: it's about time for SAP to do that, and realize even thou they have all this money, their software is "usually" complete garbage - they actually get away due one reason: "no manager have ever been fired for choosing SAP" - it's sort of a "safe bet", you pick someone with a big name and you can justify failures, lack of performance or anything really saying: "wow, I chose the biggest.. can you imagine how would be the small players?" - and this is cyclic, and SAP knows it.. every time someone picks SAP it makes their name better, and they pick SAP because they have a good name.. about software? - haha, I remember once someone that used to work for SAP (Sales) and is now working for the same company I work for started a Pre-Sales training for some consultants.. along the lines of the "tell-show-tell" (Elmo, yeah) he also mentioned: "DO NOT SHOW THE SOFTWARE, DO NOT SHOW SAP, DO NOT SHOW THE GUI UNLESS ITS REAL NECESSARY, MAKE IT BRIEF AND DOUBLE CHECK MINUTES BEFORE THAT STUFF ACTUALLY WORKS" - he even mentioned that the number of sales after a "demo session" is really low, and it's only OK to really demo as soon the customer have all legal and contracts in place (they paid license to SAP and they are now a hostage) - at this time the customer (the manager who signed) will be in your side and will help you win key stakeholders that are about to have their process modified.

This is how bad the situation is, as far I can understand: "you can easily sell SAP name, but as soon you demo the software you have trouble".

OData... sucks. ADT nodes work a hell lot better than OData framework - this is what SAP should have chosen, but since they are stupid they tried to create the OData framework which is bloatware and lags most of the requests.. a $batch is pornographically expensive in a way that I need to create a new Entity (EntityUpdate) and perform a create_deep for "update" (put verb which now becomes post verb because of SAP limitation) - I mean, this is bad.. it's really bad. When I want to "extend" the service, I can't.. I could go on and on.. Look at SREST, this is what we should be using.. if you read the source you will notice a lot of "jax-rs, java spec comments" in its source - the SREST is nothing but a "simplistic" copy of what jax-rs1 was, and when you want to "extend" you service you extend in an OO way.. all you need to do is class extends and bind a new icf node, considering you're not looking for possible candidates on run-time. And suddenly, all "custom code" would perform better than "standard" SAP code, just because we switched OData for SREST.. wouldn't that be hilarious?


About the Apple-SAP partnership: as soon the Fiori Guidelines was updated I checked and posted in here asking for more information.. Jocelyn replied me and the thread should be somewhere in this space. The way I think is that SAP by now knows very well how **** UI5 is on a mobile device and they want to do something about it: the solution is not to use the SAP tool-set (tell some Swift guy on Objective-C to use SAPUI5 and I think he will tell you to get effed) - mimic or create the Fiori Guidelines (which is the selling point here, not UI5) and as soon we're in the native layer, in a technology that actually works you can DEMO to anyone and feel good about it. As an end-user, do you think they care if one app or two apps will be built? - They don't.. all they want is performance, it needs to work fast and look good, final stop.

What I think it will be funny is, as soon those "apps" are released, what will happen to UI5? - Another change of direction like: "if you are targeting iOS use the native tool-kit, for the rest use UI5" - after all, there is an SDK announced and coming for iOS development and trust me, SAP only cares to $ and they will charge for it (even thou UI5 is crap, they will charge for the replacement). They could try using React for instance and finally have something decent to show, above all because you use react-native module.. but in SAP ignorance, when they control is good, so this will never happen.


Hopefully if this comes to happen you and the mentors can make it free again (this new iOS SDK for Fiori), I don't care about being open source (really no one outside SAP will use SAP software) but at least free-of-charge for customers.


Cheers,

Dan.

former_member209809
Active Participant
0 Kudos

I enjoyed reading this discussion. It was more of "Clash of Titans" but made sense.More importantly justified the old saying "There is always scope of Improvement".

Warm Regards,

Sumit

ChrisSolomon
Active Contributor
0 Kudos

Something like "Order Entry" is always a "heavy" application/program for SAP....using a "thick" client like SAP GUI....I would think that you would almost always see better performance than in any "web app" you use/develop to do the same as you are essentially jumping through MANY more "hoops". I think SAP see/knows this too as with "FIORI" apps, it aims to break up these overly complex transactions into simpler, smaller pieces....those I can see running faster....but you might be more limited or have to jump between several to accomplish the task.

0 Kudos

Hi

ive seen daniel´s account is disabled. I hope read him again.

Regards