Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
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.2.1 Design- und Architekturprinzipien
32
1.2.2 CAP-Komponenten und ihre Beziehung zur SAP Cloud Platform und zu SAP Fiori
34
1.2.3 Anatomie einer Anwendung
36
1.2.4 CAP-Services
39
1.2.5 Wiederverwendung von CDS-Modellen
41
1.2.6 Erweiterbarkeit
43
1.3 Nächste Schritte
44
2 Erste Schritte zur eigenen Anwendung
45
2.1 Aufbau einer lokalen Entwicklungsumgebung
46
2.1.1 Node.js-Serverumgebung
47
2.1.2 Visual Studio Code als IDE installieren und konfigurieren
48
2.1.3 Visual Studio Build Tools für Windows
51
2.1.4 CDS-Sprachunterstützung für Visual Studio Code
53
2.1.5 CDS Development Kit
55
2.1.6 Entwicklungsdatenbank SQLite
59
2.1.7 Clients zum Testen von HTTP-Services
60
2.2 CDS-Editor
60
2.3 »Hallo CAP«-Service
62
2.3.1 Serviceimplementierung anlegen
64
2.3.2 Persistente Entität anlegen
65
2.3.3 Testdaten für die Datenbank bereitstellen
66
2.3.4 Zugriff auf Testdaten in der Serviceimplementierung
67
2.3.5 Blick in die Datenbank
68
2.3.6 Projektdeskriptor »package.json«
70
2.3.7 OData vs. natives REST
71
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.6.1 Kommunikation über HTTP
95
3.6.2 Nutzung eines HTTP-Clients
96
3.6.3 Datenänderungen über einen CDS-Service
98
3.6.4 Validierungen von Service-Requests
102
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.2.1 Entitäten als Datenbanktabellen
116
4.2.2 Entitäten als Views
117
4.2.3 Views mit Parametern
118
4.3 Assoziationen und Kompositionen
119
4.4 Typen in CDS
122
4.4.1 Vordefinierte Typen
122
4.4.2 Strukturierte Typen
123
4.4.3 Assoziationen als Typen
124
4.4.4 Aufzählungstypen
125
4.4.5 Arrays
125
4.5 Weitere Eigenschaften von Elementen
126
4.6 Die CDS Query Language
126
4.6.1 Postfix-Projektionen
127
4.6.2 Pfadausdrücke und Filterbedingungen
127
4.6.3 Die »Excluding«-Direktive
129
4.7 Namensräume
131
4.7.1 Die »Namespace«-Direktive
131
4.7.2 Die »Context«-Direktive
132
4.8 Referenzen auf Modelle
132
4.9 Annotationen
135
4.9.1 Verarbeitung von Annotationen
135
4.9.2 CDL-Syntax für Annotationen
137
4.9.3 Werte von Annotationen
137
4.9.4 Syntax für strukturierte Annotationen
138
4.9.5 Propagation von Annotationen
139
4.9.6 Die »Annotate«-Direktive
141
4.9.7 Standardannotationen in CAP
142
4.10 Services
143
4.10.1 Serviceoperationen
144
4.10.2 Implementierung von Serviceoperationen
147
4.11 Aspekte
148
4.11.1 Die »Extend«-Direktive
148
4.11.2 Benannte Aspekte
150
4.12 Lokalisierung
151
4.12.1 Mehrsprachigkeit in Modellen
151
4.12.2 Anforderung einer Benutzersprache in einem HTTP-Request
154
4.12.3 Auswahl der Ausgabesprache
154
4.13 Lokalisierte Daten
156
5 Weiterentwicklung zur produktiven Anwendung
159
5.1 Wiederverwendung von Typen und Aspekten
160
5.1.1 Der Aspekt »managed«
162
5.1.2 Der Typ »Currency«
164
5.1.3 Wiederverwendung von Adressdaten
166
5.2 Implementierung der Rolle des Katalognutzers
169
5.2.1 Das Servicemodell
169
5.2.2 Servicespezifische Bezeichnungen und Lokalisierung
170
5.2.3 Eine Bestandsprüfung implementieren
171
5.3 Konfiguration
174
5.3.1 Ablage von Konfigurationsdaten
175
5.3.2 Zugriff auf Konfiguration zur Laufzeit
182
5.3.3 Profile
182
5.3.4 Konfiguration benötigter Services
184
5.4 Authentifizierung und Autorisierung
185
5.4.1 Berechtigungen in CDS-Modellen
187
5.4.2 Konfiguration von Benutzern und Rollen zu Simulationszwecken
189
5.4.3 Feingranulare Berechtigungsteuerung
191
5.4.4 Schnittstelle zum Zugriff auf Benutzer- und Rolleninformation in einem Request
193
5.5 Entwurf eines UIs mit SAP Fiori Elements
194
5.5.1 SAP Fiori Elements Page Types
197
5.5.2 Der SAP Fiori Preview in CAP
198
5.5.3 Annotationen für die List Report Page und die Object Page
198
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.3.1 Ereignisse und deren Behandlung
214
6.3.2 API-Methoden zur Registrierung und Behandlung von Ereignissen
216
6.4 Konnektivität zu Services
218
6.4.1 Konfiguration von Datenbankservices
219
6.4.2 Herstellen einer Verbindung zur Laufzeit
220
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.3.1 Deployment und Lebenszyklus einer Applikation
241
7.3.2 Erzeugen und Starten einer Cloud-Foundry-Applikation
244
7.3.3 Zugriff auf eine Applikation
246
7.3.4 Binden einer Service-Instanz
248
7.4 Deployment einer Cloud-Foundry-Applikation
248
7.4.1 Eine Beispielapplikation
249
7.4.2 Das Cloud Foundry CLI
251
7.4.3 Deployment der Applikation
253
7.4.4 Binden einer Service-Instanz
256
7.4.5 Deployment mit Manifest
259
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.3.1 Application Router als Node.js-Anwendung
272
8.3.2 Konfiguration des Application Routers
273
8.3.3 Application Router mit CAP-Services verbinden
275
8.3.4 Starten und Testen mehrerer Serverprozesse
278
8.4 Webserver für das SAP-Fiori-UI
279
8.4.1 Einstiegsseite erzeugen
280
8.4.2 List Report und Object Page definieren
282
8.4.3 Lokales Starten der CAP-Services mit SAP-Fiori-UI
286
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.2.1 Projektkonfiguration für SAP HANA
296
9.2.2 HDI-Deployer als Cloud-Foundry-Applikation (produktive Variante)
297
9.2.3 HDI-Deployer als lokaler Prozess (lokale Variante)
302
9.3 SAP HANA Deployment Infrastructure
304
9.3.1 Deklaratives, transaktionales Deployment
305
9.3.2 Schema-Isolation
307
9.3.3 Weiterführende Informationen
308
9.3.4 Nächste Schritte
308
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.3.1 Instanz eines Authorization and Trust Management Service anlegen
319
10.3.2 Rollenzuweisung an die Benutzer
323
10.3.3 Binding herstellen
326
10.3.4 Entwicklungsprojekt umkonfigurieren
331
10.3.5 Hybriden Modus testen
332
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.2.1 Datenbankmodul deployen
343
11.2.2 Servermodul deployen
344
11.2.3 Frontend-Modul deployen
346
11.2.4 Der lange Weg zur produktiven Geschäftsanwendung
348
11.3 Deployment als Multitarget Application
349
11.3.1 Problemstellung
350
11.3.2 Was MTAs leisten
351
11.3.3 Der MTA-Deskriptor der Beispielanwendung
353
11.3.4 Installation der MTA Tools
358
11.3.5 Build und Deployment der Beispielanwendung als MTA
359
11.3.6 Im Innern eines MTA-Archivs
361
11.3.7 Erweiterungen für Deployment-Deskriptoren
363
11.3.8 Weiterführende Referenzen
365
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.1.1 Aktivierung des SAP Business Application Studios
371
12.1.2 Zuordnung der Rollensammlungen
372
12.1.3 Erzeugen eines Development Space
374
12.2 CAP im SAP Business Application Studio
377
12.2.1 Starten eines neuen CAP-Projekts
377
12.2.2 Übernahme des fertigen Beispielprojekts
379
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.3.1 Importieren eines Servicedokuments
388
13.3.2 Mocking eines importierten Services
392
13.3.3 Referenzieren eines importierten Services im CDS-Modell
393
13.3.4 Implementierung des Lesezugriffs
395
13.3.5 Zugriff auf externen Service konfigurieren
396
13.4 Ereignisse senden und verarbeiten mit CAP
397
13.4.1 Mocking von externen Ereignissen
397
13.4.2 Verarbeitung externer Ereignisse
399
13.4.3 SAP Enterprise Messaging aktivieren
399
13.5 Was sollten Sie aus diesem Kapitel mitnehmen?
401
14 Problembehandlung
403
14.1 Installieren von npm-Paketen schlägt fehl
403
14.1.1 npm-Registry prüfen
403
14.1.2 Wird ein Proxy verwendet?
404
14.1.3 Nutzen Sie noch die »alte« SAP npm-Registry?
404
14.1.4 Fehlende Berechtigungen für Mac/Linux
404
14.1.5 Fehlende Umgebungsvariablen unter Windows
404
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.5.1 Deployment nach SAP HANA schlägt fehl für .hdbcds-Artefakte
406
14.5.2 Instanzerzeugung für den SAP HDI Container Service schlägt fehl
407
14.6 Aufruf des SAP-Fiori-UI
407
15 Zusammenfassung und Ausblick
409
Linksammlung
413
Der Autor
417
Index
419