Programmierung mit HANA Teil 1

HANA, die neue Datenbanktechnologie der Firma SAP, hat schon nach kurzer Zeit ihren Platz unter den Datenbankmanagementsystemen gefunden. SAP HANA wurde erstmals im Frühling 2010 vorgestellt und ab November desselben Jahres eingesetzt. 2015 stellte SAP das erste Produkt vor, welches vollständig auf dem vereinfachten Datenmodell von SAP HANA basiert. Unser HANA – Experte Christian Schlömer hat sich eingehend mit dem System befasst und stellt Ihnen in einer Reihe von Blogartikeln seine Erkenntnisse und Empfehlungen vor.

Auswirkungen auf ihr bestehendes Coding

1. HANA als neue Technologie

SAP HANA (früher als Akronym für High Performance Analytic Appliance, heute als Eigenname verwendet) bezeichnet die In-Memory-Datenbanktechnologie der Firma SAP. In-Memory– bzw. hauptspeicherresidente Datenbanken verwenden Arbeitsspeicher mit Multi-Core Architekturen zur erheblichen Beschleunigung von Lese- und Schreibzugriffen im Verhältnis zu konventionellen Datenbankmanagementsystemen.

2. Bedeutung für bestehendes Coding

Der Umstieg von einer konventionellen Datenbank zu der neuen SAP HANA Datenbank bringt einige Neuerungen und Veränderungen mit sich. Allerdings hat die SAP mit ihrer OPEN-SQL Syntax (OPEN SQL ist eine Vereinheitlichung der verschiedenen SQL-Schreibweisen, die es möglich macht, unabhängig vom verwendeten Datenbanksystem, Tabellen und Daten im SAP-Dictionary zu verändern) dafür gesorgt, dass keine größeren Anpassungen notwendig sind. Bestehendes Coding muss in der Regel nicht angepasst werden, wenn im Unternehmen gute Entwicklungsrichtlinien vorhanden sind und diese auch eingehalten wurden. Da dies erfahrungsgemäß nie zu 100% der Fall ist, sind dennoch Anpassungen notwendig.

Jedes Unternehmen, auch die SAP selbst, muss ihr Coding auf die HANA-Datenbank anpassen. Deswegen erfolgt mit der Umstellung auf eine SAP-HANA Datenbank meistens auch ein Releasewechsel (mind. Release: SAP NetWeaver 7.3). Neue Funktion, wie die Core Data Services, stehen erst ab Release 7.4 SP05 zu Verfügung. Deshalb rate ich, Ihnen direkt auf ein aktuelleres Release upzugraden, wie die Minimalvorgaben der SAP es empfehlen.

3. HANA-relevante Entwicklungsrichtlinien

Es gibt wichtige Eckpunkte, die jede Entwicklungsrichtlinie enthalten sollte. Diese zwei Themen sollten nicht fehlen:

  1. sich nicht auf implizites Verhalten des Systems verlassen (siehe Punkt 3.2)
  2. Richtlinien zur Datenermittlung verwenden. (siehe Punkt 3.2)

Solche Regeln sind maßgeblich dafür da, dass ein sicherer und stabiler Umstieg auf die HANA-Technologie mit wenig Aufwand möglich wird. Werden sie nicht eingehalten, könnte der Zeitaufwand zur Prüfung Ihrer Eigenentwicklungen Sie vor größere Probleme stellen.

Ein Hinweis an dieser Stelle: nicht nur für HANA, sondern allgemein gilt es Richtlinien zu entwickeln und zu etablieren, die

  • zu einer bestimmten Qualität führen,
  • die Zusammenarbeit zwischen den einzelnen Akteuren erleichtern
  • und somit auch bei der Einarbeitung (z.B. neuer Mitarbeiter) unterstützen.

Um jedoch eine passende Richtlinie zu erhalten, müssen die eigenen Werte und Zielsetzungen für diese Richtlinie innerhalb Ihres Unternehmens erstmal fokussiert werden. Es gibt viele Aspekte, die wichtig sind und durch eine Richtlinie geregelt werden sollten. Die Wichtigkeit der einzelnen Punkte kann man in die vier Dimensionen unterteilen:

  1. Sicherheit
  2. Implementierung
  3. Wartbarkeit
  4. Performance

Die Anzahl und Anordnung der einzelnen Aspekte innerhalb der 4 Dimensionen sind von Unternehmen zu Unternehmen verschieden, wie das folgende Video beispielhaft zeigt.

In dem Video werden beispielhaft verschiedenen Punkte (u.a. Modifikationen, Webservice, Technologien etc.), die für eine Richtlinienerstellung wichtig sein können, aufgeführt.

Die Einteilung der Punkte, in die 4 zuvor genannten Dimensionen, erfolgt dabei unternehmensindividuell, so kann z.B. ein Punkt in einem Unternehmen eher der Dimension Performance und in einem anderen Unternehmen eher der Dimension Wartbarkeit zugeordnet werden. Dies hängt von der Historie, dem Sicherheitsbedürfnis, dem Selbstverständnis und vielen anderen Gegebenheiten eines Unternehmens ab.

