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
12,395

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
former_member194460
Participant
0 Kudos

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.)

Former Member
0 Kudos

Hello Thomas,

can we use it with XS Classic machine?

Kairat

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

No. This new tooling only works with XS Advanced and HDI based development.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

It depends which routing part you are referring to.  You have routing within the Application Router (web module) and that is still configured via the xs-app.json and mta.yaml files. This is the routing between the different services from the single web entry point. However within a single Node.js module you can have different route handlers.  This is just more granular routing to different sections of JavaScript code for different specific paths.

former_member194460
Participant
0 Kudos

If we use inside of node.js our old webservices (xsjs and xsodata) are them still Blocking I/O?

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

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.

former_member194460
Participant
0 Kudos

Thanks a lot!!! This answer is what I was looking for. :smile:

Former Member
0 Kudos

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.

martin_chambers
Participant
0 Kudos

Hi Thomas,

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?

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

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. 

laeeqsiddique
Participant
0 Kudos

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?

Regards,

Laeeq Siddique

former_member194592
Discoverer
0 Kudos

Great blog post and good news!

Is there a plan to include also SAPUI5 layout designer for on premise SAP HANA WebIDE?

Thanks.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

Yes more UI5 tooling is planned as part of the future roadmap of the SAP WebIDE for SAP HANA.

former_member194549
Contributor
0 Kudos

Hi Thomas,

great blog!

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?

Regards

Simon

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

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.

martin_chambers
Participant
0 Kudos

Hi Thomas,


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?

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

Sorry but I'm not involved in the planning around BW tooling and therefore couldn't offer any insights.

Former Member
0 Kudos

Great Blog.

hari_babu15
Explorer
0 Kudos

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.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

The functionality described here is not available on HCP. Only other HANA installations based upon SPS 11 and higher, but not HCP.

hari_babu15
Explorer
0 Kudos

Thank You Thomas

Former Member
0 Kudos

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

martin_chambers
Participant
0 Kudos

Dear Rainer

Thanks for the info.

Cheers,

Martin

Former Member
0 Kudos
 

Hi 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!

Best Regards

Carlos
thomas_jung
Developer Advocate
Developer Advocate
0 Kudos
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.

 
>Is there any trial that we can use to test SPS 12 and Web IDE for Hana? Sap Hana Express?

Yes I would recommend HANA Express.
Former Member
0 Kudos

Hi Thomas,

Where could i get the SAP Package like XS_JAVASCRIPT?

Developer guide says to obtain from service marketplace – where as the search is returning an authorisation error with no item in the list.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos
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.