Festlegen des Umfangs

Objective

After completing this lesson, you will be able to den Schwerpunkt der Learning Journey beschreiben

Abzudeckende Themen

In dieser einführenden Lernreise werden wir uns auf spezifische Aspekte der GAP konzentrieren, anstatt alle Aspekte abzudecken. Der Übersichtlichkeit halber werden wir uns jedoch auf folgende Themen konzentrieren:

  • Node.js als Laufzeitumgebung
  • Service-SDKs
  • SAP Business Application Studio als Entwicklungswerkzeug
  • Core Data Services (CDS)
  • SQLite als Datenbank

Sehen wir uns die Details zu den einzelnen Themen an.

Wählen Sie eine Laufzeitumgebung

CAP unterstützt Node.js und Java als Laufzeiten. Beide Umgebungen bieten einzigartige Vorteile und decken unterschiedliche Entwicklungspräferenzen und -szenarien ab. Die Auswahl sollte auf den Projektanforderungen, dem Team-Know-how und dem spezifischen Anwendungsfall basieren. Da Node.js häufiger verwendet wird, werden wir diese Laufzeit in dieser Learning Journey besprechen.

Informationen zum CAP Service SDK für Java finden Sie in der CAP-Dokumentation.

Wählen Sie ein Entwicklungstool

Sowohl Visual Studio Code (VS Code) als auch SAP Business Application Studio (BAS) können für die CAP-Anwendungsentwicklung verwendet werden.

VS Code ist ein einfacher, erweiterbarer und allgemeiner Code-Editor, der von Microsoft entwickelt wurde, während BAS eine Entwicklungsumgebung von SAP ist, die speziell auf die Entwicklung von Anwendungen auf der SAP Business Technology Platform (BTP) zugeschnitten ist.

VS Code läuft lokal auf dem Rechner des Entwicklers und muss um verschiedene Plugins erweitert werden, um CAP-Entwicklungsanforderungen zu erfüllen. Entwickler müssen bestimmte Erweiterungen und Werkzeuge manuell verwalten und aktualisieren, um CAP-Entwicklungsfunktionen zu aktivieren. Wenn Entwickler jedoch CAP-Anwendungen mit VS Code entwickeln möchten, müssen sie nicht nur sicherstellen, dass VS Code installiert und entsprechend eingerichtet ist. Außerdem müssen sie sicherstellen, dass andere Dinge, die für die Entwicklung erforderlich sind, lokal installiert sind, z.B. Node.js, Git, SQLite, Java, Maven und das CDS-Entwicklungskit von CAP.

Im Gegensatz dazu ist BAS eine Cloud-basierte Entwicklungsumgebung, die auf BTP ausgeführt wird. Sie bietet vorkonfigurierte Entwicklungsumgebungen (Dev Spaces), die auf bestimmte SAP-Szenarien, einschließlich CAP, zugeschnitten sind. BAS bietet sofort einsatzbereite Integrationen mit SAP-Werkzeugen und -Services, um eine nahtlose Entwicklung von SAP-Lösungen sicherzustellen. Dazu gehören Werkzeuge zum Modellieren, Testen und Deployment von CAP-Anwendungen. Als Managed Cloud Service werden Updates und Erweiterungen für BAS von SAP angewendet, um sicherzustellen, dass die Umgebung immer auf dem neuesten Stand ist.

Die Wahl zwischen den beiden Entwicklungsumgebungen hängt häufig von individuellen oder organisatorischen Präferenzen, der Kenntnis der Tools und spezifischen Projektanforderungen ab. In dieser Learning Journey werden wir BAS verwenden, da sie sofort für die CAP-Entwicklung ohne zusätzliche Installationen oder Konfigurationen verwendet werden kann. Informationen zum Einrichten einer lokalen Umgebung basierend auf VS Code für die CAP-Entwicklung finden Sie in der CAP-Dokumentation.

Core Data Services (CDS) verwenden

Innerhalb von CAP fungiert CDS als Rückgrat für die Definition, Erweiterung und Interaktion mit Daten und Services. Es ist daher auch ein wesentlicher Bestandteil dieser Lernreise.

CDS ist in erster Linie eine Datenmodellierungssprache. Sie ermöglicht Entwicklern, Datenstrukturen, ihre Beziehungen und andere relevante Semantiken zu definieren, um eine klare Darstellung des zugrunde liegenden Datenmodells zu ermöglichen.

Neben der Definition von Datenmodellen ermöglicht CDS auch die Definition von Services. Das bedeutet, dass Entwickler in CDS-Definitionen direkt angeben können, wie auf Daten von Services zugegriffen und diese verarbeitet werden.

