Photo-K - Fotolia


Get started on SAP Fiori development

Fiori brought big changes in how SAP applications are developed. An expert outlines the new tools and techniques -- plus some old standbys that work well with Fiori.

Fiori is SAP's current and future offering for user experience concepts, design and implementation. As Fiori rolls...

out to more of SAP's apps and users, the question of how to best approach SAP Fiori development becomes central to the business strategies of SAP users and partners. Let's review where we are and what is coming up.

The current state of SAP Fiori development

The Fiori user experience is centered on the Fiori Launchpad (see the screenshot). It is the entry point to Fiori apps in most implementations and provides a browser-based, "personalizable," dashboard-style view of the apps that a user has access to and workflows they're involved in.

Most SAP Fiori development work is focused on exposing apps and business processes in the Launchpad, extending apps to support more complex business processes, and developing key performance indicators to be exposed in the Launchpad via Smart Business or Analysis Process Framework apps.

SAP Fiori Launchpad
The SAP demo of the Fiori Launchpad.

Grasp the essentials of design thinking

The biggest change to come with Fiori is the approach to requirements gathering and gap analysis that is possible in SAP Fiori development. It was, and unfortunately still is, common for developers to approach requirements gathering too narrowly, focusing on the immediate pain points that are easiest to define. Gap analysis often states, for example, that no ABAP transaction code (t-code) or delivered report exists to cover a particular need. The applications developed in response will be similarly narrow, perhaps just creating a custom report or t-code that minimally covers the requirement. All of this is a recipe for building a collection of locally optimized point solutions rather than a cohesive, valuable business platform.

Good developers and consultants, in contrast, have always pushed back and widened the discussion at every stage of the process, because they realize that such a narrow process will result in narrow optimizations.

Design thinking in SAP Fiori development takes a different approach, asking practitioners to deeply investigate business needs and search far and wide for optimal solutions. It's not perfect, and it's not always possible to fit a full design thinking approach into current project and management structures, but you should learn it and embrace it as a tool for improving project outcomes. You can start with the Stanford D-School virtual crash course.

Configuration before extension before customization

Once you do get to the phase of the design thinking process where you are building your application, avoid the next most common pitfall of SAP development: unnecessary customization. There are a large number of Fiori apps that cover a wide array of processes and reporting needs. Search for them in the Fiori apps library and keep in mind that most apps support more filters and dimensions than shown. An app that does what you want already exists? Problem solved.

Most Fiori apps work off standard configuration settings and can support a wide variety of process configurations in the underlying SAP system. So if an app doesn't work quite the way you want, look into configuration options. If configuration isn't enough, or you have custom fields or process customizations that you need to expose in the app, look into the extensibility guidelines linked from the Fiori apps library. Some apps also have extensive extension information in the SAP notes system, so look there as well.

If you do need to build a completely custom app, do it the right way. If you can, take a course or extensively review the Fiori Design Guidelines. Use tools like Splash and Build for prototyping and SAP WebIDE to develop the app. Use existing OData services or do some work learning how to properly build your own.

Get up to speed on SAP Fiori development technologies

If you're going to be setting up Fiori or developing custom applications, know the tools of the trade. In addition to understanding and being able to debug SAP GUI, Web Dynpro, and NetWeaver Business Client apps, it's important to realize that almost all of the Fiori UI in native Fiori apps happens in the Web browser, talking with OData services running on HANA or SAP Gateway. This means using JavaScript -- and, more specifically, SAPUI5 -- for the front end, and both ABAP and HANA on the back end.

So, for SAP Fiori development, it's important to become proficient in browser-based development and JavaScript debugging as well as the Gateway and HANA debugging features, to be able to track down problems quickly. When developing custom applications or even extending Fiori apps, it's important to be familiar with development best practices on all three platforms -- browser, ABAP, and HANA -- and other platforms as needed. The SAP developer guides are a good place to start, but additional training may be in order for existing teams as well.

Understand implications of system landscape decisions

Because the Fiori Launchpad exposes services and apps from multiple systems and exposes them all in a single browser-based UI, it can be very sensitive to system landscape decisions. SAP makes system landscape recommendations that you should follow wherever possible (see the figure), paying special attention to the Web Dispatcher design and the versioning of the apps and SAPUI5 libraries on each system. If you do plan to depart from the SAP recommendation, make sure you understand the implications both for the current implementation and future upgrades and maintenance.

SAP system landscape recommendation for SAP Fiori
A simplified Fiori system landscape, as recommended by SAP.

Fiori 2.0 and the future of SAP Fiori development

Fiori is under active development, so current work should take into account upcoming Fiori 2.0 features, such as overview pages, object pages and enhancements to the Launchpad. It's possible that extensions or custom app development can be avoided by waiting for an upcoming release, so keep an eye on SAP's Fiori roadmap.

Fiori is a new and important change to the way the SAP user experience is handled. Yes, the visual change is impressive, but the more important change is to the way we, as SAP users and partners, are being asked to approach the UX designs of our systems. We should do all we can to take advantage of the opportunity to improve the value of those systems.

Next Steps

Read how CA Technologies implemented Fiori

Get other SAP development tips

Learn more about SAP Fiori

SAP Build aimes to ease UX/UI prototyping

Dig Deeper on SAP UX