SAP – Moderne Techniken und Tools

Business-Lösungen

SAP – Moderne Techniken und Tools

Agile Entwicklung im SAP-Umfeld

SAP hat in den vergangenen fünf Jahren enorm viel in die Entwicklungsplattform SAP investiert. Dabei sind vielfältige neue Technologien erschlossen worden und es haben sich neue Möglichkeiten im Bereich der Software-Entwicklung mit SAP ergeben. Diese zielen vor allem auf die Aspekte Usability, offene Standards, Stabilität und Performance. Die wichtigsten Themen und Technologien wollen wir uns im Überblick anschauen:

Klassische ABAP-Entwicklung

SAP hat bereits vor mehr als zehn Jahren die Objektorientierung für sich entdeckt und diese konsequent in die Produktentwicklung einfließen lassen. Trotzdem wird in vielen Systemen immer noch prozedurale Software im Rahmen von Erweiterungen oder Eigenentwicklungen implementiert. Dies birgt verschiedene Gefahren:

Die Syntaxprüfung hinsichtlich veralteter Sprachkonstrukte ist im Bereich der klassisch-prozeduralen ABAP-Entwicklung nicht sehr strikt. Daher ist es hier weiterhin möglich, Code zu implementieren, der von SAP als „veraltet“ deklariert ist.

Weiterhin gewährt uns die Objektorientierung in ABAP interessante und moderne Ansätze:

So ist es zum Beispiel möglich, zusammen mit produktivem Code Unit-Tests auszuliefern. Diese erleichtern dem Entwickler Regressionstests sowie generelle Software-Tests, die die Stabilität der Lösung fördern. Doch keine Angst: Diese Unit-Tests sind in einem produktiven System bei richtiger Konfiguration nicht ausführbar und stellen daher keine Gefahr für den produktiven Betrieb dar. Neuigkeiten gibt es auch aus dem Bereich der Schnittstellenentwicklung: Mittlerweile spricht SAP auch moderne Web-Protokolle wie HTTP, SOAP (Simple Object Access Protocol), REST (Representational State Transfer) und OData (Open Data Protocol). Früher brauchte man für all diese Protokolle eine zusätzliche Middleware oder Schnittstellen-Software, die die Aufrufe auf RFC-Schnittstellen umgesetzt hat. Dem ist heute nicht mehr so: Es ist heute möglich, dass Sie sich z. B. zur Kommunikation mit WebServices und SOAP einen Proxy erzeugen lassen (dabei handelt es sich um eine ABAP-Klasse, die Sie einfach in Ihre Anwendung integrieren können), die dann die gesamte SOAP-Kommunikation für Sie übernimmt, inkl. Daten- und Parameterübergabe. Dabei verhalten sich diese Proxy-Objekte so wie alle anderen ABAP-Klassen auch!

Mit dem SAP NetWeaver Gateway hat die SAP ein Fundament geschaffen, das es ermöglicht, REST-Services zu implementieren. Fast alle modernen Web-Plattformen verwenden REST-Services zur Interaktion und zum Datenaustausch. So wird es zum Beispiel möglich, dass eine Anwendung einfach durch den im SAP-System befindlichen Datenbestand browsen kann. Dabei können Filter verwendet werden und Daten auch „seitenweise“ (Pagination, abgeleitet von page = Seite) zurückgegeben werden. Doch nicht nur zum Lesen sind diese Services gut. Es lassen sich mit den OData-Services ggf. auch schreibende Zugriffe realisieren. Man spricht in diesem Umfeld von den CRUD-Funktionen: Change, Read, Update, Delete.
Die Verarbeitung von XML-Daten ist dank der XML-Transformationen seit einer ganzen Weile möglich. Dabei handelt es sich um Transformationen, die im SAP-System für die Umsetzung von XML-Datenströmen in ABAP-Strukturen und umgekehrt herangezogen werden. XML-Daten müssen damit nicht mehr manuell (d. h. durch eigenes Parsing) prozessiert werden. Die Verarbeitung dieser XML-Transformationen erfolgt im ABAP-Kernel und ist damit höchst performant – selbst für große und sehr große Datenmengen.