Basierend auf CDS-Definitionen kann CAP automatisch Teile der Anwendung generieren, einschließlich Datenbankschemas, OData-Services und sogar Teile der Anwendungslogik. Dies beschleunigt den Entwicklungsprozess erheblich.

Datenbank auswählen

Ähnlich verhält es sich mit der Datenbank. Im Produktivbetrieb wird SAP HANA Cloud als Datenbank empfohlen. Die leichtgewichtige In-Memory-Datenbank SQLite kann jedoch während der Entwicklung zum Testen ausgewählt werden.

Das bedeutet, dass Sie Ihre CAP-Anwendung einfach mit einer lokalen Datenbank und Mock-ups entwickeln können.

Irgendwann werden Sie jedoch mit echten Cloud-Services testen wollen. Zu diesem Zweck können Sie Ihre Anwendung immer in der Cloud implementieren. CAP unterstützt jedoch auch hybride Testoptionen, was bedeutet, dass Sie in Ihrer lokalen Entwicklungsumgebung bleiben und die langen Durchlaufzeiten der Cloud-Bereitstellung vermeiden können, und Sie können selektiv entscheiden, welche Services Sie aus der Cloud verwenden möchten.

CAP stellt Konfigurationsprofile für diesen Ansatz bereit, z.B. Entwicklung, Produktion und Hybrid, um Einstellungen für verschiedene Umgebungen bereitzustellen. Sie können zwischen der lokalen Mock-Konfiguration und der Cloud-Service-Konfiguration wechseln, indem Sie einfach das entsprechende Konfigurationsprofil verwenden – ohne Änderungen an Modellen oder Code.

In dieser Learning Journey beschränken wir uns auf die Arbeit mit der lokalen Datenbank SQLite und mit Mockups für Plattformservices, um den Umfang der Schulung nicht zu überschreiten. Informationen zum hybriden Testen finden Sie in der CAP-Dokumentation. Dort finden Sie auch Informationen darüber, wie Sie eine CAP-Anwendung für die Produktion vorbereiten und in verschiedenen Laufzeitumgebungen (z.B. SAP BTP Cloud Foundry oder Kyma-Laufzeit von SAP BTP) deployen.

Weitere Aspekte der GAP

CAP-Unterstützung für SAP Fiori Elements

CAP bietet sofort einsatzbereite Unterstützung für Benutzungsoberflächen, die auf SAP Fiori Elements basieren. SAP Fiori Elements ist eine Sammlung gängiger Anwendungsmuster und UI-Elemente, die auf dem SAPUI5-Framework basieren. Das Hauptziel von SAP Fiori Elements besteht darin, eine konsistente und optimierte Benutzererfahrung über alle SAP-Anwendungen hinweg zu bieten und den Entwicklungsprozess zu beschleunigen, indem vordefinierte Vorlagen für die gängigsten Anwendungsmuster verwendet werden. SAP Fiori Elements entsprechen den Design-Richtlinien für SAP Fiori.

Die UIs werden zur Laufzeit basierend auf Metadatenannotationen generiert, die vom Entwickler bereitgestellt werden. Es ist kein zusätzlicher JavaScript-Quelltext erforderlich.

Die Definition solcher Schnittstellen in einem CAP-Projekt geht über den Rahmen dieser Learning Journey hinaus und wird daher hier nicht weiter besprochen. Informationen zum Hinzufügen einer oder mehrerer SAP-Fiori-Elements-Anwendungen zu einem CAP-Projekt, zum Hinzufügen von SAP-Fiori-Elements-Annotationen zu den entsprechenden Service-Definitionen und mehr finden Sie in der CAP-Dokumentation.

CAP-Unterstützung für Projektgenerierung und vereinfachte Entwicklung

Mit CAP können Sie Projekte innerhalb von Sekunden starten. Zu diesem Zweck bietet es Mocks für viele Plattformfunktionen, die schnelle Entwicklungstestlaufzyklen mit minimaler Komplexität der Entwicklungsumgebung ermöglichen.

In der Produktion wird beispielsweise ein entsprechender Service der Plattform für die Benutzerauthentifizierung und -berechtigung verwendet. Während der Entwicklung kann jedoch eine verspottete Authentifizierung eingesetzt werden. Ebenso vereinfacht CAP Integrationsszenarios, indem ein API einfach aus z.B. einem SAP-S/4HANA-Backend importiert und lokal Mocks dafür ausgeführt wird.

Nachdem wir nun ein grundlegendes Verständnis des SAP-CAP-Frameworks gewonnen haben, möchten wir ein neues CAP-Projekt mit SAP BAS erstellen.