An Amazing 36 Hours at SAP Labs Israel
I’m sitting in TLV airport waiting for my flight back to MAN via FRA. I’ve just spent a whirlwind 36 hours, more or less, in an amazing developer engine also known as SAP Labs Israel. Before I start though, I want to extend my gratitude and thanks to all those who made me so welcome (which is basically *everyone*) and especially to The specified item was not found. Rafi Bryl Amir Blich Gabi Koifman and Keren Golan. Of course as you may know Aviad, who organised the whole event, was announced as one of the new SAP Mentors today. Congratulations! I did have the “insider knowledge” yesterday, hence the double meaning of my “flying the @SAPMentors flag” tweet yesterday evening on the roof terrace of the SAP Labs building 🙂
It was a mind stretchingly great time, in the form of a Customer Corner Event which saw attendees from Danone, Coca Cola and Bluefin (me). Aviad had prepared a full agenda for Day 1, which included HANA related customer stories, roundtable discussions on various deeper-dive topic such as UI Integration Services, Portal-esque features for a solid integrated UI/app strategy, HANA XS, River, OData and more. There was also a panel discussion that covered topics such as cloud, HANA adoption, performance tuning, and “Kindergarten code” (yes, that phrase will stick!).
The second (half-day) gave me a chance to get a deeper dive look at some of the things we’d covered in Day 1. Specifically I’m thinking of SAP HANA Integration Services and River. There’s too little time before my flight to cover these topics decently, so I’ll keep it short for now and encourage you to take a look yourself, either in the existing docs or look to TechEd and beyond for the amazing River features. Not long to wait!
SAP HANA UI Integration Services
You’ve built a few SAPUI5-based apps. You’re also looking at SAP Fiori. But have you thought about your overarching UI strategy? Moving from inside-out to outside-in based development isn’t just about building great apps for multiple runtimes. It’s about a consistent experience, role-based access to apps, common services (e.g. persistence), tools for non-developer/user roles such as designers and administrators, and the ability to give your users a unified entrypoint to all this.
So you should be looking at a “frontend server” that might consolidate Gateway foundation/core, customisation and the repository for SAPUI5 runtime artifacts. The SAP HANA UI Integration Services provides the API layer as the foundation for this “unified shell”, and is a very viable option (running on HANA) for such a “frontend server”. Plus you get the toe-in-the-water benefits of a HANA system ready for trialling and experimentation. Stick this in the cloud and you’re onto a winner.
Oh, and want portal-style ability to define multiple apps in the same ‘site’, communicating with each other via publish/subscribe, using an open standard? Add OpenSocial to the mix and you’ve got it. And they have. Define a simple SAPUI5 component with an OData model connection to a live backend service, have the data presented to you in that widget in familiar “Excel” format (rows and columns), and then pipe that data into another graph widget via pubsub. Excellent.
River Language (aka RDL)
River as a concept and in various concept/demo forms has been around for a while, dating back at least to 2010 when I got to see a demo at the Innovation Weekend before the SAP TechEd 2010 event in Berlin. Jacob Klein wrote more recently about River, and was at the deep dive today at SAP Labs.
- define your data (entities, properties, relationships, etc)
- write procedural code in the form of functions to provide custom logic (when a simple entity read/write, for example, is not enough)
- declare authorisations and roles
and then, seconds later, use a table/column style UI still within Eclipse to create random / test data for the entities you’ve just defined, navigate those entities and jump between them via the relationships you also defined, and oh by the way have all the runtime artifacts generated automatically for you in the HANA backend. Further, the whole thing is exposed as an OData service with the appropriate entities, entitysets, associations, enumerations and function imports (I think you can guess which of these related to your data definitions in River).
Within the procedural code you can access any HANA-based data, or via adapters, reach out remotely to your (say) ABAP stack-based systems too. And yes, (I asked, and they showed me live) you can debug and single-step through this too. Debugging directly in Eclipse or triggering it via setting a header in the HTTP request from outside.
Rather impressive stuff.
So unfortunately I have to go and catch my flight (and find somewhere to sleep!). It was a pretty awesome (and packed) time and I was totally privileged to have been able to take part. Thank you all for having me!
So, if I interpret your info on River, you would use River as a quick definition language to create REST/Odata services on HANA?
Add to that the -yet to come- SAPUI5 Appdesigner, and you have a toolset to create backend logic and front end in a short timeframe, running on HANA, Mobile enabled,...
Do you think this is what they're aiming at? A Web-App design studio on HANA.
(which would fit perfectly in the idea I already had: MEAP is dead, MDM + WebApp is future)
But River also gives you an abstraction layer above those things. It determines the most appropriate way to represent the XSJS runtime code and HANA DB artifacts leaving you to concentrate on building the apps. There's always the worry that one might find oneself debugging generated code rather than the code one wrote (I'm thinking perhaps of the early days of CoffeeScript as a not-quite-but-good-enough parallel) but this isn't the case - you debug the River code you wrote.
And yes this whole thing pushes the level of development up further towards the business user, and in a complementary way, something like the AppDesigner also pushes the level of UI development also up further towards the business user. It's as if River and AppDesigner are closing the gap between the outside and the inside, converging on what matters - the business and the user.
Fortunately, you and I both know that the business user will never develop the app in the end. What will happen, is that the business user may get a better understanding of how the app is implemented, and the SW engineer will get a better understanding of what the business user needs. (hopefully)
I think this would be a perfect toolset for prototyping early versions, and once you find something that works, have the time to professionalize it (which typically never happens). It fits in the idea of fast iterations (agile and design thinking)
I'm curious to see more of this on the coming TechEd. (and hopefully get more info on the appdesigner)
ps: did you have a look at the google WebDesigner app? There might be an SAP use-case in there as well...
Yes it definitely fits the fast iteration cycle paradigm. What I was alluding to with the business user, or what at least was in my mind, is a developer and a business user sitting side by side, perhaps in a new form of "pair programming". River lends itself very well to this as it's something that I can see that will flow easily from the developer's fingers but also relatively easily comprehended by the business user (expert user, whatever we call them) sitting next to him.
WebDesigner. Had a little look, not too much though.
You should have a chat with Rafi Bryl at sapteched_lasvegas to get more indights on this topic.
Rafi Bryl - what is your session ID?
I will presenting two sessions at Teched LV. The first is CD103, a 2-hour session about HANA native development, together with Thomas Jung The 2nd is CD163, a 2-hour deep dive into River development. By all means come to these sessions, or meet me at one of two expert networking sessions. BTW, my colleague Chaim Bendelac will be delivering the same sessions at Sapteched Amsterdam.
Enjoyed reading about your impressions of the Israeli Labs and of course the demos of River. Fellow mentor Yariv Zur showed me around the thinktank spaces he and colleagues inhabit. I've asked them to share a few pics as the concepts for open thinking, were beautifully designed. Perhaps you visited that as well.
Sorry to have missed you there. Catch up at TechEd?
Wow I had no idea you were there. At the same time? I was mostly on the 11th floor and the lower ground, I didn't get a chance to visit anywhere else, The specified item was not found. saw to it that I was completely consumed with things to do and take part in! 🙂
I did see Gali Kling Schneider and Yariv Zur and met many other great folks too.
Yes, definitely look forward to catching up at TechEd (AMS).
It has been 13 years since I lived in Tel Aviv but it does not surprise me they are still at the cutting edge of technology.
People in Israel tend to jump all over new technology, even the "users" and I tink that is why the SAP impementation I was on went so well there. So many times all parties concerned fight new technology rather than accepting it's going to happen whether you like it or not, and so go with the flow.
On a personal note, I am back in Australia now, so no more drinking with you at Inside Tracks in Europe, and say hello to my old work colleague Mark Chalfen!
In case you come back for a visit any time soon, you are invited to the lab to hear about the new stuff being developed here these dasy.