My Learning from TechEd Bangalore – Day 2 – SAP River, Augmented Reality and HANA Developer Tools
Earlier I shared my learning from Teched Day 1:
Check my Learning from Day 3:
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.
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 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:
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:
River Definition Language – Motivation and Key Ideas:
Introducing RDL – The River Definition Language:
Introducing SAP River!!:
A first look at “River”:
SAP River Tutorials:
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:
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:
To learn about Hadoop, you can check blog:
To learn about HANA and Hadoop Integration, you can check blog:
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.
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:
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: