SAP HANA SPS 11: New Developer Features; SAP Web IDE for SAP HANA
This blog is part of the larger series on all new developer features in SAP HANA SPS 11: SAP HANA SPS 11: New Developer Features
We are happy to announce that the final piece of the new developer experience in SAP HANA SPS 11 has shipped: SAP Web IDE for SAP HANA is now available for download from the Service Marketplace and installation onto your HANA SPS 11 systems. SAP Web IDE for SAP HANA provides a comprehensive web-based end-to-end development experience for creating SAP HANA native applications:
- Development of SAP HANA content and models
- UI development with SAPUI5
- Node.js or XSJS business code
- Git integration
Therefore it provides a complete workflow for all of your new HANA Deployment Infrastructure (HDI) and XS advanced model (XSA) based development.
SAP Web IDE for SAP HANA comprises capabilities of SAP HANA Studio and SAP HANA Web-based Development Workbench. It represents the long term replacement tool for both of these previous offerings. It consolidates technologies, follows industry trends, and leverages industry standards where possible, while retaining a competitive innovation focus of SAP’s current offering.
For more information on how to obtain and install the SAP Web IDE for SAP HANA, and for full documentation, see https://scn.sap.com/docs/DOC-71432.
We also have the TinyWorld tutorial to help you learn this new development environment:
The entire TinyWorld tutorial is structured as follows:
Part 1: Introduction to the TinyWorld application
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
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
More sections will be added over time, so keep checking back.
We also have several eLearning Videos that showcase the SAP Web IDE for SAP HANA.
TinyWorld as a video tutorial:
- Web IDE for HANA: Introduction
- Web IDE for HANA: Create Project and HDB Module
- Web IDE for HANA: Create Node.js Module
- Web IDE for HANA: Create HTML5 Module
- Web IDE for HANA: Create Client-Server App – Part 1
- Web IDE for HANA: Create Client-Server App – Part 2
- Web IDE for HANA: Create Client-Server App – Part 3
- Web IDE for HANA: Create Client-Server App – Part 4
- Web IDE for HANA: Add HANA Business Logic
- Web IDE for HANA: Add Node.js Business Logic
Alternatively, here’s the main playlist on YouTube: SAP HANA Academy – XS Advanced
We also have taken the TechEd 2015 Hands-on workshop, DEV602, which was originally designed for using the HANA command line and external editors and updated it to instead use the SAP Web IDE for SAP HANA.
DEV602 WebIDE Ex1 – HTML5 Module Hello World
In this first exercise, we will connect to the remote system, run the new project wizard, and then create an HTML5 module to serve as the application endpoint and proxy all of our services and client-side content. At the end of this exercise you will be able to connect to your server via web browser and see a Hello World message.
DEV602 WebIDE Ex2 – Database Development
In this exercise, we will continue to develop our overall application. Applications in the HANA/XS Advanced world, are often made up of multiple modules at design time which deploy to separate micro-services or database container content. We created client side UI application content in the first exercise using the HTML5 module. In this exercise we will create database artifacts, such as database table and stored procedures, using the HDB (HANA Database) module. We will then see how we build these database artifacts using the new container-based, schema-less HDI (HANA Deployment Infrastructure) concepts.
DEV602 WebIDE Ex2.2 – Calculation View Editing
This video demonstrates the steps to create a Graphical Calculation view in the new SAP Web IDE for SAP HANA
DEV602 WebIDE Ex3 – Node.js Module; XSJS and XSODATA
For this exercise we will now build the XSJS and XSODATA services used to expose our data model to the user interface. Although XS Advanced runs on node.js, SAP has added modules to node.js to provide XSJS and XSODATA backward compatibility. Therefore you can use the same programming model and much of the same APIs from XS, classic even within this new environment.
DEV602 WebIDE Ex4 – HTML5 Module; SAPUI5 application
For this exercise we will build a proper SAPUI5 user interface that consumes both the XSJS and XSODATA services from our Node.js module.
DEV602 WebIDE Ex5.1 – Node.js; modules and express
In exercise 3 we created a Node.js module, but didn’t really do much Node.js specific programming. We only were using Node.js to run XSJS and XSODATA services. The support for XSJS and XSODATA is an important feature for XS Advanced. It not only allows backward compatible support for much of your existing development; but it provides a simplified programming model as an alternative to the non-block I/O event driven programming model normally used by Node.js.
But we certainly aren’t limited to only the functionality provided by XSJS and XSODATA. We have access to the full programming model of Node.js as well. In this exercise we will learn how to extend our existing Node.js module in the SAP Web IDE for SAP HANA.
You will learn about how to create and use reusable code in the form of node.js modules. You will use packages.json to define dependencies to these modules which make the installation of them quite easy. You will use one of the most popular modules – express; which helps with the setup the handling of the request and response object. You will use express to handle multiple HTTP handlers in the same service by using routes.
DEV602 WebIDE Ex5.2 – HANA database access from Node.js
In this video we will explore the modules and techniques for accessing the HANA database from Node.js
DEV602 WebIDE Ex5.3 – Asynchronous Non-Blocking I/O
DEV602 WebIDE Ex5.4 – Text Bundles
In this exercise we will also see how to create language translatable text strings and HANA database queries from Node.js.
DEV602 WebIDE Ex5.5 – Web Sockets
Our final exercise part in this section will demonstrate the ease at which you can tap into the powerful web sockets capabilities of node.js. We will use web sockets to build a simple chat application. Any message sent from the SAPUI5 client side application will be propagated by the server to all listening clients.
The source code for the above videos can be found here: https://github.com/I809764/DEV602