Quantcast
Channel: Partner News
Viewing all articles
Browse latest Browse all 8007

SAP HANA 2.0: mit HANA XS mehr als „nur“ eine Datenbank nutzen

$
0
0

Wenn die Rede von SAP HANA ist, denken die meisten an eine In-Memory-Datenbank mit schnellen Analysefunktionen, die inzwischen Grundlage für zahlreiche SAP-Produkte ist. Es gibt aber eine weitere Komponente, die mehr Beachtung verdient als sie oft bekommt, und die jedem Kunden mit HANA-Datenbank zur Verfügung steht: der Hana XS Applikationsserver, der Teil der SAP-HANA-Datenbanklizenz ist und dadurch mittlerweile vielen Unternehmen zur Verfügung steht.
SAP hat in den letzten beiden Support-Package-Stacks (SPS11 und SPS12) von SAP HANA 1.0 zahlreiche Neuerungen eingebaut, die auch die wesentliche Grundlage für HANA 2.0 und kommende Neuerungen innerhalb der HANA Cloud Platform bilden. Dabei wurden vor allem Architektur und Funktionalität des HANA-Applikationsservers HANA XS erheblich erweitert, der dabei in XS Advanced umbenannt wurde.
Vollwertiger Applicationsserver für Javascript, Java und mehr

Mit XS Advanced wurde ein komplett neues Anwendungsmodell für Javascript-Anwendungen eingeführt. Dieses Anwendungsmodell basiert auf Node.JS und erlaubt die Modularisierung der Anwendung. Datenbankobjekte wie Tabellen, View, Stored Procedures auf der einen Seite und in JavaScript implementierte Anwendungslogik andererseits können als unterschiedliche Module innerhalb eines einzigen Projekts umgesetzt werden. Beim Einspielen der Anwendung auf einem HANA-System werden nicht nur die erforderlichen Datenbankobjekte angelegt, sondern es wird gleichzeitig auch die Anwendungslogik auf dem XS-Advanced-Applikationsserver bereitgestellt, ohne dass hierfür getrennte Schritte erforderlich wären.
Neben der Unterstützung von Node.JS-basierten Anwendungen kann XS Advanced auch Java-EE-Anwendungen ausführen, da er mit Apache TomEE auch einen vollwertigen Java-EE-Container enthält. Dadurch können auch existierende Java-Anwendungen auf dem XS-Advanced-Datenbankserver ausgeführt werden.
Im Rahmen von HANA 2.0 sollen künftig neben Node.JS und Java EE auch weitere Laufzeitumgebungen unterstützt werden. SAP propagiert dies unter dem Slogan „Bring your own language“. Dies wird dadurch erreicht, dass HANA XSA auf CloudFoundry aufbaut. Bei CloudFoundry handelt es sich um eine Open-Source-Plattform für den Betrieb von PaaS-Umgebungen. CloudFoundry kommt zunehmend als Grundlage der HANA Cloud Platform zum Einsatz und Teile von CloudFoundry wurden auch genutzt, um die verschiedenen Laufzeitumgebungen des XS-Advanced-Anwendungsservers zu ermöglichen – auch wenn XS Advanced keine vollständige CloudFoundry-Umgebung bereitstellt oder voraussetzt.

Isolation von Anwendungen

Einzelne HANA-XSA-Anwendungen laufen jeweils in einem eigenen Container (von SAP und innerhalb von CloudFoundry teilweise auch etwas irreführend als „Microservice“ bezeichnet). Zu einem Container gehört einerseits, dass Datenbankobjekte in einem eigenen Schema abgelegt werden, welches ohne weitere Vorkehrungen nicht für andere Anwendungen innerhalb der Datenbank sichtbar ist. Einzelne Anwendungen und ihre Datenbankobjekte sind darüber hinaus auch auf Berechtigungsebene voneinander isoliert und können nur auf einander zugreifen, falls dies explizit zugelassen wird. Jede Anwendung läuft mit einer eigenen Kopie der benötigten Laufzeit-Umgebung in einem eigenen Prozess (zur besseren Skalierung können auch mehrere Prozesse auf einem einzigen Applikationsserver gestartet werden). Durch die Prozessisolation können Probleme innerhalb eines Anwendungsprozesses die Stabilität anderer Anwendungen nicht gefährden; mindestens genauso wichtig ist aber, dass unterschiedliche Anwendungen auf demselben Applikationsserver mit unterschiedlichen Versionen der Laufzeitumgebung (z. B. verschiedenen Versionen von Node.JS) laufen können.

Getrennte Installationsmöglichkeit von Datenbankserver und Applikationsserver

