CAP-Projekt anlegen

Objective

After completing this lesson, you will be able to SAP-Cloud-Anwendungsprogrammiermodell-Projekt generieren

Arbeiten mit SAP Business Application Studio

Entwicklungsbereiche und Projekt-Assistent

Wie bereits erwähnt, möchten wir SAP Business Application Studio (BAS) als Entwicklungsumgebung verwenden, um CAP-Anwendungen für die Node.js-Laufzeit anzulegen. BAS bietet den Vorteil, dass alles, was wir für die Entwicklung benötigen, sofort einsatzbereit ist. Beispielsweise sind Node.js und das CDS-Entwicklungskit von CAP bereits einsatzbereit.

Sehen Sie sich das Video an, um zu erfahren, wie Sie Entwicklungsbereiche anlegen und CAP-Projekte generieren, um Anwendungen mit BAS zu entwickeln.

Kommandozeilenschnittstelle

CAP-Projekte können auch mit dem npm-Paket @sap/cds-dk angelegt werden. Dieses Paket enthält den Befehlszeilen-Client und das Development Toolkit für CAP.

@sap/cds-dk ist sofort in BAS verfügbar. Entsprechende Befehle können direkt in einem Terminal der BAS eingegeben werden. Um ein neues Terminal zu öffnen, wählen Sie TerminalNew Terminal aus dem Hamburger-Menü in der oberen linken Ecke der BAS.

@sap/cds-dk bietet Befehle für verschiedene Phasen der CAP-Entwicklung, von der Initialisierung neuer Projekte bis hin zur Bereitstellung in der Cloud. Verwenden Sie die CDS-Hilfe, um einen Überblick über alle Befehle zu erhalten. Verwenden Sie cds <helpcommand> oder cds <-Befehl? um spezifische Hilfe zu erhalten. Mit cds init kann ein neues CAP-Projekt generiert werden.

Convement-Over-Konfiguration

Minimale Konfiguration

CAP hat Standardeinstellungen für viele Dinge, die Sie in anderen Frameworks konfigurieren müssen. Ziel ist es, Dinge möglichst ohne Konfiguration funktionieren zu lassen. Bei Bedarf können Sie diese Standardeinstellungen mit einer bestimmten Konfiguration überschreiben. Sie können beispielsweise die Standardnamen für die oben genannten Ordner in der Datei package.json wie folgt überschreiben:

JSON
123456789
{ ... "cds": { "folders": { "db": "database/", "srv": "services/", "app": "uis/" } } }

Notiz

Wir empfehlen Ihnen, sich an die GAP-Konventionen zu halten, um von den Sofortmaßnahmen zu profitieren. Fügen Sie nur dann Konfigurationen hinzu oder überschreiben Sie die Standardwerte, wenn Sie dies wirklich tun müssen.

Hinweis

Mit dem Befehl cds env können Sie die effektive Konfiguration für einen bestimmten Schlüssel oder die gesamte aktuelle Umgebung im Terminal anzeigen. Wenn Sie beispielsweise cds env-Ordner im Terminal ausführen, erhalten Sie die folgende Ausgabe, wenn Sie die Standardordnernamen nicht überschrieben haben:
JSON
1
{ db: 'db/', srv: 'srv/', app: 'app/' }

Lokales Testen

Wenn Sie den Befehl cds watch im Terminal ausführen, starten Sie einen HTTP-Server im Beobachtungsmodus. Dadurch wird Ihr Projekt vor Ort zusammengestellt und bedient. Das bedeutet, dass Ihre CAP-basierte Anwendung über BAS (oder VS Code) über den bereitgestellten Server aufgerufen und getestet werden kann (siehe Abbildung „HTTP-Server starten").

Das "watch" in cds watch zeigt an, dass der Befehl kontinuierlich die Dateien des Projekts auf Änderungen überwacht. Sobald eine Änderung in den Quelldateien erkannt wurde, startet der Server automatisch neu, um diese Änderungen widerzuspiegeln. Es ist nicht erforderlich, den Server nach Änderungen manuell zu stoppen und neu zu starten.

Während der Server im Überwachungsmodus ausgeführt wird, gibt er Protokolle an die Konsole aus. Diese Protokolle können hilfreich sein, um Probleme zu erkennen, den Ablauf von Anforderungen zu verstehen und Fehler zu beheben.

Notiz

Tatsächlich ist cds watch nur ein praktischer Shortcut für:
Code Snippet
1
cds serve all --with-mocks --in-memory?

CDS-Service ausführen? im Terminal, um weitere Informationen über cds serve und die verfügbaren Optionen zu erhalten.

Die --In-Memory-Technologie? Die Option fügt automatisch eine transiente In-Memory-Datenbank hinzu, die bei jedem (Neu-)Start basierend auf den Standardeinstellungen oder der Konfiguration in package.json bootstrappt wird. Das hinzugefügte Fragezeichen wendet eine defensivere Variante an, die die konfigurierte Datenbank (sofern vorhanden) berücksichtigt und nur dann eine In-Memory-Datenbank hinzufügt, wenn keine persistente Datenbank konfiguriert ist.

Wenn cds watch ausgeführt wird, können Sie http://localhost:4004 in einem Browser öffnen, um eine generische index.html-Seite anzuzeigen. Diese Seite dient hauptsächlich zu Entwicklungs- und Testzwecken. In Produktionsszenarios wird sie in der Regel nicht exponiert oder durch eine geeignete Benutzungsoberfläche ersetzt.

Die Seite enthält eine Liste aller bereitgestellten Service-Endpunkte. Dies erleichtert Entwicklern und Testern den direkten Zugriff auf sie.

Für jeden OData-Service gibt es auch einen Link zu seinem $metadata-Dokument. Wenn Sie darauf klicken, werden die Metadaten für den Service angezeigt, die die Entitätsmengen, Typen und andere Details des Service im XML-Format beschreiben.

Für Node.js-Anwendungen gibt es auch einen SAP-Fiori-Vorschaulink auf der Seite index.html für jede exponierte Entitätsmenge. Ein solcher Link dient dynamisch einer Listenseite von SAP Fiori Elements, die auf der entsprechenden Entitätsmenge basiert. Beachten Sie, dass dies nicht für den produktiven Einsatz vorgesehen ist. Es sollte kein Ersatz für eine ordnungsgemäße SAP-Fiori-Elements-Anwendung sein.

Hinweis

Um den Serverprozess zu beenden, drücken Sie Strg+C in dem Terminal, auf dem Ihre Anwendung ausgeführt wird.

Demonstration & Übung: Eine Hello World Anwendung erstellen

Notiz

Führen Sie als Übung die Schritt-für-Schritt-Anleitung in der folgenden Demonstration selbst im SAP Business Application Studio durch.

Sie finden den Quelltext aus der Simulation im Branch 1_hello_world des folgenden GitHub-Repositorys:

https://github.com/SAP-samples/cap-development-learning-journey

Detaillierte Informationen zum Inhalt und zur Verwendung dieses Repositorys finden Sie hier.

Sehen Sie sich das Video an, um zu erfahren, wie Sie eine Hello World -Anwendung erstellen.

Nachdem wir nun wissen, wie man CAP-Projekte in einem Entwicklungsraum erstellt und CAP-Anwendungen lokal testet, lernen wir die grundlegenden CAP-Funktionen kennen.