Eine der neuesten Errungenschaften ist APC. „ABAP Push Channels“ erlauben endlich echte Push-Benachrichtigungen. D. h., Anwendungen können auf Ereignisse hingewiesen werden und dann entsprechend darauf reagieren. So wird es z. B. möglich, dass ein SAP-System auf den Ausfall einer Produktionsmaschine reagieren kann. Vorausgesetzt, die Maschine ist vernetzt und kann entsprechende Nachrichten verschicken (Stichwort: Industrie 4.0). Durch die Verwendung dieser Technologie ist es möglich, dass z. B. eine SAPUI5-Anwendung auf Aktualisierungen im SAP-Backend reagieren kann: Wird eine Liste im SAP-Backend aktualisiert und ein Anwender verwendet diese Liste gerade in seiner SAPUI5-Anwendung, so kann die SAPUI5-Anwendung mit einem entsprechenden Refresh der Anzeige darauf reagieren – ohne aktives Polling!

SAP HANA

Der Begriff SAP HANA umgibt uns schon eine Weile in allen gängigen IT-Foren und -Zeitschriften. Jeder weiß, dass es sich dabei sowohl um die neue In-Memory-Datenbank als auch die neue Applikationsplattform der SAP handelt, die den Datenbestand im Hauptspeicher hält. Dies ermöglicht bisher nicht gekannte schnelle Antwortzeiten bei Datenbankabfragen. Alle SAP-Welt denkt jetzt über einen Umstieg auf SAP HANA nach, verspricht deren konsequent richtige Nutzung doch neue Geschäftschancen und Wettbewerbsvorteile. Besonders einfach gelingt dies mit SAP BI (Business Intelligence). SAP BI war die erste Anwendung, die vollumfänglich durch SAP HANA unterstützt wurde. SAP BI profitiert natürlich extrem stark von einer guten Datenbank-Performance, da hier Daten grundsätzlich einmal in das Data Warehouse übertragen und dann vielfach durch Berichte etc. konsumiert und ausgewertet werden. Viele der Berechnungen, die früher im SAP BW erfolgten, können nun direkt in der Datenbank verarbeitet werden und vermindern so Laufzeiten und Netzwerkkommunikation.

Aber auch im ERP-Segment zieht SAP HANA ein: Mit S/4HANA, der neuesten Generation des SAP ERP, gibt es nun eine überarbeitete und für SAP HANA optimierte ERP-Lösung. Suite on HANA war auch schon vorher möglich, bei S/4HANA handelt es sich aber um die nächste Evolutionsstufe: Die Anwendungen wurden verschlankt, entschlackt und vereinfacht. Aggregate, die früher immer mitgeführt wurden, werden nun zur Laufzeit durch die Datenbank berechnet. Das spart Platz in der Datenbank und verschlankt die transaktionalen Applikationen, die die Aggregate nun nicht mehr aktualisieren müssen. Als Frontend kommt nun endlich ein neues modernes UI (User Interface) zum Einsatz: SAPUI5 bzw. Fiori.

Nach alter Schule würde man Daten aus verschiedenen Datenbanktabellen lesen und diese dann in der Applikation verarbeiten. Heutzutage geht man mehr und mehr dazu über, möglichst viel Logik in der Datenbank verarbeiten zu lassen, da die HANA das erlaubt – eine 180-Grad-Wendung gegenüber früher! Möglich wird dieser Code Push Down unter anderem durch ABAP Managed DataBase Procedures (AMDP) und SQLScript, eine SQL-basierende Scriptsprache, die besonders schnell in der Datenbank ausgeführt wird. Die Core Data Services (CDS) bieten eine deklarative Erstellung und Verarbeitung von Persistenzfunktionen. Bekanntester Vertreter dieser Werkzeuge sind die CDS-Views: Dabei handelt es sich um Views, die mehr können als nur Sichten auf bestehende Daten. CDS-Views können Logik beinhalten, in der z. B. Feldinhalte zur Laufzeit berechnet werden.

