Kopecz | Anwendungsentwicklung auf der SAP Cloud Platform | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 423 Seiten

Reihe: SAP Press

Kopecz Anwendungsentwicklung auf der SAP Cloud Platform

Das SAP Cloud Application Programming Model
1. Auflage 2020
ISBN: 978-3-8362-8261-1
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Das SAP Cloud Application Programming Model

E-Book, Deutsch, 423 Seiten

Reihe: SAP Press

ISBN: 978-3-8362-8261-1
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Über dieses Buch

Ob Erweiterungen für SAP-Cloud-Lösungen oder eigenständige Anwendungen auf der SAP Cloud Platform – dieses Buch macht Ihnen die Entwicklung leicht! Klaus Kopecz zeigt Ihnen, wie Sie mit dem SAP Cloud Application Programming Model (CAP) im Handumdrehen Ihre erste eigene Cloud-Anwendung erstellen . Von der Anlage des Daten- und Servicemodells bis zur produktiven Anwendung werden Sie durch alle erforderlichen Schritte geführt.

Aus dem Inhalt:

  • Was ist das SAP Cloud Application Programming Model (CAP)?
  • Entwicklung in Visual Studio Code
  • Daten- und Servicemodellierung mit CDS
  • Ereignisbehandlerroutinen mit Node.js
  • Anbindung von SAP-Fiori-Oberflächen
  • Globalisierung
  • Authentifizierung und Autorisierung
  • Application Programming Interfaces (APIs)
  • Deployment auf der SAP Cloud Platform
  • Zugriff auf SAP HANA und andere Services der SAP Cloud Platform
Kopecz Anwendungsentwicklung auf der SAP Cloud Platform jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material




  Einleitung ... 17




TEIL I  Einführung ... 25



  1.  Einführung in das SAP Cloud Application Programming Model ... 27


       1.1 ... Die SAP Cloud Platform ... 28

       1.2 ... Was ist das SAP Cloud Application Programming Model? ... 31

       1.3 ... Nächste Schritte ... 44



  2.  Erste Schritte zur eigenen Anwendung ... 45


       2.1 ... Aufbau einer lokalen Entwicklungsumgebung ... 46

       2.2 ... CDS-Editor ... 60

       2.3 ... »Hallo CAP«-Service ... 62

       2.4 ... CDS Command Line Interface ... 72

       2.5 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 74




TEIL II  Anwendungsentwicklung ... 77



  3.  Start des Entwicklungsprojekts ... 79


       3.1 ... Modell eines Produktkatalogs ... 79

       3.2 ... Entwicklungsprojekt anlegen ... 82

       3.3 ... Domänenmodell anlegen ... 86

       3.4 ... Die Serviceschicht ... 89

       3.5 ... Datenabfragen ... 92

       3.6 ... Testen mit einem HTTP-Client ... 94

       3.7 ... Debuggen einer Service-Implementierung ... 103

       3.8 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 108



  4.  Core Data Services für CAP im Detail ... 111


       4.1 ... CDS als Familie von Modellierungssprachen ... 112

       4.2 ... Entitäten und Views ... 116

       4.3 ... Assoziationen und Kompositionen ... 119

       4.4 ... Typen in CDS ... 122

       4.5 ... Weitere Eigenschaften von Elementen ... 126

       4.6 ... Die CDS Query Language ... 126

       4.7 ... Namensräume ... 131

       4.8 ... Referenzen auf Modelle ... 132

       4.9 ... Annotationen ... 135

       4.10 ... Services ... 143

       4.11 ... Aspekte ... 148

       4.12 ... Lokalisierung ... 151

       4.13 ... Lokalisierte Daten ... 156



  5.  Weiterentwicklung zur produktiven Anwendung ... 159


       5.1 ... Wiederverwendung von Typen und Aspekten ... 160

       5.2 ... Implementierung der Rolle des Katalognutzers ... 169

       5.3 ... Konfiguration ... 174

       5.4 ... Authentifizierung und Autorisierung ... 185

       5.5 ... Entwurf eines UIs mit SAP Fiori Elements ... 194

       5.6 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 205



  6.  Das CDS API für Node.js ... 209


       6.1 ... CAP-Laufzeit = Services + Events ... 210

       6.2 ... Exponieren von Services ... 212

       6.3 ... Behandeln von Ereignissen ... 214

       6.4 ... Konnektivität zu Services ... 218

       6.5 ... Konsumieren von Services ... 220

       6.6 ... Das Request-Objekt ... 223

       6.7 ... Konstruktion von CQN-Objekten ... 226

       6.8 ... Modellverarbeitung ... 228




