SAP Cloud Application Programming (CAP)

Mit dem Cloud Application Programming Model (CAP) von SAP können Cloud-basierte Anwendungen ganz einfach erstellt werden. In unserem Blog-Beitrag stellen wir Ihnen CAP vor und zeigen Ihnen außerdem, wie Sie mit SAP Fiori als Ergänzung Ihre Geschäftsanwendungen entwickeln.

Das Cloud Application Programming Model (CAP) bietet verschiedene Vorteile, die eine Cloud-basierte Entwicklung vereinfachen sollen. Der Ansatz, den CAP verfolgt, ist eine Modell-basierte Entwicklung von Anwendungen. Der Kern der Entwicklung ist die Definition des vorliegenden Datenmodells. Darauf aufbauend bietet SAP CAP mit einem bereitgestellten Software Development Kit (SDK) verschiedene vordefinierte Funktionalitäten, die direkt genutzt werden können und die Entwicklung erleichtern. Mithilfe von Core Data Services (CDS) können erforderliche Services ganz einfach mit CAP generiert werden. Durch den Einsatz bzw. die Ergänzung von Fiori-Tools und Fiori-Elements kann für die UI-Generierung schnell eine vollständige Anwendung konzipiert und generiert werden.

Hinweis: Den Code aus den Bildern stellen wir Ihnen über diesen Link zum Download bereit.

Modellierung Entität

Die Modellierungssprache im CAPM (CAP Model) lautet Core Data Services (CDS). Innerhalb von CDS werden zunächst die Entitäten definiert, welche anschließend im Service verwendet werden. Eine Entität besteht aus einem eindeutigen Namen und seinen Attributen. Beispielhaft siehe Abbildung.

Mit „cuid“ wird automatisch eine ID vergeben. Möchte man eine eigene ID vergeben, wird „cuid“ weggelassen. Dann muss man ein „key“ Element als Attribut setzen. Beispiel: key ID: Integer;
Durch das Hinzufügen von „managed“ im Entitätenkopf, werden automatisch folgende Verwaltungseigenschaften hinzugefügt: CreatedAt, CreatedBy, ModifiedBy, ModifiedAt.
Ebenso ist es möglich, direkt am Attribut Regular Expressions (Eingabevalidierungen) mit „@assert.format“ festzulegen.

 

Bereitstellung Service

Das Backend für die App erhält man durch die Service-Definition in CDS Form. In jedem Service werden die zur Verfügung stehenden Entitäten gesetzt.

SAP Cloud Application ProgrammingBereitstellung Services

Deployment in der Cloud

Mit dem SAP Cloud Platform Launchpad Service ist kein extra Approuter, Deployer und Launchpad module im MTA-Projekt notwendig. Folgende Schritte sind bis hin zum Deployment notwendig:

1. Fiori Elements App auf Basis von CAP hinzufügen

Hierfür wird der Fiori Open Application Generator genutzt. Im Wizard Schritt “Data Source and Service Selection” die Option „Use a local CAP Node.js Project“ als “Data source” auswählen, um im nächsten Feld „CAP project folder path“ den Pfad zum CAP Service einzutragen.

SAP Fiori Open Application Generator

2. Hinzufügen von app/package.json

SAP CAP Hinzufügen von apppackage.json

3. Hinzufügen von app/ui5.yaml

SAP CAP Hinzufügen von appui5.yaml

4. Hinzufügen von app/xs-app.json

SAP CAP Hinzufügen von appxs-app.json

5. Anpassung von app/manifest.json

Das Präfix „/“ muss im Servicepfad gelöscht werden:

SAP CAP Anpassung von appmanifest.json 1

CrossNavigation wird hinzugefügt:

SAP CAP Anpassung von appmanifest.json 2

sap.cloud Service wird hinzugefügt:

6. Erstellung mta.yaml

Eine ausprogrammierte mta.yaml Datei übernimmt alle notwendigen Deployment-Schritte:

SAP CAP Erstellung mta.yaml

7. Durchführung des Deployments

SAP CAP Durchführung des Deployments

Definition UI mit Annotations

Im CAP Modell kann eine UI-Ansicht schnell und einfach mittels Annotations erzeugt werden. Folgende Worklist Object Page kann im CAPM erzeugt werden:

