インフォメーション

エスプレッソチュートリアルの国際ウェブサイトにアクセスしています。日本語のウェブサイトに移動しますか?

Cloud-Entwicklung in SAP HANA

Cloud-Entwicklung in SAP HANA

の一部である:

言語

ドイツ語

ページ

228

エディション

1

レベル

ビギナー

国際標準図書番号

9783960120445

ISBNプリント

9783960120162

電子書籍

またはすべてのコンテンツにアクセスする

定額料金

$19 月あたり

  • シングルライセンス
  • 1000以上の電子ブックとビデオチュートリアル
  • インスタント・アクセス
  • 12ヶ月($228年間)
  • 自動更新

詳細

Entdecken Sie im vorliegenden Praxishandbuch, welche Möglichkeiten die SAP-HANA-Plattform für eine moderne, cloudbasierte Softwareentwicklung bietet. Neben Technologieaspekten und Konzepten wie »Cloud-native«-Softwareentwicklung oder Microservices-basierte Architekturen werden Sie die relevanten Programmiersprachen, Prozesse und Tools im SAP-Kontext kennenlernen.

In unterschiedlichen Anwendungsszenarien veranschaulicht der Autor die Bedeutung der auf der Cloud Foundry basierten Platform-as-a-Service-(PaaS-)Lösung und zeigt Strategien auf, wie die XSA-Architektur in Unternehmen zu etablieren ist. Grundlage für die Entwicklung bilden neben dem XSA-Programmiermodell die Multi-Target Applications (MTA). Anhand eines übergreifenden MTA-Projekts mit mehreren Modulen werden Ihnen die beschriebenen Programmiersprachen und Technologien gegliedert in die Bereiche »Oberflächen«, »Prozesse« und »Datenbank«, nähergebracht.

Der Autor hat in diesem Buch Erfahrungen aus diversen Entwicklungsprojekten auf Basis der SAP-HANA-Plattform verarbeitet. Er richtet sich damit insbesondere an Software-Architekten mit einem technischen Grundverständnis und Interesse an moderner Entwicklung im SAP-Umfeld. Die aufgeführten Beispiele der jeweiligen Programmiersprachen werden über ein öffentliches GitHub-Repository zur Verfügung gestellt, um die Technologien direkt ausprobieren zu können.


  • Einstieg in die cloudbasierte Softwareentwicklung
  • SAP-HANA-XSA-Plattform für eigene Softwareprojekte verwenden
  • Entwickeln mit HANA CDS, Java, Node.js, Python und SAPUI5
  • inklusive vollständiger MTA-Beispielanwendung

読書例

2.2 Extended Application Services Classic

Wie bereits in der Einleitung beschrieben, wurde der Bedarf an einem leichtgewichtigen Web-Anwendungsserver in Verbindung mit der HANA-Datenbank sehr früh erkannt. Dieser erweiterte Funktionsumfang der Plattform war aus zwei Gründen wichtig: Zum einen konnte die SAP auf diesem Weg zusätzliche Plattform-Funktionen, wie beispielsweise die Generierung von OData-Schnittstellen, direkt auf dem Datenbanksystem zur Verfügung stellen. Zum anderen verhalf er Kunden dazu, die Datenbank auch für Eigenentwicklungen zu nutzen, ohne weitere Infrastrukturkomponenten aufbauen zu müssen.

XSC und XS Engine

Zum Zeitpunkt der Veröffentlichung der XSC wurde noch nicht zwischen Classic und Advanced unterschieden. Die Extended Application Services wurden anfangs als »XS Engine« bezeichnet. Erst mit der Einführung der »Advanced«-Variante (XSA) wurde die XS Engine in XSC umbenannt.

Mit der SAP HANA XS Engine musste kein separater Applikationsserver ergänzend zur Datenbank betrieben werden. Alle Komponenten standen in einem einzigen System und mit nur einer Installation direkt zur Verfügung.

2.2.1 XSC-Architektur

In Abbildung 2.5 erhalten Sie eine Übersicht über die Architekturen mit und ohne XS Engine.

SAP HANA Cloud

Abbildung 2.5: Datenbankarchitektur mit und ohne integriertem Applikationsserver

