Ihr Standort: movisco // Blog »
kontakt mail icon
kontakt phone icon

SAP Fiori Elements in der Praxis: Chancen, Grenzen und Best Practices

Mit SAP Fiori hat SAP den Schritt gewagt, der klassischen SAP GUI den Rücken zu kehren und die Benutzeroberflächen der SAP-Lösungen zu revolutionieren. Wie SAP Fiori mittels moderner Apps dabei hilft, Komplexität zu eliminieren und Effizienz im Arbeitsalltag zu erhöhen, haben wir bereits in SAP Fiori und SAP S/4HANA: Moderne Benutzeroberfläche für effiziente SAP-Prozesse aufgezeigt.

Wer an der Einführung von Fiori-Apps im eigenen Unternehmen interessiert ist, stößt allerdings schnell auf die Herausforderung, diese Apps mithilfe des SAPUI5 Javascript-Frameworks zu entwickeln, obwohl das dafür notwendige Knowhow in der Webentwicklung im eigenen Unternehmen möglicherweise nicht ausreichend vorhanden ist. Und selbst wenn entsprechende Kenntnisse vorliegen, werden interessierte Entwickler rasch von der Realität der Komplexität der klassischen „Freestyle“-Entwicklung mittels SAPUI5 eingeholt. Glücklicherweise gibt es neben der Freestyle-Entwicklung auch die Möglichkeit, Fiori-Apps mithilfe des Fiori Elements-Frameworks zu erstellen, ohne dabei zwangsweise komplexen Code schreiben zu müssen. 

Der folgende Beitrag zeigt auf, welche Bestandteile bei der Erstellung einer App mittels Fiori Elements zusammenspielen, wo die Stärken dieses Entwicklungsansatzes liegen und an welchem Punkt Fiori Elements an seine Grenzen stößt und der Freestyle-Entwicklung unterlegen ist.

Welche Bausteine bei der Entwicklung mit SAP Fiori Elements zusammenspielen

Die Entwicklung von Fiori-Apps in Fiori Elements basiert im Wesentlichen auf den folgenden 5 Bausteinen:

  1. OData-Services
  2. CDS-Annotationen
  3. Floorplans
  4. Guided Development
  5. Flexible Programming Model

OData-Services als Datenfundament von Fiori Elements Apps

OData-Services (V2 oder V4) stellen das Datenfundament aller Fiori Elements Apps dar. Mittels OData-Services wird die Kommunikation zwischen dem Backend (in der Regel CDS-Views im SAP S/4HANA-System) und dem Frontend - der App - sichergestellt. Eine Kommunikation über andere Schnittstellenformate ist nicht möglich. Zudem kann einer App grundsätzlich nur ein OData-Service als Datenquelle zugeordnet werden.

CDS-Annotationen als Basis für Logik und Darstellung

Annotationen auf Ebene der CDS-Views werden über den OData-Service an das Frontend übermittelt und beeinflussen die Darstellung der App. Semantische Annotationen, wie beispielsweise die Ausweisung von Währungen oder Adressen sowie Annotationen zur Filterung und Bereitstellung einer Wertehilfe können in der CDS-View bereitgestellt werden, um so die konsumierende App um weitere semantische Informationen anzureichern.

Floorplans als Schablonen für Standard-Apps

Floorplans, also Baupläne oder Grundrisse sind ein zentrales Entwicklungsartefakt bei der Entwicklung mit Fiori Elements. Fiori Elements stellt verschiedene Floorplans als Schablonen bereit, mit deren Hilfe auf Knopfdruck Standard-Apps erzeugt werden können. Floorplans gibt es u.a. für Overview Pages, Analytical List Pages und Object Pages, die dem SAP-Standard entsprechen.

Guided Development für schnelle Konfiguration und Erweiterung

Mit den Floorplans ist sichergestellt, dass die Strukturen von Standard-Apps binnen Minuten statt Stunden erstellt werden können. In den meisten Fällen möchten wir jedoch eine App, die über diese simple Standard-Struktur hinausgeht. Dafür bieten die SAP Fiori Tools grafische Hilfsmittel wie das sog. „Guided Development“, um weitreichende zusätzliche Konfiguration hinsichtlich der Business-Logik und der Darstellung vorzunehmen. Die Tools erstellen dabei die dazu notwendigen Annotations- und Code-Fragmente und fügen diese auf Wunsch auch direkt ein.