TEIL III  Deployment auf die SAP Cloud Platform ... 231



  7.  Deployment-Umgebung auf der SAP Cloud Platform anlegen ... 233


       7.1 ... Anlegen eines Trial-Accounts ... 235

       7.2 ... Subaccounts mit Cloud-Foundry-Umgebung ... 238

       7.3 ... Einführung in die Arbeit mit Cloud Foundry ... 241

       7.4 ... Deployment einer Cloud-Foundry-Applikation ... 248

       7.5 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 261



  8.  SAP-Anwendungsarchitektur in der Cloud-Foundry-Umgebung ... 263


       8.1 ... Geschäftsanwendung als Summe spezialisierter Services ... 264

       8.2 ... Authorization and Trust Management ... 268

       8.3 ... Application Router ... 271

       8.4 ... Webserver für das SAP-Fiori-UI ... 279

       8.5 ... Was haben Sie in diesem Kapitel erreicht? ... 287



  9.  Anbindung an SAP HANA ... 289


       9.1 ... SAP-HANA-Datenbankinstanz anlegen ... 291

       9.2 ... Anbindung von SAP HANA an die lokale Entwicklungsumgebung ... 294

       9.3 ... SAP HANA Deployment Infrastructure ... 304



10.  Hybride Entwicklung ... 311


       10.1 ... Die Technik der hybriden Entwicklung ... 313

       10.2 ... Anbindung des lokalen CAP-Servers an SAP HANA ... 317

       10.3 ... Authorization and Trust Management Service konfigurieren und anbinden ... 318

       10.4 ... Was Sie in diesem Kapitel erreicht haben ... 333



11.  Deployment der Geschäftsanwendung ... 335


       11.1 ... Der CAP-Build-Prozess ... 336

       11.2 ... Deployment mittels Cloud-Foundry-Manifest ... 341

       11.3 ... Deployment als Multitarget Application ... 349

       11.4 ... Was Sie in diesem Kapitel erreicht haben ... 366




TEIL IV  Integration mit SAP-Produkten und -Services ... 367



12.  Das SAP Business Application Studio ... 369


       12.1 ... Vor der Nutzung ... 371

       12.2 ... CAP im SAP Business Application Studio ... 377

       12.3 ... Was Sie aus diesem Kapitel mitnehmen sollten ... 381



13.  Integration mit SAP-Lösungen ... 383


       13.1 ... SAP Cloud Platform Connectivity ... 384

       13.2 ... SAP Cloud Platform Enterprise Messaging ... 386

       13.3 ... Externe Services an eine CAP-Anwendung anbinden ... 388

       13.4 ... Ereignisse senden und verarbeiten mit CAP ... 397

       13.5 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 401



14.  Problembehandlung ... 403


       14.1 ... Installieren von npm-Paketen schlägt fehl ... 403

       14.2 ... »cds compile« erzeugt nicht verarbeitbare Dateien ... 405

       14.3 ... Debugging ... 405

       14.4 ... Senden von HTTP-Requests ... 406

       14.5 ... Arbeiten mit SAP HANA ... 406

       14.6 ... Aufruf des SAP-Fiori-UI ... 407



15.  Zusammenfassung und Ausblick ... 409


  Linksammlung ... 413


  Der Autor ... 417


  Index ... 419


Einleitung


Die Anwendungsentwicklung im SAP-Umfeld war lange geprägt vom klassischen On-Premise-Deployment-Paradigma der Anwendungssoftware. Hier entwickeln Kunden und Partner eigenständige Erweiterungen der SAP-Standardprodukte, meist auf Basis des ABAP-Applikationsservers. Dieser stellt Entwicklungsumgebung, Modularisierungs- und Schnittstellentechnologie sowie Software-Lifecycle-Management-Werkzeuge zur Verfügung, um eine Erweiterung optimal zu integrieren.

Mit der wachsenden Popularität von Cloud-Plattformen und dem Software-as-a-Service-Vertriebs- und -Benutzungsmodell kann sich SAP nicht mehr alleine auf ein geschlossenes, proprietäres Programmiermodell und Erweiterungsmodell verlassen. Kunden und Partner wollen neue, sich agil entwickelnde Technologien im Cloud-Umfeld nutzen, wo sie aber auf völlig andere Konzepte und Architekturen treffen als in der klassischen On-Premise-Welt. Microservices, Cloud Native Design, 12 Factor Applications, Continuous Deployment und DevOps sind nur einige Konzepte, die sich im Umfeld der Cloud-Plattformen entwickelt haben, oder auch nur eine Renaissance unter neuem Namen erleben. Viele frei verfügbare Frameworks und Werkzeuge für die verschiedenen Programmiersprachen konkurrieren um die Gunst der Entwickler*innen, besitzen allerdings oft nur eine Lebensdauer von wenigen Jahren.