Bei der Architektur ohne XS Engine (linke Seite) müssen Anwendungen mithilfe von speziellen Treibern (HANA Client Library) auf die Datenbank zugreifen.

Die XS Engine als Eigenentwicklung der SAP wurde mit dem Release HANA 1.0 SPS 05 eingeführt. Technisch betrachtet ist sie ein JavaScript-Applikationsserver, der auf der SpiderMonkey Engine von Mozilla basiert. Der XS-Engine-Prozess ist ein eigenständiger Prozess innerhalb der HANA-Datenbank, der allerdings direkt mit dem Index-Server verbunden ist.

2.2.2 XSC-basierte Softwareentwicklung

Für kundenindividuelle Entwicklungen auf der Basis von XSC kam das SAP-eigene XSJS (XS JavaScript) zum Einsatz, welches auf einer serverseitigen JavaScript-Technologie basiert. Für die Kommunikation der XSJS-Anwendung mit der Datenbank wurden diverse JavaScript-APIs angeboten. Neben der Anwendungslogik in XSJS erfolgte die Entwicklung von Benutzeroberflächen mittels SAPUI5 sowie von Datenbankfunktionen mittels SQLScript. Auf diesem Weg konnten vollständige Anwendungen basierend auf dem Softwarearchitektur-Ansatz Model View Controller entwickelt werden.

Wichtig zu erwähnen ist, dass alle Entwicklungselemente direkt im SAP HANA Repository abgelegt wurden. Da das HANA Repository ein integrierter Bestandteil des Index-Servers ist, ähnelte das Entwicklungsvorgehen dem im ABAP-Umfeld verwendeten Verfahren sehr. Der gesamte Quellcode lag in dem Laufzeitsystem und wurde nicht extern verwaltet. Die Entwicklung erfolgte mittels Web Development Workbench, einer webbasierten Entwicklungsumgebung – nicht zu verwechseln mit der neueren Web IDE, die für Entwicklungen in der XSA-Umgebung eingesetzt wird.

Seit dem Release HANA 2.0 SPS 02 werden Eigenentwicklungen auf Basis des Classic-Modells von der SAP nicht mehr empfohlen, da seit HANA 1.0 SPS 11 die XSA als Nachfolgetechnologie zur Verfügung steht. Des Weiteren hat die SAP die XSC als »deprecated« eingestuft. Das bedeutet, dass diese Komponente nicht weiterentwickelt wird und Kunden mittelfristig keinen Support mehr erhalten werden. Details hat die SAP in dem Hinweis 2465027 »Deprecation of SAP HANA extended application services, classic model and SAP HANA Repository« veröffentlicht. Eigenentwicklungen, die Kunden auf der Basis von XSC entwickelt haben, können migriert und auch weiterhin in der XSA als Node.js-Anwendung betrieben werden. Für die Migration hat SAP einen ausführlichen Migrationsleitfaden zur Verfügung gestellt.

SAP-XS-Migrationsleitfaden

Sie finden den Leitfaden im SAP Help Portal https://help.sap.com/ durch Eingabe des Titels »SAP HANA XS Advanced Migration Guide« im Suchfeld der Startseite.

Trotz der Empfehlung der SAP, die XSC nicht mehr für Eigenentwicklungen einzusetzen, halte ich den zuvor gegebenen Überblick auch aktuell noch für wichtig, denn gerade bei der Recherche zu HANA-Funktionen werden Sie immer wieder auf Referenzen und Anleitungen stoßen, die auf den Funktionsumfang der XSC ausgelegt sind. Nicht immer sind diese klar als solche gekennzeichnet. Für die Planung Ihrer eigenen Entwicklungen ist die technologische Grundlage ein wichtiger Aspekt, um zu entscheiden, ob eine bestimmte Komponente verwendet werden sollte oder nicht.

XSC-Komponente SAP HANA Rules Framework

Dieses noch heute verfügbare Framework zur Erstellung und Ausführung von Geschäftsregeln wurde auf der Basis von XSC entwickelt. Die SAP verzichtete auf eine Neuentwicklung basierend auf XSA, da bereits ein cloudbasiertes Tool der SAP existiert (SAP Business Rules Service), das für diesen Zweck genutzt werden kann. Für die XSA wird lediglich eine Komponente zur Verfügung gestellt, die den Cloud-Service referenziert. Einen Einsatz des HANA Rules Framework auf der Basis von XSC sollten Sie gut abwägen, denn es gibt weder eine Weiterentwicklung noch einen langfristigen Support.