Flexible Programming Model für individuelle Anpassungen

Für den Fall, dass der Modellierungsumfang der zuvor genannten Tools für die eigene App nicht ausreichend ist, hat SAP zusätzlich Abhilfe geschaffen. Dank des „Flexible Programming Model“ ist es in SAP Fiori Elements mittels „Custom Pages“ und „Extension Points“ möglich, die Stärken von Fiori Elements mit den Vorzügen der Freestyle-Entwicklung zu verknüpfen. Bei der Erstellung einer „Custom Page“ wird Boilerplate-Code zur Integration und für das Routing der maßgeschneiderten Seite mit der restlichen Fiori-App bereitgestellt. Zudem stellt Fiori Elements „Building Blocks“ bereit, um häufig verwendete Elemente wie Tabellen oder Filterleisten auch in der code-basierten Entwicklung möglichst einfach und nah am SAP-Standard zu integrieren. Abgesehen von diesen mitgelieferten Funktionen ist der Entwickler aber dann weitestgehend auf sich allein gestellt und kann nach Belieben entwickeln.

Die Stärken von SAP Fiori Elements in der Praxis

Wenn die Geschäftsanforderungen zum Framework passen, bietet Fiori Elements massive Vorteile gegenüber der Freestyle-Entwicklung:

  1. Bessere Time-to-Value: Dank der Floorplans und des Guided Development ist es möglich, Fiori-Apps innerhalb weniger Stunden bereitzustellen, deren Entwicklung sonst deutlich länger dauern würde.
  2. Garantierte UX-Konsistenz: Die mitgelieferten Inhalte entsprechen den Fiori Design Guidelines, wodurch eine einheitliche User Experience sichergestellt wird. Selbst bei codebasierten Erweiterungen kann immer noch auf „Building Blocks“-Makros zugegriffen werden, die dem SAP-Standard entsprechen.
  3. Fiori Elements als Sprungbrett: Fiori Elements senkt die Eintrittshürde beim Umstieg auf Fiori-Apps. Für viele Entwickler, die klassischerweise noch aus der ABAP- oder (Web) Dynpro-basierten Welt kommen, stellt die SAPUI5-Entwicklung einen radikalen Umstieg dar. Fiori Elements führt Entwickler langsam in diese Technologie ein und hilft enorm beim Verständnis des Zusammenspiels vieler Fiori-Komponenten.
  4. Überschaubarer Wartungsaufwand: Die Apps bestehen größtenteils aus Framework-Artefakten, die seitens SAP gewartet und weiterentwickelt werden statt aus eigenem Code. So entfällt weitestgehend das Risiko, dass bei neuen UI5-Versionen ein zusätzlicher Wartungsaufwand für bestehende Apps entsteht.

Wo SAP Fiori Elements an Grenzen stößt

Trotz der mächtigen, umfassenden Modellierungsmöglichkeiten stößt auch Fiori Elements an seine Grenzen. Die folgenden Punkte sollten beim Einsatz von Fiori Elements unbedingt bedacht werden:

  1. OData-Zwang: Apps, die mit Fiori Elements angelegt werden, müssen zwingend auf einen OData-Service als Datenquelle zurückgreifen. In der Freestyle-Entwicklung existiert diese Beschränkung nicht, so dass dort auch REST-APIs, die vom OData-Standard abweichen und gänzlich andere Schnittstellen, wie beispielsweise GraphQL-basierte Quellen, die eine moderne Alternative zu REST-APIs darstellen, angebunden werden können.
  2. Ein Service pro App: Darüber hinaus erlaubt Fiori Elements grundsätzlich nur einen OData-Service pro App. Über Umwege ist es zwar möglich, mehrere OData-Services in Custom Pages und Extension Points anzubinden, in dem für Fiori Elements typischen Workflow via Guided Development tauchen diese OData-Services allerdings auch dann nicht auf.
  3. Abkehr vom Standard: Fiori Elements ist für Standard-Geschäftsprozesse und operative Analysen ausgelegt. Bei hochkomplexen und hochdynamischen Anwendungen stoßen die Modellierungsmöglichkeiten sowie das vorgefertigte Routing an ihre Grenzen. In diesen Szenarien ist die Freestyle-Entwicklung klar überlegen.
  4. Blackbox-Debugging: Der Großteil des App-Codes wird zur Laufzeit aus den Framework-Artefakten und Annotationen generiert, was die Fehlersuche gegenüber der Freestyle-Entwicklung erschwert. Insbesondere wenn man sich aufgrund mangelnder UI5-Kenntnisse für die geführte Entwicklung mittels Fiori Elements entschieden hat, kann das frustrierend sein.

