Photo-K - Fotolia

Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Choose the right tools to develop SAP HANA applications

Developing SAP HANA applications can be challenging. This article describes tools that can ease HANA Web app development.

Developing SAP HANA applications, a task split evenly between Web, database and UI/UX developers, is challenging....

It’s helpful to have a solid understanding of SAP HANA development platforms and the tools available to smooth the process.

Upon release of HANA SPS05, SAP introduced a feature called HANA Extended Services (also known as the XS Engine). The concept was to embed a fully featured Web server within the SAP HANA appliance. Not only was it a Web server, but it also provided development tools and an application server. One core difference between traditional Web servers and the XS Engine is that it has the ability to execute SQL using the exposed core APIs and server-side Javascript (XSJS). This makes accessing and modifying your database artifacts simple and straightforward.

With the HANA SPS08 release, the XS Engine has come a long way, and with additional features, improved stability and increased core performance, gives us an encouraging sign of a mature product.

Although the XS Engine has seen positive changes over the past few years, development of native HANA applications is largely unchanged. The majority of the work is being done using Eclipse, with the SAP HANA Studio tools installed. Another option is to use the included Web-based IDE, which can accomplish many of the same development tasks as the Studio.

SAP HANA development platforms

After discussing the development topic with colleagues and friends, I found that database developers prefer to use the Studio for database artifact development; front-end developers prefer the Web-based development workbench.

One pixel Should developers care about the SAP River
development environment?

SAP HANA Studio. The HANA Studio is probably the most feature-rich environment for developing SAP HANA applications. Besides the fact that it provides so much more than just the development perspective, the monitoring and management of the platform itself makes it the de facto IDE and management tool. HANA Studio also provides wizards and useful templates for different file types, which make it easy to create new applications.

SAP HANA Web-based development workbench. In recent releases of HANA, the Web-based tools quickly caught up to the HANA Studio, mirroring many of its features. The browser-based workbench includes multiple tools that make application development on HANA convenient and straightforward: a catalog tool for managing database artifacts, a lifecycle management tool that allows package management and transports, security management of artifacts, and traces.

Keep in mind that you can use any of your favorite IDEs to develop native HANA applications and subsequently import the files into Studio or the Web-based IDE. This includes database artifacts and the server-side scripting files (XSJS). I believe this will appeal to seasoned developers familiar with certain processes and workflows, and who have favorite code editors.

Useful development tools

While developing multiple Web applications, portals, mobile apps, and subsequently, native HANA applications over the past few years, I found a few additional tools I thought others might find helpful when taking on a new project (the tools aren't specific to SAP HANA XS development, but to Web development in general).

Application Design. Design thinking is becoming increasingly popular and is useful for ensuring your application matches users' needs with a viable solution. One design stage is prototyping. I am a big supporter of sketch sheets and giving users a realistic frame to work with.

UI/UX design. With enterprise users becoming more and more demanding and with the consumerization of software, keeping an eye on sites like Dribbble  and Bēhance can provide great ideas that you might be able to incorporate in your design.

After going through the design process and getting a fundamental understanding of the requirements, I often take the designs, sketches and feedback from users and workshops and search online for inspiration, references and guidance. I will often take these screenshots, cropping and cutting various elements and patching them together, to give a very rough concept of what various elements could look like or how they should interact.

Color also is important to ensure that your app looks great and matches any corporate requirements you may have, while also being a core component and foundation for the app design. Adobe Kuhler, one of many free tools for building a complimentary color scheme, provides great templates for getting started.

Another Adobe product, Photoshop, is a must-have in a UI and Web developer's toolbox. Although free, or cheaper, alternatives are available, Photoshop lets users create pixel-perfect user experiences and transform mockups and sketches of buttons and borders into UI elements with ease.

Frameworks. Provide a great foundation to kickstart your development efforts and help to alleviate the overhead of building the myriad components and UI elements from scratch. SAP UI5 (and Open UI5) is an HTML5 toolkit from SAP that is included with your HANA instance. Many of the wizards use the SAP UI5 framework as a starting point for your applications and one of the big advantages of the framework is the OData (Open Data Protocol) integration. Many of the components, like the tables and dropdown controls, natively support the standard and it makes integrating your dataset a bit easier. The VizChart control, a nice feature of the UI5 library, provides a flexible way to display your data in a graphical manner. Twitter Bootstrap is also a solid front-end framework for developing Web applications easily and using it with SAP HANA and XS Engine is very straightforward. The huge library of templates and UI components make it one of the widest used, and quickest growing, frameworks in the Web development world.

Development tools. Debugging Web applications is a process every developer uses to ensure that the UI renders correctly and that any logic is being executed as expected. For client-side scripts and user elements, the developer tools built into Chrome or Firefox are excellent tools. They provide an overview of HTML elements, network resources (perfect for troubleshooting AJAX calls) and scripts being executed, making troubleshooting problems very efficient. For debugging your server-side code, the built-in debugger provides the ability to ensure business logic and SQL statements are being executed correctly.

RestClient (Firefox) or Postman (Chrome) are great tools for testing XSOdata/XSJS files. They provide the ability to conveniently save authentication credentials and headers, making the work with your service/AJAX calls a breeze.

Testing. Unit testing is an important, expected task in any enterprise software development project and your SAP HANA applications should be no different. QUnit is a free, powerful, easy-to-use JavaScript unit testing framework that is well suited to the task. It is also used to test the SAP UI5 framework.

Ensuring your new app looks as expected can be a challenging task, but a gamut of free and premium services online can help to simplify the task of browser testing.

While not a comprehensive list of all the tools in the Web and HANA development worlds, the ones listed will provide HANA developers with help in quickly and efficiently building native HANA applications.

Next Steps

What developers need to know about the SAP River development environment

Exploring how SAP has refashioned its ERP software in the HANA model

How one company used HANA Cloud to reach new customers

Dig Deeper on SAP HANA