Mit dem Zugang zur SAP Cloud Platform stehen SAP-Kunden und Partner deshalb vor folgenden Fragen:

  • Wie entwickeln wir cloud-native Anwendungen, die unsere bestehenden SAP-Anwendungen und -Prozesse erweitern?

  • Wie entwickeln wir neue, differenzierende Geschäftsanwendungen, die sich optimal in unseren bestehenden SAP-Kontext integrieren?

  • Wie profitieren wir von der rasanten Technologieentwicklung im Cloud-Umfeld, ohne dass sich unser Entwicklungsteam mehr mit technologischen Neuerungen auseinandersetzt als mit der Implementierung eines geschäftlich relevanten Prozesses?

  • Wie befreien wir unsere Entwicklungsabteilung von der Last der immer wiederkehrenden Implementierung grundlegender Qualitäten wie Sicherheit, Skalierbarkeit, Erfüllung von Datenschutzvorgaben, Auditierbarkeit, Internationalisierung etc.?

Eine Antwort von SAP auf diese Fragen ist das SAP Cloud Application Programming Model (CAP). CAP wird auch als Backend-Programmiermodell bezeichnet. Dies bedeutet, dass es kein Modell zur Entwicklung von Benutzeroberflächen darstellt. Über die Benutzeroberfläche macht CAP im Kern keine Annahmen. SAP Fiori kann aber besonders einfach über das OData-Protokoll als UI-Programmiermodell zusammen mit CAP eingesetzt werden.

Ziel dieses Buches ist es, dass Sie anhand von Implementierungsbeispielen die Grundprinzipien von CAP verstehen und auch seine Abhängigkeiten zur Welt der SAP Cloud Platform. Ich möchte Sie in die Lage versetzen, mittels der schnell wachsenden CAP-Community und der von SAP zur Verfügung gestellten Ressourcen Ihre eigenen CAP-Projekte erfolgreich durchführen zu können.

Sie werden bemerken, dass ich in diesem Buch großen Wert auf den Praxisbezug lege. Anhand einer Beispielanwendung werden Sie Schritt für Schritt in immer fortgeschrittenere Aspekte von CAP eingeführt. Diese Teile werden durch eher theoretische Abschnitte ergänzt, sodass Sie auch eine Vorstellung von den Möglichkeiten bekommen, die naturgemäß im Rahmen einer Beispielanwendung nicht demonstriert werden können.

Es ist nicht das Ziel dieses Buches, eine möglichst vollständige Faktensammlung aller Details zu CAP zu sein. Dieser Versuch müsste scheitern, da ständig neue Fähigkeiten und Integrationspunkte entstehen. Vielmehr sollen Sie anhand eines nachvollziehbaren Beispiels die stabilen Grundprinzipien von CAP verstehen und die sich darum gruppierenden Werkzeuge.

Dieses Buch richtet sich vor allem an Architekt*innen und Entwickler*innen, die Anwendungen auf der SAP Cloud Platform entwerfen und implementieren, aber auch an für Entwicklungsteams verantwortliche Manager*innen, die nach Ansätzen zur Applikationsentwicklung für ihre Teams suchen. Ich setze deswegen grundlegende Kenntnisse der Softwareentwicklung voraus. Obwohl nicht zwingend notwendig, ist es von Vorteil, wenn Sie insbesondere Vorkenntnisse im Bereich moderner Entwicklungswerkzeuge (z. B. Eclipse, Visual Studio Code), im Umgang mit Command-Line-Werkzeugen (Microsoft PowerShell oder Linux Bash), der relationalen Datenmodellierung, der Cloud Foundry Platform-as-a-Service und der Programmierung in Node.js mitbringen. Meine Entscheidung, Node.js zu favorisieren, liegt schlicht darin begründet, dass die Node.js-Ausprägung von CAP früher produktiv einsetzbar war als die Java-Variante und auch in der SAP-Community verbreiteter ist.