Best Practices: Fiori Elements bestmöglich einsetzen

Fiori Elements hat klare Stärken, stößt je nach Szenario aber an seine Grenzen. Bei der Entscheidung, ob Fiori Elements im eigenen Unternehmen zur Entwicklung von Fiori-Apps eingesetzt werden soll, müssen diese Vor- und Nachteile dringend abgewogen werden. Unabhängig davon hängt der Projekterfolg zusätzlich davon ab, Fallstricke zu vermeiden und die verfügbaren Tools so effektiv wie möglich einzusetzen. Hier sind zusätzliche Best Practices, die eine erfolgreiche App-Entwicklung mit Fiori Elements fördern:

  • Frühzeitiger Anforderungs-Check

    Wie in allen Projekten, ist auch bei der Entwicklung von Fiori-Apps das Anforderungsmanagement nicht zu vernachlässigen. Erst wenn die Anforderungen bekannt sind, kann eingeschätzt werden, ob die Entwicklung mittels Fiori Elements zielführend oder ob der Modellierungsumfang von Fiori Elements für den konkreten Anwendungsfall zu einschränkend ist.

  • Wenn möglich, ausschließlich auf OData V4 Services zugreifen

    Auch wenn die älteren V2-Services noch unterstützt werden, sollte immer ein V4-Service genutzt werden, da nur so der Zugriff auf die Vorteile des Flexible Programming Model gegeben ist. Komplexere Erweiterungen unter V2-Services sind um ein Vielfaches aufwendiger zu implementieren.

  • „Backend-First“ bei Annotationen

    Um Wiederverwendbarkeit und Übersichtlichkeit sicherzustellen, sollten Annotationen immer so tief wie möglich, also in den CDS-Views der OData-Services, angelegt werden. Viele Annotationen können zwar auch im Frontend angelegt werden und die Backend-Annotationen übersteuern, dennoch sollte man im Frontend nur für app-spezifische Einstellungen davon Gebrauch machen. 

Fazit: Wann sich SAP Fiori Elements lohnt – und wann nicht

Entwickler, die zum ersten Mal in die SAP Fiori-Welt eintauchen, profitieren von der geführten Entwicklung mit Fiori Elements maßgeblich. Fiori Elements senkt die Eintrittshürde, indem Schablonen für Standard-Apps bereitgestellt werden, die zusätzlich um weitere Business-Logik erweitert werden können, ohne dass dafür fortgeschrittene Coding-Kenntnisse nötig sind. Für etwas erfahrenere Entwickler ist es überdies möglich, an speziell dafür vorgesehenen Erweiterungspunkten eigenen Code zu platzieren. So sorgt Fiori Elements dafür, mit den Tools des Frameworks eine beachtliche Bandbreite an App-Anforderungen abzubilden, ohne dabei für alle Use Cases tiefes Expertenwissen vorauszusetzen. Für die Entwicklung hochkomplexer Apps, die stark von den definierten Schablonen abweichen, ist die reine Freestyle-Entwicklung jedoch weiterhin unabdingbar.

Sie sind an der Einführung eigener Fiori-Apps in Ihrem Unternehmen interessiert? Wir unterstützen Sie gerne – von der Auswahl des passenden Entwicklungsansatzes bis zur Umsetzung.

 

Vereinbaren Sie jetzt ein unverbindliches Beratungsgespräch!


Ihre Ansprechpartnerin

Susanne Jung

info@movisco.com
elektronische Visitenkarte

Fon +49 40 767 53 777

Schnellkontakt-Formular

Die abgesendeten Daten werden nur zum Zweck der Bearbeitung Ihres Anliegens verarbeitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.

Sie haben Fragen?

Wir freuen uns über Ihre direkte Kontaktaufnahme!