Trotz der engen Integration zwischen der HANA-Datenbank und dem HANA-XS-Applikationsserver ist es mittlerweile möglich, diese auf unterschiedlichen Servern zu installieren. Dadurch kann beispielsweise kostengünstigere Hardware verwendet werden, um eine größere Anzahl von XS-Advanced-Application-Servern mit Load Balancing zu betreiben, während die Datenbank auf hoch verfügbarer Hardware läuft. Gleichzeitig zeigt diese Architekturentscheidung auch, dass der XS-Advanced-Applikationsserver inzwischen erwachsen geworden ist und dass durch die Nutzung als vollwertiger Applikationsserver für verschiedene Laufzeitumgebungen eine eigene Skalierbarkeit – unabhängig von der HANA-Datenbank – sinnvoll geworden ist.
Damit ist man natürlich auch wieder zurück bei der klassischen Drei-Schichten-Architektur aus Client, Applikationsserver und Datenbankserver. Dies hat eine gewisse Ironie, weil SAP zwischendurch versucht hatte, die „Abschaffung“ eines zusätzlichen Applikationsservers als große Vereinfachung zu propagieren. Aber das war natürlich von Anfang an nur scheinbar der Fall, weil der Applikationsserver einfach auf den gleichen Servern installiert wurde wie die Datenbank; hierzu ist man inzwischen glücklicherweise nicht mehr gezwungen. Es gibt eben doch gute Gründe, warum sich die Drei-Schichten-Architektur in dieser Form entwickelt hat.
Bei der Installation einer neuen HANA-Datenbank ist zu beachten, dass XS Advanced nur als Option angeboten wird, aber standardmäßig nur die abwärtskompatiblen „XS Classic“-Dienste installiert werden. Falls also XS Advanced verwendet werden soll, was für neue Projekte sehr ratsam ist, muss dieser explizit mitinstalliert werden.

HANA Cloud Platform und Upgrade auf Hana 2.0

Innerhalb der HANA Cloud Platform steht XS Advanced noch nicht zur Verfügung, weil SAP noch dabei ist, die Plattform auf CloudFoundry umzustellen. Es besteht aber kein Zweifel daran, dass SAP so schnell wie möglich versuchen wird, dies umzusetzen. Eine Beschäftigung mit XS Advanced ist deshalb auch dann angebracht, falls in absehbarer Zeit neue Anwendungen für die HANA Cloud Platform entwickelt werden sollen.
Auch in Vorbereitung auf die jüngst angekündigte Version 2.0 der HANA-Datenbank ergibt die Beschäftigung mit XS Advanced Sinn. Hana 2.0 führt die Verwendung des XS-Advanced-Applikationsservers weiter. Am Entwicklungsmodell für Anwendungen ändert sich dabei nichts. Support Package Stack 11 und 12 von HANA 1.0 sollen sich direkt und ohne größeren Aufwand auf HANA 2.0 aktualisieren lassen, ohne dass Änderungen am XS-Advanced-Anwendungsmodell erforderlich wären. Wer sich also Auf HANA 2.0 vorbereiten möchte, sollte sich ebenfalls mit dem XS-Advanced-Applicationsserver beschäftigen.
Ältere serverseitige Javascript-Anwendungen, die nach dem älteren Entwicklungsmodell („XS Classic“) entwickelt wurden, sollten nach und nach in das neue Entwicklungsmodell überführt werden. SAP will ältere Anwendungen für HANA XS zwar noch „für einige Support Packages“ unterstützen, macht aber auch deutlich, dass solche Anwendungen als Altanwendungen betrachtet werden und umgestellt werden sollen. Neue HANA-XS-Anwendungen sollten deshalb ausschließlich für XS Advanced entwickelt werden – für ältere HANA-XS-Classic-Anwendungen sollte eine Umstellung geplant werden, da hierbei auch Entwicklungskapazität benötigt wird.

Fazit

Die letzten beiden Support Packages von HANA 1.0 haben bringen zahlreiche Veränderungen für die Entwicklung von HANA-basierten Anwendungen. SAP hat mit XS Advanced erhebliche Verbesserungen sowohl bei der Anwendungsarchitektur als auch für die Softwareentwicklung vorgenommen.
Diese Veränderungen sind aus technischer Sicht sehr viel weitreichender als die Änderungen, die HANA 2.0 zusätzlich bieten wird. Bisher bietet HANA 2.0 vor allem zusätzliche Erweiterungen beim Load Balancing, bei der Datenmodellierung sowie bei einigen analytischen Funktionen.
Wer sich also fragt, was die Ankündigung von HANA 2.0 bedeutet, sollte sich vor allem mit XS Advanced beschäftigen. Die Tatsache, dass XS Advanced bereits in den aktuellen Support Packages von HANA 1.0 zur Verfügung steht, ist insofern günstig, weil dies eine Umstellung von existierenden Anwendungen und eine zukunftssichere Entwicklung von neuen Anwendungen ermöglicht, ohne dass dafür sofort HANA 2.0 eingeführt werden muss.


Viewing all articles
Browse latest Browse all 8007