ABAP & HANA – Ist ABAP noch zukunftsfähig?

programming_hands_on.png

 

Java als eine der ersten plattformunabhängigen Programmiersprachen ist bereits in vielen Bereichen der IT als Standard etabliert worden. Auch vor SAP macht diese Entwicklung nicht halt. Schon seit längerer Zeit gibt es neben dem klassischen ABAP Applikationsserver auch den Java Applikationsserver.

Java gilt zu Recht als moderne und sehr vielseitige Programmiersprache. ABAP dagegen steht haftet der Ruf an veraltet und kompliziert zu sein. Das mag an den COBOL-Wurzeln liegen (fragen Sie heute mal, wer diese Programmiersprache noch beherrscht). Hinzu kommt die für die meisten SAP Kunden sehr wichtige Abwärtskompatibilität, die mit jeder neuen ABAP Version gegeben sein muss. Dadurch bleiben enorm viele Altlasten sehr lange Zeit erhalten.

Sieht man von diesen Überschüssen an Sprachelementen ab, hat sich auch ABAP allerdings zu einer sehr modernen Programmiersprache entwickelt. Objektorientierung und die Möglichkeit von inline-Deklarationen sind hier nur zwei Beispiele. In Kombination mit der Nähe zur Datenbank macht das ABAP im Business Umfeld extrem vielseitig.

Insbesondere die Integration von SAP HANA macht ABAP hier als Programmiersprache zukunftsfähig. Beispielhaft dafür sind die neue Open SQL Syntax, ABAP Managed Database Procedures oder ABAP Core Data System Views.

Neue OpenSQL Syntax

Die neue Syntax für OpenSQL geht viel stärker auf die neuen Möglichkeiten der HANA Datenbank ein. Es können nun Aggregationen (z.B. Berechnung von Maximum oder Durchschnitt) auf die Datenbank gedrückt werden. Außerdem lassen sich die Abfragen mit GROUP BY zusammenfassen, wodurch weniger Daten übertragen werden. Allein durch die Überarbeitung von Select-Statements und kleineren Änderungen der Verarbeitungslogik (z.B. nachgelagerte Berechnung von Mittelwerten weglassen) lassen sich starke Verbesserungen der Performance erzielen.

ABAP Managed Database Procedures

Mit Datenbankprozeduren unter HANA kann auch relativ komplexe Logik vom Applikationsserver auf die Datenbank gedrückt und damit performanter verarbeitet werden.

Aktuell ist das Transportwesen unter HANA allerdings noch nicht optimal in das Standardtransportwesen integriert. Änderungen müssen manuell in ein Transport Package eingesammelt werden und können dann Transportiert werden. Weitere Änderungen nach dem Einsammeln müssen erneut manuell eingesammelt werden, sie werden nicht automatisch nachverfolgt.

Abhilfe schaffen hier die ABAP Managed Database Procedures. Dabei handelt es sich um ein in eine ABAP Klasse eingebettetes SQL Script. Die ABAP Klasse kann nun Transportiert werden. Die Datenbankprozedur wird automatisch bei der ersten Ausführung in der HANA Datenbank angelegt (Lazy Approach).

ABAP Core Data System Views

Eine Möglichkeit HANA native Entwicklungen auf dem Applikationsserver zu konsumieren ist das Core Data System (CDS). So können z.B. native Datenbankprozeduren dem Applikationsserver zugänglich gemacht werden (CDS View). Allerdings hat diese Vorgehensweise noch den weiter oben beschriebenen Nachteil des nicht angebundenen Transportwesens sodass ABAP Entwicklung und HANA Entwicklungen asynchron werden können.

Fazit

Alles in allem lässt sich also sagen, dass SAP auch weiterhin auf ABAP als eine Säule für die Entwicklung neuer Software setzt. Damit wird ein Upgrade alter Programme mit neuer Funktionalität stark vereinfacht. Außerdem bleiben neue Eigenentwicklungen damit Zukunftssicher.


Themen: SAP Technologie


Dr. Patrick Bitter

Geschrieben von Dr. Patrick Bitter