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 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
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
Did I get it right, that the routing will get provided by express and we do not need to write it in the manifest file?
Don't we need the manifest.json file anymore?
(Sorry if this question sounds stupid, but I'm new with node.js.)
can we use it with XS Classic machine?
No. This new tooling only works with XS Advanced and HDI based development.
If we use inside of node.js our old webservices (xsjs and xsodata) are them still Blocking I/O?
XSJS running within Node.js uses Node Fibers to force the synchronous programming model of XSJS. This keeps the XSJS programming model the same but of course gives up some of the benefits of Node.js (non-blocking). If you really want non-blocking processing write it in Node - you can also call Node.js modules from XSJS using the new $.require API.
As far as XSODATA, this was a complete rewrite in Node.js.
Thanks a lot!!! This answer is what I was looking for. 🙂
This is awesome! I just took some time and upgraded my sandbox HANA system to SPS11 and installed the web IDE.
Very excited to start working through these tutorials.
does this Web IDE work with HANA on premise or only the cloud variety?
Is the Git Hub included in the installation files you can download from SAP?
The SAP Web IDE for SAP HANA works with HANA SPS 11. Currently that release is only available for on premise systems.
Git Hub is not included with the installation or redistributed by SAP. You would have to acquire your own Git installation or use the public How people build software · GitHub
We do plan to ship an installation of Git+Gerrit with SPS 12. This will be an optional installation separate from hdblcm.
Thank you Thomas for the great blog and insight.. Any Idea how/when we can try WebIDE for HANA on CAL developer edition (I do not see SPS 11 yet) or in HCP?
Great blog post and good news!
Is there a plan to include also SAPUI5 layout designer for on premise SAP HANA WebIDE?
Yes more UI5 tooling is planned as part of the future roadmap of the SAP WebIDE for SAP HANA.
With the future release of WebIDE for HANA on HCP, will there be an option to develop XSA apps on the cloud and deploy it to an HANA instance onPrem like it is for UI5 Apps and an ABAP onPrem system?
I couldn't say as you are asking about future functionality which hasn't been created yet. I'm pretty sure the first scope will be to get the Web IDE for HANA on HCP working for the local HANA instance on the cloud only. We could perhaps consider beyond that what you are describing.
For HANA the trend is definitely away from the HANA Studio and towards the Web IDE. And I must say, I prefer the Web IDE.
But for BW on HANA the trend is away from the SAP GUI and towards HANA Studio using the BW Modeling Tools. There are no advantages in this. If anything, it reduces the valuable screen space.
Do you know of any plans to move the BW Modeling Tools to the Web IDE?
Sorry but I'm not involved in the planning around BW tooling and therefore couldn't offer any insights.
Dear Martin, yes, long term we consider to move the BW Modeling Tools into the Web. But our short-/mid-term plan is to: 1.Complete the Eclipse based BW Modeling Tools and provide further editors (e.g. transformation, source system). 2. Provide Web based BW monitoring and admin UIs 3. Provide a Web based modeling UI for BW Process Chains
Thanks for the info.
Dear Thomas, I am having "SAP HANA Cloud Platform Cockpit" account access. can please let me know how can I access and use this feature through this account.
The functionality described here is not available on HCP. Only other HANA installations based upon SPS 11 and higher, but not HCP.
Thank You Thomas
Good article, thanks a lot.
We are starting a big development project and we are evaluating to do a pure Hana application.
We got confused at the begining with all the tools the we found (Eclipse, Web IDE, Web Workbench, etc), then we realized that some of the tools were not used anymore.
To start a new application, wich tools / stack will you suggest to use, SPS 12 with Web IDE for Hana ?
We are trying to do a 'draft' application to check all the architecture before commiting with the development; we thought about Hana Cloud Platform to do that, but we found doesn't support it yet... Is there any trial that we can use to test SPS 12 and Web IDE for Hana? Sap Hana Express?
Thanks for your asnwers!
If you are starting new, then yes we would suggest the use of XSA/HDI and for tooling the SAP Web IDE for SAP HANA.
Yes I would recommend HANA Express.
Developer guide says to obtain from service marketplace – where as the search is returning an authorisation error with no item in the list.
They are available on the Software Download Center of the Service Marketplace. The error message you are receiving does say you aren't authorized to download any software. Please follow the instructions in the link of the error message to request the proper authorization.