UI mit Annotations

UI Mit Annotations 2

Mithilfe der Annotations wird die UI generiert. Es wird gesteuert welche Felder, Ansichten und Anordnung das UI hat. Im Falle der Worklist sieht es folgendermaßen aus:

SAP CAP Definition UI mit Annotations

Freestyle App Development + Deployment

Statt nur mit Annotations eine Fiori Element Applikation zu kreieren, besteht die Möglichkeit, eine komplett flexible SAPUI5 Applikation zu bauen, welche die zuvor erstellten CAP Services als Backend-Datenanbindung nutzt. Hierfür kann der SAP Fiori Freestyle SAPUI5 Generator im Business Application Studio verwendet werden. Da dieser nur OData v2 akzeptiert, muss zusätzlich ein OData v2 Proxy zum Projekt hinzugefügt werden. Im Nachgang wird aber die App manuell auf OData v4 umprogrammiert, weil die deployten Apps über das SAP Cloud Platform Launchpad Service nicht mit OData v2 funktionieren.

1. Hinzufügen vom OData v2 Proxy

Installiere @sap/cds-odata-v2-adapter-proxy

SAP CAP Hinzufügen vom OData v2 Proy 1

Erstelle srv/server.js

SAP CAP Hinzufügen vom OData v2 Proy 2

2. Installation Generator

Im Explore and Install Generators… Modus nach „@SAP“ suchen. Die Komponente Freestyle auswählen und installieren.

3. Generierung App

Fiori: Open Application Generator starten und SAP Fiori freestyle SAPUI5 application anklicken. Als Datenquelle Connect to an OData Service auswählen und den deployten CAP Service Link aus dem SAP Cockpit, erweitert um das Infix „/v2/“, einfügen. Dann die Hauptentität noch am Ende der URL einfügen. Beispiel-URL:

SAP CAP Hinzufügen vom OData v2 Proy 3

Nun kann die App per UI5 ausprogrammiert werden.

4. Anpassung der App fürs Deployment

Analog zum Abschnitt Deployment in die Cloud müssen folgende Zusatzschritte durchgeführt werden:

1.      Anpassung app/manifest.json

  • DataSource anpassen:

SAP CAP Anpassung der Apps 1

  • in „models“ den Parameter „synchronizationMode“: „None“ hinzufügen:

2.  Anpassung app/index.html

  • Quellpfad der sap-ui-core.js Ressource ändern:

SAP CAP Anpassung der Apps 4

3. Anpassung app/Component.js

  • AppComponent durch UIComponent ersetzen:

SAP CAP Anpassung der Apps 5

Hinweis: Den Code aus den Bildern stellen wir Ihnen über diesen Link zum Download bereit.

Launchpad

Der Services Cloud Portal Service mit integriertem Launchpad stellt die zentrale Zugriffsplattform für Endnutzer auf bereitgestellten Applikationen zur Verfügung. Durch das Deployment der App wird sie im HTML5 Repository hochgeladen, auf welches der Portal Service Zugriff hat. Über das Portal wird dann das gesamte Launchpad konfiguriert und die Apps über das HTML5 Repository hinzugefügt.

Ein beispielhaftes Launchpad:

SAP CAP Launchpad

Der Content-Provider, worüber die deployten Apps eingebettet werden:

SAP CAP Launchpad 2

Der Content Explorer, um einzelne Apps zum Launchpad hinzuzufügen:

SAP CAP Launchpad 3

Standard-Konfigurationsmöglichkeiten der Launchpad Website:

SAP CAP Launchpad 4

Sie möchten mehr über das Thema Cloud Application Programming und insbesondere SAP Fiori erfahren? In unserem Beitrag SAP Fiori: Design, Develop and Deploy erfahren Sie, wie Sie die User Experience (UX) ganz einfach erhöhen und intuitiv Applikationen erstellen.

Seien Sie der erste, der diesen Beitrag teilt!
Letzte Artikel von Reza Nazeman (Alle anzeigen)

Reza Nazeman

Reza Nazeman arbeitet als SAP UI Developer bei der CONET Business Consultants GmbH.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.