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: 
svenkohlhaas
Employee
Employee
Hi everyone,

with this blog post I want to briefly talk about a lecture I gave at SAP TechEd 2017 in Las Vegas, Bangalore and Barcelona. It is about the path from SAP HANA XS Classic to SAP HANA XS Advanced. Overall, we are talking here about the SAP HANA Native Development. The session is also available as a video recording on SAP TechEd Online here:



 

Introduction

The SAP HANA Platform is not only an in-memory database, it is an appliance, a full-blown application and database platform.

In 2012 we added the SAP HANA Extended Application Services (SAP HANA XS Classic) to the SAP HANA Platform. SAP HANA XS Classic is a lightweight web application server with a server-side JavaScript engine embedded in the database. With this SAP HANA became much more than just a database because an application server is already embedded with the database making it an appliance. The main element of XS Classic is the XS Engine which is based on the Mozilla SpiderMonkey JavaScript engine, which is the same JavaScript engine used in the Mozilla Firefox Web browser. Thus, we can run SAP HANA XS JavaScript (XSJS) code for server-side processing.

With the XS Engine, we enabled customers to expose APIs directly in SAP HANA without setting up an additional application server so that other tools could make use of the data that customers collected and brought together in SAP HANA. However, XS Classic has a couple of drawbacks. It has only one process so, if you run for example three applications there and if one of those application crashes, then the process would crash and all applications would crash or if you want to scale just one of those three applications, then you need to scale the XS Engine process which means you automatically scale all three applications. Those are just two reasons why SAP HANA Native Development needed to evolve. This happened on premise with the availability of the XS Advanced runtime in SAP HANA 1.0 SPS11 and in the cloud with Cloud Foundry and it's availability in May, 2017 where the XS Advanced programming Model is also available.

 

An Introduction to SAP HANA Native Development

In this part, we have a short look at the major concepts of SAP HANA Native Development, especially SAP HANA Native Development with XS Advanced. We also compare XS Classic and XS Advanced and see what some of the differences are. Please have a look at this blog post which corresponds to my SAP TechEd 2017 session CPL115 and covers this part in more details. It is more focused on the cloud deployment option but the principles are the same.

 

Migration Layers and Process

XS Classic was deprecated in July 2017 with the release of SAP HANA 2.0 SPS02. It is now in maintenance mode and will be in maintenance mode for another four or five years or so. This means that for new projects XS Advanced should be used and for existing productive projects in XS Classic, a migration plan should be developed, so that those projects are migrated to XS Advanced sometime over the next years.

If you decide to migrate your XS Classic application to XS Advanced, the recommended option is to first run the XS Advanced Migration Assistant. That is command line tool, available on the SAP HANA medium or for download from the SAP Service Market Place. It is available for Linux or Microsoft Windows.



The XS Advanced Migration Assistant downloads the Delivery Unit of an existing application from your XS Classic system, unpacks the Delivery Unit into the delivery elements and repacks those as a Multi-Target Application (MTA). The unpacking and repacking happen on your developer machine, where you run the XS Advanced Migration Assistant.

Then, you can import that MTA into your SAP Web IDE for SAP HANA, do additional manual code edits and deploy the MTA to your XS Advanced system. The XS Advanced Migration Assistant also gives you an HTML based report which provides information about all the migration steps that the tool performed and infos, warnings, and errors for everything a developer should manually take a look at and potentially improve.

In the video, there is also a demo. I am showing how you can migrate the SHINE application implemented in XS Classic to an implementation in XS Advanced application by using the XS Advanced Migration Assistant. SHINE (SAP HANA Interactive Education) is a sample application showcasing different capabilities and features of SAP HANA.

If you look at our GitHub repositories, we have published a SHINE implementation in XS Classic (here), as well as one in XS Advanced (here).

 

Conclusion

SAP HANA XS Advanced (and Cloud Foundry) is the platform for SAP HANA Native Web Applications on premise (and in the cloud). One of the major benefits is that we have the XS Advanced Programming Model on premise as well as in the cloud. With that it's much easier to move existing on-premise applications to the cloud or vice versa if needed or to provide different deployment options to your customers if you are a partner developing on top of the SAP HANA Platform and SAP Cloud Platform.

                   On Premise                                                                                In the Cloud



Beginning with SAP HANA 2.0, XS Advanced is the default installation and XS Classic is an optional installation. This means we clearly recommend to use XS Advanced for any new applications because our all innovations go into SAP HANA XS Advanced (and Cloud Foundry) and at some point in the future, there will be no SAP HANA XS Classic anymore. Therefore, we support the migration from SAP HANA XS Classic to SAP HANA XS Advanced (or Cloud Foundry) via the XS Advanced Migration Assistant.

For more details, please watch the video embedded above or directly on SAP TechEd Online. There, you can also download the slides. Thanks for reading.

All the best,
Sven