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: 
Former Member

You may have heard of SAP HANA being called a "platform", or described as a key part of the "Real-Time Data Platform" from SAP. However, for many, SAP HANA equates to a next generation database. Well, SAP HANA is actually all of those things and more. SAP HANA Extended Application Services (or, just XS for short) is a key aspect of SAP HANA as a platform.

XS is a small-footprint application server, web server, and basis for an application development platform - that lives inside SAP HANA. To be clear, XS is not a completely separate technology that happens to be installed on the same hardware server as SAP HANA; XS is actually an extension of, and tightly integrated into, the SAP HANA database. SAP began developing XS nearly three years ago, and there are several applications developed by SAP that are built on XS (one example, SAP Operational Process Intelligence). With the release of SAP HANA SP5, XS is available for customers and partners who wish to develop their own SAP HANA-based applications. In fact, SAP HANA Product Management and development are interested in feedback from your development experiences, which that can be used to inform our requirements management process.

The rationale for XS is mainly twofold: enable SAP HANA-based application development and deployment while minimizing architectural layers; and performance - tight integration with the SAP HANA DB ensures optimal performance. With XS, you have the ability to create applications that have an http-based end-user UI (e.g., browser, mobile apps), which run directly on SAP HANA, without additional external servers or system landscape components. This simplified system architecture means low TCO, as complexity of administering or dealing with other heterogeneous components is eliminated. Furthermore, advantages such as efficient inter-process communication inside one overall system, same data types, etc. provide performance advantages that no other application server can match when SAP HANA is the DB.

SAP HANA even includes its own repository for content life-cycle management for all kinds of development artifacts and objects. The scope of applications that can be built using XS is pretty open: it is available for a wide range of application types, from lightweight small web-based applications to more complex enterprise applications. The following diagram describes the basic approach:

The programming model when working directly with XS dictates that applications are designed in the following manner: front-end processing should generally be delegated to the browser (or mobile device) using HTML5 and client-side JavaScript. By far the vast majority of application logic, business logic, calculations, or any data-intensive operations should be implemented using SQL, SqlScript, or Calculation Engine (CE) functions. This way, the "heavy lifting" of application processing is performed in the DB, close to the data, and where SAP HANA is optimized for performance.

This leaves a relatively modest role for the application server / web server part of the architecture (XS): mainly handling control flow logic, the "glue" that is necessary to tie together the user interface with back-end DB processing. The technologies available for this purpose are server-side JavaScript, OData (Open Data Protocol), or XMLA (eXtensible Markup Language for Analysis). Using the Developer Perspective of the SAP HANA Studio, all of the aforementioned technologies can be utilized to build custom SAP HANA-based applications of all kinds.

Anyone interested in knowing more, or digging deeper, will find Tom Jung's blog on this topic quite helpful. Additionally, the development guide for SAP HANA provides covers XS: Help.sap.com/HANA_Appliance > Development Information > SAP HANA Developer Guide.

1 Comment