Allerdings besteht die Gefahr, dass die eigene Richtlinie überfrachtet wird, so dass diese unübersichtlich und ggf. widersprüchlich wird und dadurch missachtet wird oder schlichtweg nicht anwendbar ist. Darum ist es wichtig bei jeder Regeldefinition darauf zu achten, dass die wichtigsten Prinzipien der Richtlinienerstellung beachtet werden.

  • muss verständlich sein!
  • muss überprüfbar sein!
  • muss anpassbar sein!
  • muss nützlich sein!
  • soll Standards etablieren!
  • soll auf das Wesentliche reduziert sein!

Wir als PIKON Deutschland AG unterstützen Sie gerne bei dem Erstellen einer solchen Richtlinie, speziell für die Gegebenheiten in Ihrem Haus.

3.1 Datenermittlung

Ein weiterer zentraler Punkt zum Thema Programmierrichtlinien stellen die Regeln für die Datenermittlung mittels SQL dar, die

‘5 golden rules‘:

Die 5 goldenen Regeln der Programmierung

Kurz zusammengefasst bedeutet dieses Schaubild:

  • Ergebnismenge klein halten
  • Die Menge der zu transferierenden Daten von und zu der Datenbank minimieren
  • Die Anzahl der Datenermittlung reduzieren
  • Geeignete Abgrenzungen wie Schlüssel oder Indizes benutzen
  • So wenig wie möglich die Datenbank belasten

Wer diese Regeln konsequent in der Vergangenheit befolgt hat, kann ohne Anpassungen die Performancesteigerung mittels der HANA-Datenbank nutzen.

3.2 Implizites Verhalten

Auf implizites Verhalten von technischen Systemen sollte man sich nicht verlassen, da die Systeme sich verändern und ausgetauscht werden können. Darunter zählen zum Beispiel:

  1. Implizites Commit-Work (Wechsel von Dynpros, Ausgabe von Meldungen, etc.)
  2. Kurzdumps bei nicht abgefangen Exceptions
  3. Sortierung der Ergebnisse anhand des Primärschlüssels bei einem Select

Gerade der letzte Punkt, die Sortierung der Ergebnisse bei einem Select, verursacht bei dem Wechsel auf eine spaltenbasierte Datenbank häufig Probleme. Alle Stellen im Coding, in den Eigenentwicklungen und Erweiterungen des SAP-Standards, müssen geprüft und ggf. korrigiert werden.

3.3 Qualitätsmanagement PIKON

Damit die PIKON ihre Qualitätsansprüche bei Entwicklungen einhalten kann, werden regelmäßig Code-Reviews durchgeführt. Bei diesen Code-Reviews wird im 4-Augen-Prinzip die gesamte Entwicklung analysiert und kurz vor der Fertigstellung des Projektes abgenommen. Es wird insbesondere darauf geachtet, dass die Entwicklungsrichtlinien eingehalten werden und das Programm ausreichend dokumentiert wird.

Außerdem finden regelmäßig Infoveranstaltungen und Schulungen für die Entwickler statt um dauerhaft ein gleichbleibend hohes Niveau der Programm-Qualität zu gewährleisten.

4. Leistungen der PIKON

Im zweiten Teil unserer Blogreihe Programmierung mit HANA gehen wir weiter in die Tiefen der ABAP-Umstellung auf HANA ein. Die PIKON konnte bereits von Anfang an Erfahrungen mit der neuen Technologie HANA sammeln. Wir wissen daher um die Schwierigkeiten bei einem Wechsel auf die HANA-Datenbank und können dort unterstützen, wo Sie unsicher sind oder Bedenken haben.

Für die Entwickler in Ihren Unternehmen bieten wir eine kompakte Schulung an, in denen wir Ihnen einen einfachen Einstieg in die HANA-Entwicklung geben. Hier setzen wir folgende Schwerpunkte:

  • Einführung in die neue Entwicklungsumgebung ABAP Development Tools in E-clipse
  • Überblick über das HANA Studio (mittlerweile integriert in Eclipse ADT)
  • HANA Datenbankumstellung – Technische Änderungen/kritische Stellen
  • HANA Datenbankumstellung – Performance Optimierung und Analyse
  • Vorstellung des neuen Feature Core Data Services
  • Vorstellung des neuen Feature ABAP Management Database Procedures

Alternativ kann die PIKON Ihre Entwickler auch als Coach unterstützen und bei komplexeren Select- oder Performanceproblemen neue Ideen und Ansätze liefern.

Sie möchten mehr erfahren?

Wir sind gespannt auf Ihre Fragen – sprechen Sie uns an!

Bei Interesse melden Sie sich bei Ihrem Ansprechpartner der PIKON im Bereich Custom Development, Michael Müller.

Teil 2 der Serie: Umstellung auf HANA für Programmierer

Bildnachweise

Melpomene – Shutterstock

Teilen Sie diesen Beitrag