Fiori und SAPUI5

Bei SAPUI5 handelt es sich um ein Framework, das die Implementierung von mobilen Web-Anwendungen mit HTML5, CSS3 und JavaScript ermöglicht. Lange Zeit hat sich die SAP im Bereich des Frontends schwer getan. SAP-Anwender waren die SAPGUI gewöhnt, Nicht-SAP-Anwender haben sie dafür belächelt. Das soll sich nun ändern: Mit SAPUI5 ist es möglich, ansprechende UIs mit modernen Web-Technologien zu implementieren. Diese UIs laufen auf fast allen mobilen Endgeräten (Handy, Tablet etc.) und passen sich immer der zur Verfügung stehenden Bildschirmgröße an (responsive).

Viele nehmen jetzt an, dass sich diese Anwendungen nur nutzen lassen, wenn bereits SAP HANA installiert ist, doch dem ist nicht so: Auch mit vergleichsweise alten SAP-ERP-Installationen können SAPUI5- bzw. Fiori-Anwendungen genutzt werden. Möglich wird dies durch das SAP NetWeaver Gateway, das SAP-Daten z. B. als JSON (JavaScript Object Notation) zur Verfügung stellt, die dann in SAPUI5 verarbeitet werden können. Dabei werden REST-Services in SAP NetWeaver Gateway implementiert und designed, die dann in der mobilen Anwendung zum Austausch von Daten mit dem SAP-Backend konsumiert werden.

Abschließend lässt sich sagen, dass sich die Arbeit der Software-Entwickler im SAP-Umfeld weiterhin stetig ändert und ändern muss, damit der Anwender von all den Neuerungen der SAP profitieren kann. Derzeit findet ein wahrer Paradigmenwechsel in der SAP-Welt statt.

PROFI unterstützt Sie bei diesem Paradigmenwechsel mit Workshops, Schulungen, Beratungs- und Projektdienstleistungen und sorgt dafür, dass Sie und Ihre Anwender mit der Technologie und den aktuellen Prozessen und Neuerungen Schritt halten können:

  • Wir trainieren und coachen Ihre Entwickler- und Projektteams bzgl.
    • der neuen SAP-Technologien
    • der neuen Entwicklungs-Tools z. B. im HANA-Studio oder generell in Eclipse
    • dem richtigen Umgang mit der neuen Datenbankplattform.
  • Wir unterstützen Sie bei der Planung und Durchführung Ihrer Entwicklungsprojekte.
  • Wir stellen mit Reviews sicher, dass Ihre Applikationen sicher und stabil laufen, onsite oder remote.
  • Wir sprechen Industrie 4.0.
  • Wir erarbeiten mit Ihnen eine zukunfts­orientierte SAP-Landschaft.

Um Ihnen einen Eindruck von der neuen Entwicklungsumgebung (SAP WebIDE, ABAP in Eclipse, Eclipse) oder den neuen Technologien zu geben, bietet wir kleine Tages-Workshops an – bei Ihnen vor Ort, in Ihrem individuellen Umfeld, eine einfache Möglichkeit, einen fundierten Überblick zu erhalten und Ihre offenen Fragen direkt an einem Beispiel zu erörtern und Lösungen zu skizzieren.

Sie möchten die Workshops ausprobieren? Kein Problem. Das erwartet Sie:

Unsere Tages-Workshops:

  • Überblick Entwicklungsplattform SAP HANA
  • Review und Optimierung Custom-Code
  • Organisation und Management von Entwicklungsprojekten
  • Integration der neuen Tools und Plattformen mit SAP SolMan und ChaRM
  • Grundsätze mobiler Anwendungen mit SAP
Mike Schernbeck,
SAP Senior Consultant der PROFI AG