
In his recent blog post, SAP HANA SPS 11: New Developer Features; XS Advanced, thomas.jung introduced XS Advanced, the new application service that is included with SAP HANA, starting with SPS11.
This blog is the first part in a multi-part tutorial, in which we will learn how to develop business applications for SAP HANA and XS Advanced.
In the past you may have used the SAP HANA studio. In this tutorial, we will build our application using the brand new SAP Web IDE for SAP HANA.
SAP Web IDE for SAP HANA (herein: Web IDE) is available with HANA SPS11 and later, for use with XS Advanced. It is a new adaption of the existing SAP Web IDE (available on HCP), and is specially designed for developing entire business applications on SAP HANA.
Figure 1 - SAP Web IDE for SAP HANA
For more information on how to obtain and install the SAP Web IDE for HANA, and for full documentation, see http://scn.sap.com/docs/DOC-71432.
See SAP HANA SPS 11: New Developer Features; SAP Web IDE for SAP HANA for additional links, including a SAP Academy recording of this tutorial, for those of you who prefer watching videos.
Business applications usually consist of multiple tiered parts (modules) which together form a complete application.
The most common case is a multi-module application consisting of a database model, some business logic (written in a server-side programming language like Java or Node.js), and a user interface app that accesses the data model via the business logic or via OData interfaces.
Developers of multi-module applications must carefully agree on APIs. Testing, installing and deploying such applications (particularly in cloud environments) is very challenging due to the need to orchestrate all these different activities.
SAP HANA based multi-module applications usually follow a standard pattern: the database model consists of data aggregations, filters and selection logic on top of basic tables, designed using CDS specification language and rich Calculation Views. The data model can be accessed via SQL, or can be exposed via OData to allow UI apps to directly access the data. UI apps usually use the SAP UI5 design library.
To illustrate the use of the Web IDE and of programming in the SAP HANA XS Advanced environment, we are going to develop a small application called "TinyWorld".
TinyWorld is an example of such a three-tier multi-module application. Users use it to create and view a simplified model of the world, merely consisting of continents and their countries.
TinyWorld comprises the following modules:
As you may have inferred, it is intentionally a really small application, so that you will not be distracted by unnecessary details, and can focus on the development experience of working with SAP HANA and XS Advanced.
To gain a good understanding of the development process we recommend that you try to follow the steps of the tutorial in the order it is presented. However, if you do not have time, you can also access and study the source code, and then read this tutorial to understand how it was constructed (see the Appendix for instructions).
The entire TinyWorld tutorial is structured as follows:
Part 1: Introduction to the TinyWorld application (this blog)
The basic tutorial
Part 2: Get started with the SAP Web IDE for SAP HANA
Part 3: Create a SAP HANA based client-server application
Part 4: Add SAP HANA business logic
Part 5: Add business logic with Node.js
Advanced topics
Part 6: Create Node.js unit tests
Part 7: Under the hood
Part 8: Source control
Part 9: Application life cycle
Part 10: Add authentication
Part 11: Add authorization
Appendix: Getting the source code
create
user
Peter
password
"MySecret1"
set
parameter
'XS_RC_XS_CONTROLLER_USER'
=
'XS_CONTROLLER_USER'
xs set-space-role
Peter
initial SAP SpaceDeveloper
xs app webide -urls
xs app hrtt-core -urls
This blog is the first of a multi-part tutorial, teaching you how to develop HANA based applications with XS Advanced, using the new SAP Web IDE for SAP HANA development tools.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
16 | |
12 | |
11 | |
9 | |
8 | |
8 | |
8 | |
8 | |
7 | |
6 |