Falls Sie nicht in allen Bereichen Vorkenntnisse haben, seien Sie unbesorgt. Das Buch führt Sie im Stil eines Tutorials durch die Entwicklung einer Beispielanwendung mittels CAP, ohne technisch zu detailliert zu werden. Damit sollen insbesondere auch Entwickler*innen angesprochen werden, die aus der klassischen SAP-Umgebung des ABAP-Applikationsservers kommen. CAP versucht nicht, diese Umgebung zu kopieren. Dies würde aufgrund der verschiedenen technischen Randbedingungen und Paradigmen gar keinen Sinn ergeben. Trotzdem werden Sie sich in den Prinzipien von CAP wiederfinden, die es erlauben, Ihre Kompetenz als in der Entwicklung betriebswirtschaftlicher Anwendungen voll zu nutzen.

CAP ist ein Backend-Programmiermodell, d. h., es adressiert vor allem, aber nicht notwendigerweise, die Entwicklung von Services mit angeschlossener Datenbank. CAP als Programmiermodell für die SAP Cloud Platform integriert sich natürlich mit anderen SAP-Technologien. Vor allem sind dies die Cloud-Foundry-Umgebung der SAP Cloud Platform, SAP Fiori und SAP HANA. All dies sind Bereiche, die eigene Prinzipien und Programmiermodelle exponieren. Dieses Buch wird jeweils Hintergrundinformationen zu diesen Technologien liefern, soweit sie für die Integration mit CAP wichtig sind und die gezeigten Beispiele es erfordern. Das Vermitteln solcher Technologien im vollem Umfang sprengt allerdings den Rahmen des Buches. Der Rheinwerk Verlag bietet Ihnen jedoch auch zu diesen Themen Vertiefungsmöglichkeiten.

Um die hier entwickelten Beispiele nachvollziehen zu können, sollten Sie über einen Computer mit Zugang zum Internet verfügen. Auf diesem Computer benötigen Sie die Berechtigung, Software installieren zu können. Sie werden nur gängige, freie Software benötigen, für die keine Lizenzen erforderlich sind. Um auch die letzten Kapitel des Buches nachvollziehen zu können, benötigen Sie allerdings einen Zugang zur SAP Cloud Platform. Falls dieser nicht schon im Kontext Ihres Unternehmens existiert, können Sie über einen Trial-Account Zugang erhalten.

Aufbau des Buches


Teil I besteht aus zwei einführenden Kapiteln. Kapitel 1, »Einführung in das SAP Cloud Application Programming Model«, ist theoretischer Natur und beantwortet vor allem die Fragen, was das SAP Cloud Application Programming Model ist und was seine Bestandteile und Prinzipien sind. Da CAP genutzt wird, um Anwendungen für die SAP Cloud Platform zu bauen, werden kurz deren Zielsetzung und Eigenschaften rekapituliert. Die SAP Cloud Platform kann im Rahmen dieses Buches nicht im Detail behandelt werden. Trotzdem ist es wichtig, die Beziehung von CAP zur SAP Cloud Platform genau zu verstehen, ebenso wie die Beziehungen zu SAP Fiori und SAP HANA.

Mit Kapitel 2, »Erste Schritte zur eigenen Anwendung«, wechseln Sie in den Praxismodus. Zuallererst beschreibe ich, welche Software Sie installieren müssen und wo Sie diese aus dem Internet beziehen können. Anhand eines "Hello World"-Beispiels werden einige CAP-Komponenten beschrieben und angewandt. Mithilfe dieses kleinen Beispiels werden Sie in die Art und Weise eingeführt, wie Sie mit CAP Entwicklungsprojekte durchführen sollten.

Teil II beschäftigt sich mit der Entwicklung einer relevanteren Anwendung. Sie werden zur Erstellung eines Produktkatalogs ein typisches CAP-basiertes Entwicklungsprojekt aufsetzen und strukturieren. Die Beispielanwendung wird im gesamten Teil II dieses Buches rein lokal auf Ihrem Rechner entwickelt. Sie brauchen dafür noch keinen Zugang zur SAP Cloud Platform.

In Kapitel 3, »Start des Entwicklungsprojekts«, wenden Sie die in Teil I erlernten Techniken auf die Entwicklung einer realistischen Anwendung, einen Produktkatalog, an. Dieses Kapitel beschreibt die Erstellung der ersten Version dieser Anwendung. Darüber hinaus zeige ich Ihnen das Testen mittels HTTP-Clients sowie das Debuggen Ihrer Anwendung.

Kapitel 4, »Core Data Services für CAP im Detail«, beschäftigt sich systematisch mit der Modellierungssprache CDS für CAP. Sie lernen die Grundprinzipien, aber auch weiterführende Konzepte von CDS kennen. Betrachten Sie dieses Kapitel als theoretische Vertiefung. Nicht alle Techniken von CDS werden Sie...



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.