Senior Consultant
Bluefin Solutions
SAPUI5 - The Future direction of SAP UI Development?
02 May 2012
Open Standards, Mobile, Development, User Interface
Heard of SAP's "User Interface Development Toolkit for HTML5"? No? Thought not. How about "SAPUI5"? Ah, that's more like it.
SAP's User Interface Development Toolkit for HTML5 - aka SAPUI5 - is a very recent offering from SAP that, despite being an absolute mouthful when you use its official product name, is something that I suspect we will be hearing a lot more about in the next 12 months.
The SAP UI experience
When you think of the SAP user interface experience, what comes to mind? The venerable SAPGUI? The edgy NetWeaver Business Client? Some browser-based but ultimately and unmistakeably SAP flavoured HTML experience? For many of us, it's "all of the above". When you consider all of these approaches, and the technologies that power them, there's a single theme that emerges: the theme of "Inside-Out". Classic dynpros, WebDynpro for Java, WebDynpro for ABAP, Business Server Pages and (gasp) home-brew solutions based on a custom set of templates are all technologies where the user experience is designed, built and pushed out from the inside of an SAP system, and exposed to the outside in the last-mile of user connectivity. That's served us well, but there's a sea-change ahead.
From inside-out to outside-in
"SAPUI5 supports application developers in creating fast and easy User Interface Applications based on HTML5 and JavaScript."
That's from the SAPUI5 homepage on SAP's Developer Centre. I'll translate, and add an observation that may go otherwise unnoticed: SAPUI5 is a framework and a series of libraries that front-end developers can use to build compelling, non-clunky (but still SAP-focused) genuine HTML5-based applications. It's a framework that embraces (well, includes, actually) the ever popular jQuery, and has more UI controls than you can shake a stick at. It has a core UI layout called the "Shell" which is an implementation of what we might traditionally call a dynpro frame, a sort of meta-component which is as good-looking as it is flexible and adaptable.
So what might go unnoticed? The fact that this is SAP's first major UI venture which adopts - by design - an "Outside-In" approach.
What does that mean, and why is it significant?
Outside-In? What does that mean? It means that rather than have your UI construction weighed down and otherwise restricted by unnecessary, irrelevant and somewhat proprietary tech in the SAP system, you can approach your new applications with a fresh, unfettered and ultimately independent flexibility. Build your applications in the context of today's UI runtimes (i.e. build in HTML5 for the browser), and support your applications with data and functionality in your backend SAP systems as and when required. Build from the outside, and connect into SAP when appropriate.
What else does that mean? It means for SAP the ability to reach out to the otherwise non-SAP developers out there, the myriad mobile & desktop app-shop developer teams that are experts in constructing solid and user-focused applications. If SAP are to get anywhere near attaining the goal of reaching one billion users, then this is an approach that becomes absolutely necessary.
Last year I attended SAP TechEd in Madrid, and this year I had the privilege of giving a session at SAP's internal Developer Kick-Off Meeting (DKOM) in Karlsruhe, Germany. What I observed at both events was that in the majority of presentations and sessions that I attended, SAPUI5 was being used for the presentation layer. It seems already to have become the "goto UI framework" for SAP development. And why not? It's exactly the right approach, allowing front-end and back-end developers to shine. And if you're both, then that's ok too - as the SAPUI5 framework is relatively easy to get to grips with, especially if you have already had exposure to modern client-side JavaScript programming.
Finally, the significance is exponentially enhanced by the fact that out of the box, SAPUI5 supports data bindings for raw XML, JSON ... and OData. And we all know what that means, right? As the maturing lingua franca of SAP's API landscape, SAP NetWeaver Gateway's support of OData as the data-centric consumption protocol becomes a powerful ally of a UI framework built with the right focus from the get-go. The blog post
"SAPUI5 says 'Hello OData' to NetWeaver Gateway" on the SAP Community Network shows how easy consumption of Gateway-exposed OData can be from SAPUI5.
So what's the catch?
SAPUI5 is in early beta. It was released (Beta runtime 1.2.0) on the SAP Developer Network on 8th Feb this year as a standalone package for trial. As betas go, this release is extremely impressive. Tons of documentation, interactive examples, and a very complete set of components. So complete in fact that the biggest criticism so far seems to be that the framework is rather large. That's partly because none of the code has been minified (automatically re-written to be a lot more compact - something very typical in the browser-based JavaScript world where network latency and bandwidth are significant factors).
The next release is scheduled to be bundled as part of SAP's Platform-as-a-Service (PaaS) offering codenamed "Neo". There will be a standalone product, but the focus is on Neo first. They are still working on a mobile version, and there's no date for that yet.
So if you're looking at SAPUI5 for your future user interface requirements, you're on the right track, but are going to be an early adopter.
Final thoughts
SAPUI5 is here already, and among the early adopters in the wider SAP geek community, it is receiving significant (and deserved) attention. What's more, the product team behind it is approaching the framework's growth in exactly the right way - by actively engaging the developers. It's early days, but I totally applaud SAP's direction and efforts thus far. If you're interested in rapid deployment of prototype, ad-hoc and full blown productive apps powered by your timeless SAP infrastructure, keep an eye on SAPUI5.
Comments
DJ Adams 17 Sep 2012
Hi Amit, thanks for the comment.
What you're asking is something I can't avoid answering without using the phrase "it depends", as you might have guessed :-)
Tech strategy, target platforms, developer skillsets and your own gut feel on how SAP is driving through its UI roadmap are all factors that will contribute towards reaching an answer to that question.
What is your tech strategy from an SAP integration POV? Inside-out only, or platform-focused and multi-disciplined teams? Closely following that is therefore also your developer skillset approach. Do you want your core ABAPers to also build UIs? What about the trajectory that SAP is on in the open standards space? SAP are constantly reinventing themselves and moving closer (in many areas) to more 'standard' practices, tools and protocols. How closely do you want to follow that?
All these questions and more besides will help you approach an answer to what you have asked.
cheers
dj
Amit Kumar Singh 17 Sep 2012
Hi DJ,
Thanks for the nice blog! I wanted to ask you..
How can we decide on Whether to go for Floor Plan Manager, UI5 or Page Builder?
Thanks! Amit
DJ Adams 18 May 2012
Hi again Warren
Just another thought on your comment. If you were referring to the SAPUI5 library, then more or less by definition the library is open source, it's Javascript that runs on the client. Ironically it's even "more" open than it might otherwise be at the moment, because of the lack of script minification (see the reference in the blog post here) :-)
dj
DJ Adams 11 May 2012
Hi Rui
Thanks for pointing us to your blog series - great hands-on stuff!
cheers
dj
DJ Adams 11 May 2012
Hi Warren
Open sourcing the library? There's actually nothing proprietary about what SAP are doing with Gateway - all the code is available in source format in the Gateway system. A good place to start would be at the OData handler at the /sap/opu/odata/ node of the ICF node hierarchy.
Perhaps I've misunderstood what library you're referring to, though?
cheers
dj
Warren Eiserman 08 May 2012
Great article.
Any indications on how SAP will licence this framework? Of course SAP charges you for throughput on the NetWeaver Gateway product - would they open source the library?