cancel
Showing results for 
Search instead for 
Did you mean: 

Generate ODATA in SAP Portal

0 Kudos
345

Hi all

with the general adopiton of fiori, ui5 and odata models im wondering how to achive that: provide odata services from the sap portal.

is there any guide? any advice? any clue?

Thanks

View Entire Topic
daniel_ruiz2
Active Contributor
0 Kudos

hi Julio,

SAP Portal is still on the picture in many customers I visit.. SAP is doing a big push into ABAP related stack and have been neglecting the Java stack.. so in a large enough time-frame, my assumption is that you will either run Java in TomEE (HCP) or you will end up in a total SAP vendor lock-in using ABAP & HANA.

About your question, SAP Portal requires a J2EE AS behind, and you often have one to use for your developments. Considering how SAP really uses J2EE, this means little.. but then again, you're not limited to run "SAP related" in the AS.

The very first question you should ask yourself is, why on earth you would choose OData over JAX-RS2? - I understand SAP push because they are developing a lot of stuff to be extended and customized, so it's good to have some standards in place (make easier to understand) - but on the other hand, OData also brings you limitations on how to solve your issues.. this is the first step, analyse if you need OData because if you don't, Jersey will always out-perform OData (olingo) and provide you more flexibility.

Considering how you want to do this, exposing an application from the Portal is no different than exposing any other application for what it matters. You could code all your "service" into an enterprise application and deploy it - Case you need to access the ABAP layer from Java, the options are sort of limited: pretty much ARFC using a CAF/ejb or perhaps you can use SREST in ABAP.. but then again, that could defeat a little the purpose of having the service in the Java layer.

As of Fiori and UI5, there are many options - there's really nothing to setup other than usual, you import the UI5 SDA's into your track and use them - they pretty much expose a centralized "resource" system for UI5, you don't even need to use it - you can pretty much develop the application on Sublime, VIM, Eclipse, WebIDE.. whatever, just make sure you work on your "DC" workspace (this is a web-archive DC) so you can easily generate builds to bundle and deploy into the J2EE.


Also, even with very little attention from SAP the J2EE+JAXRS+CAF+RFC has always been faster than ABAP+ODATA/GW on jMeters (total load) and response time (go figure, OData in GW is bloatware as far I'm concerned) - however, it seems that in the "SAP space" Java developers are rare in comparison to ABAP developers, so most companies choose for what Christopher said: - you follow what SAP tells you, you don't question performance and you throw more and more bucks on license every time they decide to "launch something new" that you can easily solve using Java and Open Source.


Hope it helps,
Dan.

0 Kudos

Thank you. A very usefull response.

I suppose REST - Jasper is an option but it seems that the newest and coolest features of UI5 need an odata model.

daniel_ruiz2
Active Contributor
0 Kudos

hi Julio,

then use "rest" and nothing else, there is no issue with "features" of UI5 that only works on OData.. of course, you will need some sort of "pagination" control of your records because the List controls in UI5 cripple any device.

Cheers,

Dan.

ChrisSolomon
Active Contributor
0 Kudos

"because the List controls in UI5 cripple any device".....Daniel....curious as to what you mean and metrics on this....any help/info?

daniel_ruiz2
Active Contributor
0 Kudos

hi Christopher.

Create a list of 200 elements and swipe up or down (good push) - it has to maintain at least a good 50 frames. Other frameworks / libraries are able to a) create everything quicker than UI5 and b) maintain a stable frame rate even on phones.

I mean, you can easily notice jank even on desktop, including my own desktop and its a beast.. and as far I can tell UI5 cannot even handle a constant 15 frames.

Can you create a list component in UI5 which maintains a good frame rate on iPads?

Cheers,

Dan.

ChrisSolomon
Active Contributor
0 Kudos

So what is your preference then? Have you been able to pinpoint in the UI5 libs where the failure is or can be better optimized?

daniel_ruiz2
Active Contributor
0 Kudos

hi Christopher,

There are so many aspects of UI5 that are incorrect (in my opinion) that each day I read more I get something new to blame. My preference is usually something that provides me performance, meaning React, Polymer, Angular & Knockout - I've used with success and I always had decent results, being the worst part the ripple effect, but even thou, it would be around 30-40 frames... but again, there's are lot others I haven't worked (or used) yet.

About where it can be optimized, well - you open up any code you want and I'm sure you will be able to optimize - the problem is, a lot of touching in dom for no good reason (how the RenderManager works, other frameworks have virtual dom and can calculate diffs a lot faster and smarter), the CSS is over complicated for what it should be and really, the code is not "mobile first" as it's claimed because if it were the performance would be a lot better in general.

Other frameworks & libraries also implement virtual lists for "big lists" because it keeps the number of elements in the dom always small enough not to cause performance impact.. by now you should know it's basically impossible to bind a big item list in a mobile device using UI5, it crashes straight away because the dom is too big, and try to manipulate that.

I'm actually quite curious now, which other libraries have you used that are "inferior" to SAPUI5?


Cheers,

Dan.

0 Kudos

I agree with you. If Sap really wants to fight with others js/html5 frameworks really needs to rethink DOM and databinding.

ChrisSolomon
Active Contributor
0 Kudos

@Daniel.....I was not trying to imply that any are inferior to SAPUI5. I regularly read your posts and can tell you are quite experience in web dev, so I was more asking for what you like these days. Also, I was asking what you feel are the performance issues and areas for optimization with UI5 because I think your feedback to the UI5 team could help greatly....as it is open source, why not help become a contributor to the lib and make it great? I think you have the talent/skill to really do it if you wanted to.

daniel_ruiz2
Active Contributor
0 Kudos

hi Christopher,

I think it makes more sense to re-use web frameworks instead of SAP even trying to develop one. About UI5 and feedback, I don't think SAP wants feedback on their library - it's closed source in that aspect, meaning outside contributors have no say where it's headed - they accept "bug fixing" but the process seems rather "painful" and you can read the FAQ and the gh-page related to "Contributing" to OpenUI5 to make up your own mind.

Cheers,

Dan.

ChrisSolomon
Active Contributor
0 Kudos

Oh wow! Really? I come from the Mentor side of things so those guys (UI5 folks) always seem real open to input, criticism, etc. Maybe or any of the other guys could help you talk to the right people. I think your input would be great.