2.2.3 Praxisbeispiel: Eigenentwicklung mit den Extended Application Services

Die Strategie des integrierten Applikationsservers innerhalb der Datenbankplattform wurde vom Markt sehr gut angenommen. Viele SAP-Kunden mussten sich zwangsläufig, der SAP-Datenbankstrategie folgend, mit dem Thema »HANA-Datenbank« näher befassen und begannen, diese als Datenbank für die Business-Suite-Systeme in ihre Landschaft einzubinden. Da sie mit ihren integrierten Engines gleichzeitig für Entwicklungen außerhalb des ABAP-Stacks von Interesse war, beschäftigten sich zunehmend auch die Entwicklungsteams mit der HANA-Technologie.

An dieser Stelle möchte ich Ihnen ein Beispiel aus der Praxis geben, das den Mehrwert der Extended Application Services verdeutlicht:

Ein Entwicklerteam wurde mit der Spezifikation einer Anwendung beauftragt, die geografische Aspekte mit verschiedenen Geschäftskennzahlen in Verbindung setzen sollte. Das Team begann damit, eine passende Lösung für die Problemstellung zu suchen. Da die Kennzahlen in einem SAP-System lagen, bei dem die Daten bereits auf die HANA-DB migriert waren, wurde zunächst eine Schnittstelle zur Anbindung dieser Daten spezifiziert. Bei den Diskussionen zu dieser Schnittstelle kam heraus, dass die HANA-Datenbank nicht nur bereits alle benötigten Kennzahlen beinhaltete, sondern alternativ auch für die Verknüpfung mit den geografischen Daten verwendet werden konnte. Daraufhin wurde der Funktionsumfang der Spatial Engine der HANA-Plattform genauer analysiert, und die Experten waren mit den Analyseergebnissen sehr zufrieden. Also hatte man bereits zwei Bausteine der Lösung, die innerhalb der HANA-Datenbank abgebildet werden konnten.

Anschließend wurde die Frage betrachtet, ob man nicht die XS Engine nutzen könne, um die zusätzlich benötigte Anwendungslogik zu implementieren. Da bei der Analyse keine Showstopper gefunden wurden, entschieden sich die Projektmitglieder, die Entwicklung der Anwendungslogik auf dieser Engine durchzuführen. Die beauftragte Anwendung wurde also komplett als native HANA-Applikation entwickelt – und erfüllte ihren Zweck. Allerdings war die ausschließliche Nutzung von XSJS für die Anwendungslogik nicht ganz optimal. Dies hatte folgende Gründe:

  • Zu Beginn des Projekts gab es niemanden, der sich mit der XSJS-Sprache gut auskannte. Die Entwickler waren entweder Experten in Spatial-Themen oder kannten sich eher mit Java oder ABAP aus.
    Da das Team klein war, wurde nach der Methode »Learning by doing« begonnen. Nach dem einen oder anderen Stolperstein wurde auch der mit der XS Engine entwickelte Teil der Anwendung erfolgreich umgesetzt. Aber die Entwicklung dauerte länger, da das fehlende Know-how erst aufgebaut werden musste.
  • Die XS Engine war zu eng mit den HANA-Prozessen verwoben. Abstürze der Anwendung konnten zur Folge haben, dass das gesamte HANA-System in Mitleidenschaft gezogen wurde. Zusätzlich konnte die XS-Classic-Umgebung nicht unabhängig von den HANA-Prozessen skaliert werden. Eine Skalierung hätte den gesamten Stack betroffen, also auch die übrigen HANA-Prozesse. Wünschenswert wäre eine unabhängige Skalierung der XS Engine gewesen.

Neben diesen Hauptkritikpunkten zur XS Engine wurden noch zwei weitere Aspekte angeführt:

  • Es arbeiteten noch andere Entwicklungsprojekte auf derselben Engine. Die Projekte konnten daher zur Laufzeit nicht entkoppelt werden.
  • Wenn mehr als ein Entwickler eine Datei editieren wollte, kam es immer wieder zu Problemen. Daher wurde der Entwicklungsprozess innerhalb der Teams kritisiert.

