Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
thomas_jung
Developer Advocate
Developer Advocate

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 http://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


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

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:

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

In this exercise, you will learn about the fundaments of the asynchronous nature of Node.js. We will so see how this asynchronous capability allows for non-blocking input and output. This technique is one of the basic things that makes node.js development different from other JavaScript development and also creates one of the reasons for its growing popularity. We will see how these techniques are applied to common operations like HTTP web service calls or even SAP HANA database access.


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

27 Comments