Hi Everyone,
Earlier I shared my learning from Teched Day 1:
My Learning from TechEd Bangalore – Day 1
Check my Learning from Day 3:
My Learning from TechEd Bangalore – Day 3 Geolocation Data, RDS, HANA Live, HANA Cloud Platform
In this blog, i would like to share my learning from Day 2.
I attended the first session at 08:30 AM on “River Based Development”.
For all the figures shown below, the credit goes to SAP.
First we were explained Why River was introduced?
Generally we use 3 tier architecture in which we build data models from tables, views and use triggers.
Then we think of Business Logic – how to manipulate data. After this we need security so that right people can access right data.
After that we build UI or mobile apps so that user can see the data.
This is a very complicated process as it involves use of many technologies like SQL, Java, ABAP, Odata, HTML5 etc.
To simplify this process, SAP River was introduced – it allows to build everything in one environment as shown through below pic.
The SAP River compiler compiles the River program and splits it into different objects present in HANA like OData, Stored Procedure, Tables, JavaScript etc.
As the data model resides entirely in database so there is no need of copying data.
So SAP River is a language to create:
- data model
- business logic
- access control
Using River, Developers can focus on what the application does and no need for him to worry about optimization and configuration of tools.
RDL(River Definition Language) has rich data types and uses “E/R Modeling” to define data model
Entities that correspond to database tables.
Associations that describe relations between tables.
After that we were shown demo of “River Airlines Reservation System”.
If we create a table without defining any Key then the River compiler generates a hidden field as key.
Once a River program is activated, OData Service is also created for River entities and actions and can bee seen as shown below:
When we click on Data Preview an editor with support for CRUD(Create, Read, Update, Delete) operations is opened through which we can change records as shown below”
We also have a Random Test Generator that can be used to generate random data based on Data Types and Associations (we can also specify our specific needs ) as shown below:
As River doesn’t support regular expressions so we can also use JavScript, SQLScript etc for functions that are not supported by River.
We can create business logic inside River using actions like Get Free Seats and use it as shown in the below figure:
We can see the result of action in the River Airlines Reservation System as shown below:
SAP River is Database Independent language but at present it supports only SAP HANA.
If we try to delete any column from a table in River then the compiler checks if the table has data or not.
If the table doesn’t have any data then the column is deleted and necessary changes are made in the other entitiess.
But If the table has data then compiler won’t allow to delete that field in the table.
Will surely try out SAP River and see how it works.
You can learn more about River and watch the River Flight Demo from the River YouTube Channel:
http://www.youtube.com/channel/UCObfivfVKb9vNWuO1sBoiPQ
You can sign up at site SAP River for one week to try SAP River.
Also read the following documents:
Get the SAP River Guides form below link:
SAP River – SAP Help Portal Page
River Definition Language – Motivation and Key Ideas:
Introducing RDL – The River Definition Language:
http://www.saphana.com/community/blogs/blog/2012/11/15/introducing-rdl-the-river-definition-language
Introducing SAP River!!:
http://scn.sap.com/docs/DOC-47587
A first look at “River”:
http://scn.sap.com/community/developer-center/hana/blog/2013/11/22/a-first-look-at-river
SAP River Tutorials:
http://scn.sap.com/docs/DOC-49281
After that I attended Technology showcase on “Augmented Reality with SAP HANA“
They had a demo showing how wearable technology such as Google Glass, can combine with SAP HANA, to improve the productivity of field & warehouse workers.
The below video was being shown there:
They were letting people use Google Glass, scan bar code and get the details of the product as seen in the below pic:
I really loved seeing HANA being used with latest tech like Google Glass.
The only downside I see is Google Glass is very expensive – around 1500 USD
Learn more about Google Glass:
https://youtube.com/watch?v=v1uyQZNg2vE
A video on Google Glass explanation by MKBHD:
After that I attended lecture on “Big Data, SAP HANA and Apache Hadoop“
They explained about What Big Data is, What Hadoop is and how SAP HANA can be used with Hadoop to solve Big Data Problems.
They also gave a brief introduction about Smart Data Access and how it can be used with Hadoop.
I knew most of the things covered in this lecture.
To learn about Big Data, you can check my blog:
http://scn.sap.com/community/hana-in-memory/blog/2013/10/13/big-data-facts-and-its-importance
To learn about Hadoop, you can check blog:
http://scn.sap.com/community/hana-in-memory/blog/2013/10/14/hadoop
To learn about HANA and Hadoop Integration, you can check blog:
http://scn.sap.com/community/hana-in-memory/blog/2013/10/15/b
Finally in the evening, I attended a Mini Code Jam session on “SAP HANA Developer Tools” by great Thomas Jung
He told us about new features in HANA Studio and HANA Web IDE.
The most important thing was the “removal of REGI“.
So now HANA Studio is free from dependency on HANA Client and REGI 🙂
Earlier when we wanted to update HANA Studio, we had to update both HANA Studio and HANA Client so that we don’t face any errors or issues but now there is a Install Update Studio option in HANA Studio and can update it without any issues.
Earlier operations like checkout were performed sequentially – one file at a time but now we can perform these operations in batches and it improves performance.
Earlier when we used to perform activation of multiple files at once, sometimes we used to get error even though the syntax of our files was correct – it was because dependencies were not analysed properly as the objects were being processed on at a time. But now as activation can be performed in batches, and objects can be processed in batches, the dependencies can be analysed properly.
Now we can also perform Inactive Testing – we can test some of our objects without activating them.
Associations have been introduced in CDS to define the relationship between entities.
Now we also have a Job Scheduler in SAP HANA to schedule jobs of SQLScript Procedures and Server Side JavaScript.
We have a new object called .xsjob now.
The syntax used is very similar to CRON.
Now HANA Web IDE has four different roles that support four different tools as defined below:
sap.hana.xs.ide.roles::CatalogDeveloper
sap.hana.xs.ide.roles::EditorDeveloper
sap.hana.xs.ide.roles::SecurityAdmin
sap.hana.xs.ide.roles::TraceViewer
HANA Web IDE and HANA Studio have been brought close together and have almost same functionalities.
But one thing in which IDE triumphs over HANA Studio is support for Version Management.
To learn more about new features in HANA Studio and HANA Web IDE, check the below blogs by Thomas:
SAP HANA SPS07 – Various New Developer Features:
What´s New? SAP HANA SPS 07 Web-based Development Workbench:
Regards,
Vivek
Very nice post Vivek... excited about the new augmented reality ...
I am also excited about the prospects of Augmented Reality 🙂
Regards,
Vivek
Exceptional coverage of TechEd 🙂
Thanks for bringing this to us.
Benedict
Thanks for the appreciation 🙂
Regards,
Vivek
well explained blog vivek 🙂 ..
Thanks Chandra 🙂
Hi
Nice to know about the Sap River .Really want to learn it
Keep your work up.
Thanks & Regards
Thanks Praveen
Regards,
Vivek
Wow, lots of effort - similar to my other comment, for the future, I would split this into two blogs - one for River and the other for HANA (but up to you)
Thank you for taking us to "the River" 🙂
Thanks for the tip Tammy 🙂
Next time onward will surely cover different topics in different blogs
Regards,
Vivek
Thanks for River.
Regards,
Sushant
Thanks for your continuous appreciation Sushant 🙂
Regards,
Vivek
Thanks for putting it all together Vivek.
Regards
Kumar. 🙂
Thanks Mayuresh 🙂
Regards,
Vivek
Great stuff from vivek. Thanks for your efforts and time to share wit us. Good presentation
Thanks a ton.
Thanks a lot Raman 🙂
Regards,
Vivek
Very well written blog Vivek Singh Bhoj.
Thanks for sharing. 🙂
Thanks a lot Rahul 🙂
Regards,
Vivek
Hi Vivek,
Thank you for shared river video, links; hana links. Appreciating your patience.
- Kumar
Good stuff Vivek. Thanks for taking us through latest concepts like River and Google Glass.
Is AG only limited to google glass ? I believe AG is supported with SMP 3.0 for SAP. Did you find extending AG with camera of smart phones something like here Wikitude AR Travel Guide (Part 1) - YouTube ?
Another downside i found previously with glass is it takes the picture for any voice command . ( It cannot inspect whether the voice command is said by the person wearing the glass,or any random person. This could become an issue if you are in public wearing the glass.
I am not sure if this got resolved by now.
I don't think AG will be limited to only Google Glass as there are many other companies who are bringing out their own products to compete with Google Glass
I don't know about Mobile support and I don't think that at present AG with camera is supported
As Google glass is still in beta stage and not yet ready for consumers, so I can't comment on the voice command issues at present
Regards,
Vivek
HI Vivek,
Nice blog:)Nice intro to RDL)
Thanks Keerthan
Regards,
Vivek
very nice Vivek
Super
Thank you very much
Br erwin