Wie viel Fiori brauchen ABAP Developer?
Die Learning Roadmap ist gut gefüllt mit neuen Themen, wie sieht es nun mit der Frontend Entwicklung für den ABAP Developer aus?
Inhaltsverzeichnis
Die SAP Learning Roadmap ist gut gefüllt mit Themen und wir hatten bereits in einem eigenen Blog die verschiedenen Rollen für die Zukunft ausgearbeitet. In diesem Artikel werden wir noch einmal auf das Thema Frontend eingehen.
Einleitung
Schauen wir uns einmal die Rolle des klassischen ABAP Entwicklers an, dann hat dieser alle Bestandteile der Entwicklung durchgeführt, egal ob den Bau der Backend Logik oder auch das Design der UI im SAP GUI. Dabei wird am häufigsten immer noch der ALV verwendet, gefolgt von den verschiedenen Controls aus der SAP GUI Entwicklung.
Die Rolle hat sich aber bereits in den letzten Jahren geändert und der ABAP Entwickler hat neben den GUI Anwendungen auch OData Services über SEGW, BOPF oder CDS zur Verfügung gestellt. In einigen Fällen haben sich auch ABAP Entwickler in Richtung UI5 weiterentwickelt und erste UIs auf SAP Fiori Basis zur Verfügung gestellt.
SAP Fiori
Die größte Herausforderung beim Lernen von SAP Fiori ist wahrscheinlich nicht die Programmiersprache JavaScript, sondern eher das Framework UI5. Wie ist eine App aufgebaut, wie funktioniert die Navigation innerhalb der App, wie baue ich das UI auf, welche Komponenten gibt es und verwende ich diese auch konform? Schauen wir uns die Fiori Guidelines an, dann gibt es vieles zu beachten, wie ich eine Fiori App bauen sollte, damit sie SAP-Standard-Nah ist und nicht komplett Freestyle.
Deshalb hatte sich schnell eine zweite Rolle neben dem ABAP Entwickler gebildet, der SAP Fiori Entwickler. Dieser kennt sich mit dem Framework von UI5 aus und kann schnell Standard-nahe Apps entwickeln. In den meisten Fällen kann dieser auch noch den OData Service im Backend selbst bauen, um so vom ABAP Entwickler entkoppelt zu arbeiten.
Herausforderung
Wo liegt nun also die große Herausforderung? Der ABAP Entwickler verliert mit ABAP Cloud in der Entwicklung sein Frontend, soll aber weiterhin komplexe Business Objekte erstellen und verwalten.
Foto von Mark Fletcher-Brown auf Unsplash
Strategie
Erstellen wir als ABAP Entwickler nun keine UIs mehr und überlassen die Entwicklung den Fiori Kollegen? Wie viele Entwickler brauche ich in Zukunft für Backend und wie viele für das Frontend? Diese Frage muss man sich nicht mehr unbedingt stellen. Im Grunde stellt SAP verschiedene Werkzeuge zur Verfügung, wie der ABAP Entwickler leicht Fiori Frontends zur Verfügung stellen kann.
Die Modellierung der UI beginnt heute bereits mit den UI-Annotationen, wenn du als Entwickler den Projection View für dein RAP Objekt aufbaust. Damit gestaltest du die Liste, die Selektionskriterien und die Objektseite der Fiori App, bevor sie eigentlich generiert wird. Diese UI Annotationen werden für Fiori Elements benötigt. Fiori Elements interpretiert die Annotationen und generiert automatisch eine Oberfläche dazu. Damit sparst du dir die Entwicklung der Fiori Freestyle Applikation und nutzt die bereits angedachten Templates von SAP.
Jetzt wirst du sagen: "Aber dann kann ich mein UI nicht individuell nach Kundenwünschen anpassen!". Das ist auch richtig, aber muss der Button jetzt wirklich Gelb oder Pink sein? Das Nutzen der vorgedachten Templates soll erst einmal viel Entwicklungszeit sparen. Wir können einen ersten Prototypen noch am gleichen Tag mit einer UI präsentieren, in dieser Zeit steht vielleicht erst der OData des Frontend Developer und ein paar Tage später der erste Prototyp. Fiori Elements soll vor allem Zeit sparen und Templates standardisieren. Dabei musst du dir keine Gedanken mehr machen, wohin die Buttons gehören oder wie die Meldungen ans UI übergeben werden, das übernimmt Fiori Elements für dich.
Und für das Thema Individualisierung gibt es noch das Flexible Programming Model. Mit diesem können wir leicht Fiori Elements Anwendungen mit OData v4 anpassen und um zusätzliche Controls erweitern, ohne in die Freestyle Entwicklung zu müssen. Das Framework gibt uns verschiedene Punkte in der Fiori Elements App, die wir erweitern können. Der User möchte seinen Text mit einem Rich-Text-Editor bearbeiten? Kein Problem, mit dem Flexible Programming Model gibt es handliche Building Blocks, die die Implementierung und Konfiguration vereinfachen.
In den meisten Fällen wirst du vielleicht keine Anpassung der UI machen, sondern die App direkt deployen wollen. Dabei kann dich die Tool Bridge unterstützen, die auch weiter ausgebaut wird. Dafür wird man keinen Fiori Entwickler benötigen, um die App zu generieren und wieder ins System zu deployen.
Ziel
Die Frage: "Wie viele Backend- und wie viele Frontend-Entwickler benötige ich in Zukunft?" kannst du dir damit sparen. Du benötigst eine gewisse Anzahl ABAP Cloud Entwickler, die sich in Zukunft um die Entwicklung kümmern, Business Objekte mit RAP bauen und Fiori Elements Anwendungen auf das System deployen. Unserer Meinung nach wird die Rolle wieder etwas enger zusammenwachsen, wenn es um die 80-90% der Anwendungen geht. In manchen Fällen wird man vielleicht mal doch eine Freestyle Applikation brauchen.
Dazu noch einmal die wichtigsten Punkte zusammengefasst, die du als ABAP Entwickler beherrschen solltest für die Frontend-Entwicklung der Zukunft:
- ABAP RESTful Programming Model (RAP)
- OData v4
- Fiori Elements
- Flexible Programming Model
Fazit
Der Fiori Entwickler wird sehr wahrscheinlich auch noch gesucht werden. Mit RAP und Fiori Elements wird in Zukunft aber auch der ABAP Entwickler in der Lage sein, wieder Frontends zu bauen, wie er es bereits heute für SAP GUI macht. Fiori Elements ist damit die neue SAP GUI des ABAP Entwicklers.