If my memory serves me correctly, SAP River was first mentioned after the acquisition of Frictionless E-Sourcing - the acquisition came with a rapid application development platform, which was subsequently jettisoned. We briefly saw the SAP River product back in 2010, where it was briefly showcased as a development concept.
Fast-forward 3 years and we now have the first - Early Adopter - release of the SAP River software. I've been looking at it over the weekend - and thought I'd give some first impressions, and start up the FAQ.
What is SAP River?
SAP River is a development platform based on the SAP HANA Platform, that allows expression of intent, to build entire business applications.
In short, you to express what you want to build, and how you intend for it to be built - using the River Development Language, and River builds everything for you. You describe entities, relationships, views and actions and SAP River will build things like database tables, entity relationships, stored procedures, views and OData services. All you have to build on top of this is a UI layer which can consume OData. For example, using SAP's SAPUI5 development platform, which is also included in SAP HANA.
What is SAP River not?
SAP River is not a platform in itself (rather, it relies upon SAP HANA for this) and it is not a UI. You can build the UI in anything that can consume OData, though SAPUI5/OpenUI5 and the SAP HANA UI Integration Services is a logical choice of UI.
What are the use cases for SAP River?
In my opinion, it is well suited to a few things:
- Standalone apps built by app vendors and resold as apps or templates
- Extendible HANA apps built by SAP
- Extending existing apps like SAP HANA Live
- Small-Medium sized ERP apps
- Big data apps
What is the River Development Language?
River Development Language, or RDL, is the language for expression entities, views, associations and actions using SAP River. I found a document here that describes this in more detail, if you're interested.
Will RDL or SQLScript become the go-to language for SAP HANA Development?
RDL and SQLScript are complementary and serve different purposes.
SQLScript is HANA's stored procedure language - fantastic for manipulating large volumes of data under the cover and returning a result set. It can be used in RDL, in SQL, via ODBC, JDBC, OData or MDX and native HANA development. Most HANA projects will use SQLScript somewhere.
RDL is a development language for expressing whole business scenarios, and it is one option for HANA Development. Certainly, not all HANA projects will use RDL, but only those that decide to use it as the main language for their scenario. RDL will not replace SQLScript, though it is possible to write SQLScript in-line with RDL.
So SAP River is In-Memory?
Yes, SAP River is based on SAP HANA so everything you build will be in-Memory. It is blazingly fast even with large data volumes and can of course use data replicated out of another system like SAP ERP, or any other database for that matter.
What can SAP River do that HANA can't do?
SAP River is built on the HANA Platform, so the short answer is: from a capability perspective, nothing.
However what River allows is very concise expression of development artifacts and a data-driven developer experience. Automatic documentation, for example. River isn't intended to be the solution to every problem, but rather a solution to the problem of wanting to build apps easily and quickly.
What is the downside to SAP River?
In my opinion, SAP River is another weapon in the SAP HANA platform which you can use as you see fit. Ian Bradshaw told me he felt that River was just another development platform to learn, but I think it will appeal to a certain type of developer and use case, so I'm not sure I agree this is a problem.
Certainly, I think there are apps which will be better suited to custom SAP HANA Development, or using SAP Business Suite or BW on HANA. River doesn't preclude you from using those - even on the same data models - but it provides you a neat option.
Is SAP River available now?
Sort of. It's available with SAP HANA SP07 via an Early Adopters Program - email earlyAdoption@sap-river.com for more details. This is designed for people who would like to take an application live.
You need to do some installation with SAP HANA SP07 to get it to work, and the SAP HANA Academy videos below are very helpful. With SAP HANA SP08 it will likely be included in the main installation.
What does SAP River run on?
SAP River will run on any SAP HANA SP07 appliance - on premise, or in the cloud. It requires > Rev.70 of SAP HANA so right now it's only available on premise, or with the developer edition on sap-river.com. It requires a delivery unit to be added to your SAP HANA appliance, some SAP HANA Studio plug-ins (which work on the Mac!) and a little configuration. Then, you're all good to go.
How is SAP River licensed?
SAP River is included in the HANA Enterprise license. This presumably includes HANA One on AWS, but as usual contact your account rep for more details.
Where do I go to find more information about SAP River?
SAP has done an excellent job of making River relatively available on day 1. I'm very impressed. Here are my favorite resources:
I've yet to build much in SAP River, but I found it exceptionally easy to get started. I'm thinking of building a small app over the holiday period, and I'll share the experience. Does anyone have any suggestions for what to build?
Any questions you'd like to know that I missed?
*This post was first published on the SAP Community Network on 24/12/13*