Das abschließende Projektfeedback fiel trotz der Kritikpunkte sehr gut aus. Der direkte Zugriff auf die Kennzahlen und die leicht zu nutzende Spatial Engine wurden als sehr positiv angesehen. Nur die Umsetzung des integrierten Applikationsservers wurde aus den zuvor genannten Gründen bemängelt.

So oder so ähnlich haben vermutlich viele Kunden ihre Erfahrungen gesammelt und der SAP mitgeteilt.

Das Unternehmen reagierte und veröffentlichte mit der HANA-Version 1.0 SPS 11 die erste Fassung der XS Advanced (XSA). Mit dieser Anpassung wurde nicht nur ein Update für die XS-Umgebung ausgerollt, sondern ein Richtungswechsel vollzogen. Im Vergleich zu ihrem klassischen Vorgänger zeigte sich die XS Engine in der »Advanced«-Variante als komplett neue und vollumfängliche Applikationsplattform. Zudem endete der Weg einer eigenen JavaScript-Sprache. Anstelle von XSJS wurde nun ein umfangreiches Set an Sprachen unterstützt.

レーティング

  • B. Wayne

    05.02.2022

  • -. -

    30.08.2021

    Gut auf den Punkt gebracht Das Buch "Cloud-Entwicklung in SAP HANA" gibt eine gute Übersicht über die Möglichkeiten, die eine SAP HANA den Entwicklern bietet. Es wird das Full-Stack-Development betrachtet und mit einfach verständlichen Beispielen eine mögliche Software-Architektur aufgezeigt. Die kleinen Teile der Beispielappllikation erstrecken sich in Form von Microservices über verschiedenste Technologien. Zusätzlich zur Entwicklung wird auch das Lifecycle Management der Anwendungen betrachtet. Eik Sunke schafft es mit einfach verständlichen Worten die komplexe Architektur einer HANA zu beschreiben und holt seine Leser auf verschiedenen Wissensstufen gut ab. Daher ist aus meiner Sicht das Buch für jeden geeignet, der sich einen Überblick über die Möglichkeiten verschaffen möchte, um dann aus dem Pool der Möglichkeiten die auf seine Anwendungen bzw. Anforderungen passenden Technologien einzusetzen und das Gelernte zu adaptieren.

頻繁によくある質問

学習コンテンツに関する一般的な質問と回答

学習コンテンツはどのような人に適しているか?

学習コンテンツは、SAPの知識をシンプルかつコンパクトに、そして実践的な方法で身につけたいと考えているすべての人のためにデザインされています。当社の学習プラットフォームは、初心者、上級者、エキスパート向けのコンテンツを提供しています。これにより、段階的に知識を深め、SAPエキスパートになるためのスキルを継続的に向上させることができます。

学習コンテンツは何が特別なのか?

書籍、ビデオ、オンライントレーニングなど、SAP の製品は SAP の知識を簡潔かつ実践的に提供します。SAPの関連トピックを幅広くカバーし、4ヶ国語で高品質のコンテンツを提供し、個々のニーズに合わせた学習形式を採用しています。

他のプロバイダーとの違いは何ですか?

当社の書籍は、明確な実践的フォーカスとコンパクトで理解しやすい表現が特徴です。複雑なSAPのトピックを簡潔に説明し、不必要なマーケティング用語を排除することで、読者が本質を素早く理解し、新しい知識を直接活用できるようにしています。

製品の交換は可能ですか?

当社の印刷書籍は14日以内であれば、元の状態で返品可能です。

ドイツ国外で本を注文するには?

現在、書籍の発送はドイツ国内のみとさせていただいております。ドイツ国外からご注文の場合は、アマゾンでのご購入をお勧めします。

また、月額19ドルからのデジタル購読で、すべてのコンテンツにアクセスすることもできます。

質問がある場合はどこに連絡すればよいですか?

私たちのチームはいつでも喜んでお手伝いし、できる限り迅速にご質問にお答えします(通常1~2日以内)。また、著者の一人に質問がある場合もご連絡ください。電子メール:contact@espresso-tutorials.com