ABAP Development Days 2023
Die ABAP Development Days sind diese Woche zu Ende gegangen, in diesem Artikel wollen wir dir einen Einblick in die Neuerungen und unsere Eindrücke geben.
Inhaltsverzeichnis
Die ABAP Development Days standen dieses Mal unter dem Motto der ABAP Cloud, RAP und den Business Events. Dabei hat SAP auch einen Einblick in die Roadmap gegeben und welche Features die nächste Zeit kommen werden in den einzelnen Bereichen.
Einleitung
Aktuell sind die spannenden Features von SAP vor allem immer die Ankündigungen der nächsten Innovationen oder Verbesserungen. Das mag daran liegen, dass wir seit Jahren immer sehr nah an den TOP Innovationen dabei sind und gern mal neue Dinge probieren, die gerade erst erschienen sind. Dies ist nicht immer gut, da so die letzten Jahre immer wieder neue Konzepte verworfen oder geändert wurden.
Schauen wir uns zum Beispiel die Verwendung von Zugriffen von Steampunk (ABAP Environment) Richtung On-Premise an, so wurde vor Jahren der Weg über den Destination Service in der BTP als Best Practice angesehen. Heute sollen solche Verbindungen wieder klassisch als Communication Scenario im System abgebildet werden.
ABAP Cloud
SAP hat ebenfalls die neue Methodik für ABAP Cloud zur Verfügung gestellt, das sogenannte 3 TIER Modell wie in Zukunft Standardsysteme erweitert werden sollten. Dem Modell liegt das Prinzip "Keep the Core clean" zu Grunde. Hintergrund, in der Vergangenheit hatten Kunden die Möglichkeit Standardobjekte von SAP zu verwenden, so etwas wie Klassen, Funktionsbausteine und Datenelemente. Ebenso konnten Daten direkt aus den Tabellen gelesen werden. Dies sorgt bei Kunden vor allem bei Upgrades für Kopfschmerzen. Die Objekte waren meist nicht freigegeben, damit bestand die Möglichkeit, dass durch Änderungen bei SAP die Eigenentwicklungen Probleme machten. Das Modell beschreibt die Erweiterung des Systems in der Cloud, aber auch On-Premise.
© 2023 SAP SE or an SAP affiliate company
TIER 1
Hierbei handelt es sich um das sauberste Prinzip, hier entspricht das System dem Modell "Keep the Core clean". Erweiterungen, also Z-Code, können auf dem ABAP Stack gebaut werden, halten sich aber an alle Regeln des ABAP Cloud Development:
- Nutzung von freigegebenen APIs der SAP (Für Cloud Development)
- Zugriff auf Daten über Core Data Services
- Entwicklung von Anwendungen ohne GUI
- Nutzung von Software Komponenten
TIER 2
Der zweite TIER beschreibt, wie man das System fit macht für ABAP Cloud. Dabei geht es darum, nicht freigegebene Objekte als APIs für TIER 1 vorzubereiten. Solche nicht freigegebenen Objekte werden in Fassaden neu verschalt und können dann per Vertrag für Cloud Development freigegeben werden. Hier wird SAP noch einmal nachschärfen und Best-Practices liefern, wie man solche APIs am besten bauen kann. Die Empfehlung wird wahrscheinlich aber auf RAP hinauslaufen. Hier noch einmal die verschiedenen Verträge von Objekten (ADT - Properties View):
Der C0 Contract beschreibt die Möglichkeit der Erweiterung von Objekten und der C1 Contract die Nutzung innerhalb des Systems, auch ob diese für Cloud Development freigegeben sind oder auch in den Keyuser Apps verwendet werden können.
TIER 3
Der dritte und letzte TIER beschreibt die klassische Entwicklung, diese entspricht nicht dem neuen Prinzip und lässt so weit alles zu. Hier sollten aber die Entwicklungen in Zukunft immer weniger werden und immer mehr Erweiterungen dem TIER 1 entsprechen. Damit gibt SAP auf eigenem Risiko die Möglichkeit, auch nicht unterstützte Dinge umzusetzen.
RAP Roadmap
Auf der RAP Roadmap stehen einige interessante Features für die nächste Zeit die wir dir natürlich vorenthalten wollen. Zu gegebener Zeit werden wir sicherlich auch einen Blog zu dem Thema veröffentlichen. Nun zu den neuen Features die geplant sind:
- Side Effects - Aktualisierung der UI direkt über Annotationen im Backend. Hier wurden bereits erste Versionen von SAP geliefert, sodass deine UI viel interaktiver wird.
- Showcase App - Die neue Showcase App der SAP zeigt was aktuell mir Annotationen möglich ist und wie du deine UIs noch schöner aufbauen kannst.
- Collaborative Draft - Aktuell ist der Draft nur für einen Benutzer und kann nur durch diesen bearbeitet und freigegeben werden. In Zukunft besteht auch die Möglichkeit, dass mehrere Personen mit den entsprechenden Rechten am Draft arbeiten können, auch gleichzeitig.
- Tree View - In der ersten Version soll es den Tree View nur in der Variante zur Anzeige von Daten geben. Doch damit wird endlich ein beliebtes On-Premise Feature zur Verfügung gestellt, um Daten in Hierarchien anzuzeigen.
- Analytical Table - Daten in verschiedenen Dimensionen auswerten, hierfür wird es die neue Form der Darstellung geben.
- Websocket Integration - ABAP Channels und Deamons sind noch relativ neu in der SAP Welt, damit lassen sich viele Dinge in Echtzeit erledigen, ohne auf den Refresh des Benutzers zu warten. Die Integration in UI5 zusammen mit RAP soll neue Möglichkeiten eröffnen. So ist die Darstellung einer Fortschrittsanzeige im UI möglich, die immer wieder Aktualisierungen aus dem Backend erhält.
ABAP Environment
Das ABAP Environment, auch Steampunk genannt, ist ein entkoppelter ABAP Stack in der Cloud. Auf diesem sind keine Fachmodule installiert, sondern es läuft der reine ABAP Stack (ABAP Foundation). Hierbei handelt es sich um eine SaaS (Software as a Service) Lösung und der Kunde muss sich nicht um Updates kümmern. Die Umgebung bekommt alle 3 Monate neue Features und hat damit den aktuellsten Stand in der ABAP Entwicklung, was SAP außerhalb der eigenen Systeme zu bieten hat. Entsprechend spannend sind hier Erweiterungen und neue Funktionen, die meist später auch in den On-Premise Systemen eingeführt werden. Dabei kann das System wie folgt genutzt werden:
- Zur Ausbildung - Im Free Tier Modell kann die Umgebung kostenlos von interessierten Entwicklern genutzt werden.
- Für Kunden - Entwicklung von Innovationen und Side-by-Side Extensions.
- Für Partner - Partnerlösungen die früher auf dem Core installiert wurden, können nun entkoppelt durch den Partner zur Verfügung gestellt werden. Dies spart die Installation beim Kunden und der Partner kann zentral die Lösung entwickeln.
- Für SAP - Auch SAP baut Lösungen auf dem ABAP Environment, um sie Kunden zur Verfügung zu stellen. Zum Beispiel wurde die "BW Bridge" auf Basis von Steampunk entwickelt.
Enterprise Event Enablement
Die Zukunft der entkoppelten Anwendungen beginnt mit Business Events. Mit Events erhält man die Möglichkeit Erweiterungen in Prozesse zu implementieren, ohne den Prozess modifizieren zu müssen. Auch muss die Erweiterung nicht mehr auf dem gleichen System stattfinden, sondern könnte auch auf Non-SAP Lösungen implementiert werden. Im Grunde geht es darum, dass eine Anwendung an bestimmten Punkten im Prozess eine Nachricht erzeugt und diese an einen Sammelpunkt, hier den Event Mesh, überträgt. Andere Anwendungen können dann eine Subscription abschließen und werden informiert, wenn ein neues Event ausgelöst wurde. Solche Events sind zum Beispiel "Create" oder "Delete".
Nehmen wir dazu ein einfaches Beispiel: Im S/4 System wird ein neuer Partner angelegt, dann wird ein Create-Event ausgelöst und an den Event Mesh übertragen. Meine Anwendung in der BTP, zum Beispiel auf dem ABAP Environment, wartet auf dieses Event. Nun lesen wir für den Business Partner weitere Daten On-Premise nach, ermitteln dazu weitere Daten wie eine Geokodierung und aktualisieren den Partner im Backend wieder. So mussten wir nicht direkt in den Prozess eingreifen, sondern konnten die Erweiterung als Side-by-Side Extension umsetzen.
Hands-On
Auch in diesem Jahr gab es wieder einiges am System zu schrauben. Im Gegensatz zu den letzten Jahren ging es nicht um den Aufbau von RAP Objekten und wie sie arbeiten, sondern um die Erweiterung bestehender Anwendungen um die neuen Funktionen. So wurde sich angeschaut was an neuen Features in ABAP Einzug gehalten hat und wie man Events in RAP implementieren kann. Zu den Hands-On Sessions stellt SAP GitHub Repositorys mit Anleitungen zur Verfügung:
Auch wenn es am zweiten Tag Probleme mit den von SAP zur Verfügung gestellten Systemen gab, waren es gelungene Hands-On Session und wir erhielten einen Einblick in die neuen Themen.
ABAP Development Tools
Für die ABAP Development Tools, kurz ADT, gibt es auch einige Neuigkeiten. Die Tools haben ihren 10ten Geburtstag gefeiert und sollten nun so weit bei der ABAP Community angekommen sein. Wenn du bereits in der BTP oder auf einem aktuellen S/4 Release unterwegs sein solltest, solltest du sie hauptsächlich auch nutzen. Die geliebte SE80 ist so weit tot und wird nur noch auf älteren Releases benötigt oder wenn man die Dokumentation in einem Report anlegen muss. Der Funktionsumfang der ADTs hat unserer Meinung nach schon lange die SE80 überholt und bietet heute mehr Vorteile denn je.
Aktuell arbeitet SAP an einer neuen Version des "Code pal", um diesen auch auf die BTP zu bekommen und nutzbar zu machen. Weiterhin wird an der Möglichkeit des Remote Szenarios gearbeitet, um die Prüfungen fit für Remote ATC zu machen. Dieses Szenario wird beim Einsatz des ATC auch von SAP vorgeschlagen. Weiterhin werden für Meldungen mit Code pal Quickfixes in ADT angeboten. Der Namensraum wird sich von "Z" auf "/CC4A/" (Code Check for ABAP) ändern, um Namenskonflikte im Kundennamensraum zu vermeiden.
Eine Überraschung war die aktuelle Version des ABAP Cleaner, ein neues Plugin zum Aufräumen von Quellcode, dieses Plugin werden wir im Artikel nächste Woche vorstellen. Eines sei gesagt, hier liefert SAP mit Open Source ein richtig starkes Refactoring Tool aus ein Must-Have für den ABAP Entwickler.
Fazit
Es gab viele interessante Einblicke von der SAP mit spannenden Neuerungen im RAP Umfeld. Wir sind auf die zukünftigen Features gespannt, ebenso wie gut diese On-Premise mit den nächsten Releases genutzt werden können. Die SAP Welt hält in Zukunft noch viele spannende Neuerungen bereit.