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