Introduction to Software Development on SAP HANA – Part II
4. Exposing and Consuming Data with OData
4.1 Exposing and Consuming Data – Architecture
In the traditional architecture you have the database layer, the application server layer, and a client layer.
In HANA Extended Application Services architecture the application server is shrunk down, meaning the XS really stands for “extra small” and it runs inside the database itself.
We use more code pushdown so we are able to put more data-intensive logic deeply down inside the database itself. We put most of our business logic down in the database layer. UI rendering has been moved out to the client. As client devices have gotten more powerful, even phones and tablets we can do the complete UI rendering even on the client side. XS application server layer does the service enablement.
The client device makes an HTTP connection to the HANA server.
Inside the HANA server we have three processes involved at the operating system level. The first process is called the ICM, which stands for Internet Communication Manager. And this is the Web server itself. Then the Web server communicates to the XS Engine process. At the lowest level inside of HANA, we have the index server process. The index server is if you would think of HANA the database itself and you had to classify it down to one operating system process, the index server would be the most important of those operating system processes. It’s the main core of HANA, of the database itself.
SAPUI5 is SAP’s UI development kit for building HTML5–based applications.
SAPUI5 is a combination of open standards, some third-party open source libraries, and some SAP self-created technology. Some of the technologies we use inside of SAPUI5:
- CSS3 is for the style and layout
- OData is like ODBC for the Web. It is an open and easily consumable way of accessing data and business logic over HTTP using standard HTTP concepts.
- LESS is used for themes
- D3.js is used for data-driven documents (charts and graphs)
- ARIA is for accessibility
- SAPUI5 Development Toolkit for HTML5 (SAPUI5 SDK). See SAP Note 1747308 Installation Guide UI development toolkit for HTML5 (SAPUI5).
SAPUI5 is used heavily in the analytics when we need to display charts and graphs, collaborations and feeds.
SAPUI5 is a new addition to SAP’s UI strategy and the traditional Web Dynpro technology is still used in the business suite, particularly for the expert users. SAPUI5 is the only technology that SAP delivers for HANA native applications.
4.3 Creating a User Interface with SAPUI5
A simple little “Hello World” application is built using SAPUI5 development tools.
4.4 OData Services
OData defines an open but very easy-to-consume standard for interopting with data over the Web. Whereas Web services use SOAP as the body format, OData on the other hand embraces REST-based architecture. This is lighter weight, HTTP-based, and uses the HTTP verbs as the actions in an OData service. OData Data Model describes data with Entity Data Model (EDM).
OData Data Model defines which entities are used in a a service and what are the relationships between those entities. OData protocol is the communication protocol and it supports CREATE, READ, UPDATE, and DELETE operations by using the HTTP verbs. OData client libraries are prebuilt libraries that help with the consumption of OData services. OData Services exposes an end point that allows access to data in the SAP HANA database. It allows an external system or any external client or system that can speak HTTP to call the service or consume the data that is part of the OData service model.
4.5 Creating a Simple OData Service
An OData service definition is built.
4.6 Creating a Complex OData Service
Associations between entities are built.
4.7 Calling an OData Service from the User Interface
A user interface is created that consumes and presents OData service.
5.2 Creating an XSJS Service
5.3 Extending the XSJS Service
5.4 Calling XSJS from the UI
A user interface is built using SAPUI5 that consumes custom XSJS services.
The debug perspective has Debug view, Breakpoints view, Variables view, Source-code view, and Outline view.
6. SAP HANA Advanced Development Options
6.1 Lifecycle Management
Lifecycle Management manages software releases, enforces version control, manage product development, monitors software packages, and manages application packages.
SUM for SAP HANA is your software update manager. This is the tool that helps you import whole new support packages and revisions into your HANA system, but also to take additional software packages and install them into SAP HANA.
6.2 SAP HANA UI Integration Services
SAP HANA UI Integration Services is an additional UI development tool.
It is a higher-level user interface design tool. It’s even something that maybe you don’t have to do yourself as a designer, but could give it to functional person or a business process expert. They only have to drag and drop widgets and arrange them in a screen as they want them. This tool does not replace SAPUI5.
openSAP. (2013, December 12). Introduction to Software Development on SAP HANA. Retrieved from https://open.sap.com/course/hana1-1.