E-Book, Deutsch, 690 Seiten
Reihe: SAP Press
Glavanovits / Koch / Krancz Fullstack-Entwicklung mit SAP
1. Auflage 2024
ISBN: 978-3-367-10336-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
E-Book, Deutsch, 690 Seiten
Reihe: SAP Press
ISBN: 978-3-367-10336-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Dieser Leitfaden macht Sie zum echten Fullstack-Profi für SAP-Anwendungen. Erfahren Sie, wie OData und Core Data Services (CDS) im Backend mit SAP Fiori, SAPUI5 und TypeScript im Frontend zusammenspielen und lernen Sie bewährte Tools kennen. Ob moderne oder ältere Landschaften: Mit diesem Buch meistern Sie die Fullstack-Entwicklung.
Aus dem Inhalt:
- SAPUI5
- SAP Fiori Elements
- OData V4 und OData V2
- Core Data Services (CDS)
- TypeScript
- SAP Cloud Application Programming Model
- ABAP RESTful Application Programming Model
- SAP Gateway Service Builder
- Entwicklung von Benutzeroberflächen
- Flexible Programming Model
- Erweiterbarkeit und Bereitstellung
Rene Glavanovits ist SAP-Consultant und -Entwickler bei der CloudDNA GmbH, einem SAP-Partner mit Sitz in Österreich. Schon früh spezialisierte er sich auf SAP-Technologien und den Bereich der modernen SAP-Full-Stack-Entwicklung. Sein fachlicher Schwerpunkt liegt auf SAP Fiori und SAPUI5, OData-Services, Core Data Services (CDS), dem SAP Cloud Application Programming Model (CAP) sowie dem ABAP RESTful Application Programming Model (RAP). Darüber hinaus verfügt er über umfassende Erfahrung in der Konzeption und Umsetzung von Integrationsszenarien sowie in der Entwicklung leistungsfähiger, serviceorientierter Architekturen im Umfeld der SAP Business Technology Platform (SAP BTP). Rene Glavanovits verbindet tiefgehende Entwicklungsexpertise mit einem sicheren Verständnis für Geschäftsprozesse und technische Gesamtarchitekturen. Beides setzt er erfolgreich in Projekten unterschiedlichster Branchen und Unternehmensgrößen ein. Seine ersten Berührungspunkte mit SAP hatte er bereits im Zuge seiner Ausbildung und baute sein Know-how seither kontinuierlich aus.
Autoren/Hrsg.
Weitere Infos & Material
Einleitung ... 17
Einführung ... 25
TEIL I. Einführung ... 25
1. Einführung in die Fullstack-Entwicklung ... 27
1.1 ... Was ist ein Fullstack-Entwickler? ... 28
1.2 ... SAP-Programmiermodelle ... 33
1.3 ... HTTP-Grundlagen ... 52
1.4 ... Zusammenfassung ... 56
2. Einführung in SAPUI5 und SAP Fiori ... 57
2.1 ... SAPUI5 versus SAP Fiori ... 57
2.2 ... SAP Fiori Launchpad ... 67
2.3 ... SAP Fiori Design Guidelines ... 73
2.4 ... Entwicklungswerkzeuge ... 74
2.5 ... Zusammenfassung ... 81
3. Einführung in OData ... 83
3.1 ... Einführung ... 84
3.2 ... OData-Services entwickeln ... 102
3.3 ... OData testen ... 116
3.4 ... Zusammenfassung ... 131
4. Einführung in CDS ... 133
4.1 ... Entwicklung von Core Data Services ... 134
4.2 ... Assoziationen und Navigationseigenschaften ... 146
4.3 ... CDS-View-Erweiterung ... 150
4.4 ... Berechtigungen ... 153
4.5 ... Zusammenfassung ... 157
5. Einführung in TypeScript ... 159
5.1 ... TypeScript-Grundlagen ... 159
5.2 ... TypeScript der nächsten Generation ... 165
5.3 ... Klassen und Interfaces ... 174
5.4 ... Generics ... 182
5.5 ... Modulentwicklung ... 188
5.6 ... Zusammenfassung ... 190
TEIL II. Entwicklung ... 191
6. Entwicklung von OData-V4-Services mit dem ABAP RESTful Application Programming Model (Managed Scenario) ... 193
6.1 ... Entwicklung von Business-Objekten ... 194
6.2 ... Aktionen ... 224
6.3 ... Erweiterte Funktionen ... 228
6.4 ... Berechtigungsprüfung ... 237
6.5 ... Verschachtelte Business-Objekte ... 240
6.6 ... Zusammenfassung ... 242
7. Entwicklung von OData-V4-Services mit dem SAP Cloud Application Programming Model ... 243
7.1 ... Domänenmodellierung ... 244
7.2 ... Service-Bereitstellung ... 259
7.3 ... Aufsetzen einer SAP-Cloud-Application-Programming-Model-Anwendung ... 267
7.4 ... Autorisierungsprüfungen ... 281
7.5 ... Zusammenfassung ... 283
8. Entwicklung von OData-V2-Services mit dem SAP Gateway Service Builder ... 285
8.1 ... Servicemodellierung in der Transaktion SEGW ... 286
8.2 ... Create, Read, Update, Delete und Query ... 299
8.3 ... SADL-basierte OData-Services ... 328
8.4 ... Zusammenfassung ... 336
9. Entwicklung von SAPUI5-Freestyle-Anwendungen ... 337
9.1 ... SAPUI5 (Basic-)Projekt anlegen ... 339
9.2 ... View aufbauen und UI-Komponenten verwenden ... 350
9.3 ... Applikationslogik, Formatter und Event Handler implementieren ... 362
9.4 ... Datenbindung ... 367
9.5 ... Navigation und Routing ... 386
9.6 ... Mehrsprachigkeit/Internationalization (i18n) ... 396
9.7 ... Deployment ... 398
9.8 ... Zusammenfassung ... 403
10. Entwicklung von SAPUI5-Freestyle-Anwendungen mit OData-V4-Services ... 405
10.1 ... Projekt anlegen ... 407
10.2 ... OData-Model-V4 ... 412
10.3 ... Startseite implementieren ... 425
10.4 ... Navigation einbauen ... 432
10.5 ... Detailseite implementieren ... 434
10.6 ... Fragmente ... 435
10.7 ... SAPUI5-Projekte von einem Git Repository klonen ... 447
10.8 ... Zusammenfassung ... 450
11. Entwicklung von SAPUI5-Freestyle-Anwendungen mit OData-V2-Services ... 453
11.1 ... Projekt anlegen ... 455
11.2 ... OData-Model-V2 ... 460
11.3 ... Startseite implementieren ... 472
11.4 ... Navigation einbauen ... 481
11.5 ... Detailseite implementieren ... 484
11.6 ... Fragmente ... 488
11.7 ... SAPUI5-Projekte von einem Git Repository klonen ... 500
11.8 ... Zusammenfassung ... 503
12. Entwicklung von Benutzeroberflächen mit SAP Fiori Elements ... 505
12.1 ... List Report ... 506
12.2 ... Object Page ... 514
12.3 ... Overview Page ... 527
12.4 ... Generische Annotationen ... 540
12.5 ... Zusammenfassung ... 543
13. Entwicklung von Benutzeroberflächen mit dem Flexible Programming Model ... 545
13.1 ... Einleitung ... 545
13.2 ... Programming Model Explorer ... 546
13.3 ... Building Blocks ... 553
13.4 ... Implementieren des Flexible Programming Model ... 561
13.5 ... Zusammenfassung ... 579
TEIL III. Fortgeschrittene Themen ... 581
14. Datei-Upload ... 583
14.1 ... Media Entitys ... 583
14.2 ... OData V2 ... 584
14.3 ... OData V4 ... 597
14.4 ... Zusammenfassung ... 600
15. Formularvalidierung und Error Handling ... 601
15.1 ... Formularvalidierung ... 601
15.2 ... Fehlerbehandlung ... 619
15.3 ... Zusammenfassung ... 626
16. Entity Tags und Soft State ... 627
16.1 ... Soft-State-Aktivierung ... 627
16.2 ... ETags ... 631
16.3 ... Zusammenfassung ... 633
17. Erweiterbarkeit ... 635
17.1 ... Adaptation Projects ... 635
17.2 ... Key-User-Erweiterbarkeit ... 647
17.3 ... Zusammenfassung ... 653
18. Bereitstellung ... 655
18.1 ... Continuous Integration, Continuous Delivery und Continuous Deployment ... 656
18.2 ... Bereitstellung in SAP S/4HANA ... 672
18.3 ... Bereitstellung in der SAP Business Technology Platform ... 676
18.4 ... Zusammenfassung ... 680
Das Autorenteam ... 681
Index ... 683
Einleitung
Wir freuen uns, Ihnen dieses Buch vorstellen zu können, das Ihnen den Zugang zur Fullstack-Entwicklung mit SAP-Werkzeugen und -Lösungen erleichtern soll. Im heutigen digitalen Zeitalter, in dem Technologie eine entscheidende Rolle spielt und den wirtschaftlichen Erfolg von Unternehmen bestimmt, ist die Entwicklung von Softwareanwendungen von entscheidender Bedeutung. Eine Disziplin, die in den letzten Jahren zunehmend an Bedeutung gewonnen hat, ist die Fullstack-Entwicklung. Fullstack-Entwicklung ist eine wesentliche Kompetenz für Entwickler, die moderne und maßgeschneiderte Anwendungen erstellen wollen. Im SAP-Umfeld ist die Fullstack-Entwicklung von besonderer Bedeutung, da SAP-Technologien und -Systeme in vielen Unternehmen eine zentrale Rolle spielen.
Das Buch ist in drei Teile gegliedert.
Teil I: Einführung
Der erste Teil dieses Buchs befasst sich mit der Theorie, den Grundlagen und den Begriffsbestimmungen in diesem SAP-Fiori-Design-System. Wir stellen Ihnen Praktiken, Werkzeuge, Frameworks und Richtlinien vor und werden unser Bestes geben, um Ihnen die Bedeutung der SAP-Fiori-Welt zu vermitteln.
Wir beginnen in Kapitel 1, »Einführung in die Fullstack-Entwicklung«, mit einem Überblick über den heiligen Gral der modernen SAP-Entwicklung. Zunächst geben wir einen Überblick über die Rolle von Fullstack-Entwicklern. Anschließend stellen wir Ihnen die von SAP angebotenen Programmiermodelle vor. Das HTTP-Protokoll ist die technologische Grundlage aller SAP-Fiori-Anwendungen, die wir Ihnen in ihren Grundzügen vorstellen.
SAP Fiori und SAPUI5 sind in modernen SAP-Systemlandschaften weit verbreitet. Daher ist es wichtig, dass Sie die Grundlagen verstehen und anwenden können. Das haben wir uns in Kapitel 2, »Einführung in SAPUI5 und SAP Fiori«, vorgenommen. Da jedoch viele Entwickler, Administratoren und Anwender den Unterschied zwischen SAPUI5 und SAP Fiori nicht kennen, werden wir ihn erläutern. Anschließend stellen wir Ihnen das SAP Fiori Launchpad vor, eine Schlüsselkomponente der SAP-Fiori-Strategie und der zentrale Einstiegspunkt für alle SAP-Fiori-Anwendungen. Abschließend stellen wir Ihnen die SAP-Fiori-Designrichtlinien vor, die »Bibel« der SAP-Fiori-Entwickler.
OData ist mehr als nur ein triviales Protokoll – es ist die Grundlage für die Kommunikation aller SAP-Fiori-Anwendungen mit dem SAP-Backend. Aus diesem Grund konzentriert sich Kapitel 3, »Einführung in OData«, auf dieses Protokoll und seine Einsatzmöglichkeiten. Mit OData können Sie Datenmodelle, die auf einer REST-Architektur basieren, vollständig abbilden. Wir beginnen mit einer Einführung in OData. Sie lernen alles, was für die Versorgung von SAP-Fiori-Apps wichtig ist. SAP bietet verschiedene Optionen für die OData-Entwicklung. Deshalb stellen wir Ihnen im zweiten Teil dieses Kapitels die Transaktion SEGW und das ABAP RESTful Application Programming Model vor. Mit diesen Informationen können Sie nahezu jede Anforderung in Form von OData-Services abbilden.
Core Data Services, auch bekannt als CDS, sind ein unverzichtbarer Bestandteil der modernen SAP-Entwicklung geworden. CDS ist eine von SAP entwickelte domänenspezifische Sprache für die Entwicklung von Datenbankartefakten in SAP-Systemen, mit der wir uns in Kapitel 4, »Einführung in CDS«, beschäftigen werden. Wir beginnen mit einer Einführung in die CDS-Entwicklung. Anschließend lernen Sie, wie Sie komplexe Datenmodelle mit mehreren Entitäten durch Verknüpfungen zwischen den Entitäten abbilden können. SAP wäre nicht SAP, wenn es kein Erweiterungskonzept gäbe. Dieses stellen wir in Abschnitt 4.3 vor. Schließlich befassen wir uns mit dem Thema Berechtigungen und wie sich CDS-Entitäten in das klassische SAP-Berechtigungswesen eingliedern lassen.
TypeScript ist eine Implementierung von ECMAScript und erweitert JavaScript um zusätzliche Funktionalitäten. Der gesamte JavaScript-Code funktioniert in TypeScript, aber nicht der gesamte TypeScript-Code funktioniert in JavaScript. TypeScript gewinnt auch in der SAPUI5- und SAP-Fiori-Entwicklung schnell an Bedeutung und behebt einige der Nachteile von JavaScript. Aus diesem Grund stellen wir die TypeScript-Entwicklung in Kapitel 5, »Einführung in TypeScript«, vor. TypeScript ist eine streng typisierte Skriptsprache, die Konzepte wie Objektorientierung und Typinferenz zur Beschreibung von Daten verwendet. TypeScript kann auch mit generischen Datentypen umgehen. TypeScript wird oft vernachlässigt, aber jetzt, wo SAP sich voll auf TypeScript konzentriert, wollen wir sicherstellen, dass Sie diesen Zug nicht verpassen. In diesem Kapitel werden wir Sie in die Entwicklung mit TypeScript einführen.
Teil II: Entwicklung
Im zweiten Teil setzen wir die Theorie in die Praxis um. Fullstack bedeutet, Frontend-Entwicklung, Backend-Entwicklung und die Kommunikation zwischen beiden Welten zu beherrschen. Aus diesem Grund werden wir für die Backend-Entwicklung das ABAP RESTful Application Programming Model und den SAP Getway Service Builder verwenden, um OData-Services der Version 2 und 4 zu erhalten. Diese Services werden wir für die Datenbeschaffung im Frontend verwenden, wenn es darum geht, SAPUI5-Freestyle-Anwendungen (Pro-Code-Entwicklung) und SAP-Fiori-Elements-Apps (Low-Code-Entwicklung) zu entwickeln. Als Sahnehäubchen wird das neue Flexible Programming Model vorgestellt, das die beiden Entwicklungsansätze Pro-Code und Low-Code kombiniert, um das Beste aus beiden Welten zu vereinen.
In Kapitel 6, »Entwicklung von OData-V4-Services mit dem ABAP RESTful Application Programming Model (Managed Scenario)«, führen wir Sie in die Welt der modernen Backend-Entwicklung ein und zeigen Ihnen, wie Sie einen OData-V4-Dienst implementieren. Das Beste daran ist, dass wir dasselbe Beispiel verwenden werden, das in Kapitel 8 des Buches für die Entwicklung mit dem SAP Gateway Service Builder verwendet wird. So können Sie die beiden Ansätze direkt vergleichen und die Vorteile des ABAP RESTful Application Programming Model besser verstehen. Unser Hauptziel ist es, Ihnen zu zeigen, wie Sie Business-Objekte entwickeln können. Sie lernen, wie Sie das Datenmodell definieren, Projektionen für verschiedene Anwendungsfälle erstellen und Servicedefinitionen und Service-Binding konfigurieren. Dies bildet die Grundlage für die Implementierung Ihres OData-V4-Services mit dem ABAP RESTful Application Programming Model. Aber das ist noch nicht alles! Wir werden auch fortgeschrittene Funktionen des ABAP RESTful Application Programming Model behandeln, die Ihre Anwendungsentwicklung auf die nächste Stufe bringen werden. Sie lernen, wie Sie Aktionen definieren, um komplexe Geschäftslogik in Ihren Services zu implementieren. Darüber hinaus zeigen wir Ihnen, wie Sie Wertehilfen verwenden, um Ihren Benutzern eine intuitive Werteauswahl zu ermöglichen.
In Kapitel 7, »Entwicklung von OData-V4-Services mit dem SAP Cloud Application Programming Model«, stellen wir Ihnen das SAP Cloud Application Programming Model als Alternative zum ABAP RESTful Application Programming Model für die Cloud-native Entwicklung vor. Das SAP Cloud Application Programming Model ist ein leichtgewichtiges Framework, das Sie bei der Modellierung und Entwicklung von Cloud-Anwendungen unterstützt. Wir verwenden das gleiche Beispiel wie in Kapitel 6, um Ihnen einen direkten Vergleich zwischen dem SAP Cloud Application Programming Model und dem ABAP RESTful Application Programming Model zu geben. Sie werden in der Lage sein, die Unterschiede und Gemeinsamkeiten zwischen den beiden Programmiermodellen zu erkennen und zu beurteilen, welches Modell besser zu Ihren spezifischen Anforderungen passt. Sie werden verstehen, wie das SAP Cloud Application Programming Model Ihnen helfen kann, Cloud-Anwendungen effizient zu entwickeln und welche Vorteile es gegenüber dem ABAP RESTful Application Programming Model bietet. Mit dem Wissen und den Fähigkeiten, die Sie in diesem Kapitel erwerben, können Sie fundierte Entscheidungen bei der Wahl des geeigneten Programmiermodells für Ihre Cloud-nativen Entwicklungen treffen.
OData V2 war lange Zeit der Standard für die Bereitstellung von Daten in der SAPUI5-Entwicklung. Wie in Kapitel 8, »Entwicklung von OData-V2-Services mit dem SAP Gateway Service Builder«, beschrieben, können Sie durch die Verwendung von OData V2 und die Entwicklung in der Transaktion SEGW Daten für Ihre SAPUI5-Anwendungen nach Ihren Bedürfnissen bereitstellen. Sie haben die Flexibilität, CRUD-Operationen für Ihre Entitäten zu definieren und diese durch einfache Konfigurationen oder eigenen Code zu implementieren. Dies ermöglicht Ihnen die schnelle und standardisierte Entwicklung von datenbasierten Anwendungen. Darüber hinaus bietet Ihnen die Service Adaptation Definition Language (SADL) eine alternative Möglichkeit zur Implementierung von OData-basierten Services. SADL ermöglicht eine generische Implementierung, bei der Sie sich auf die automatische Generierung von Code und Datenzugriffsschichten verlassen können. Dies vereinfacht die Entwicklung und Wartung Ihrer OData-Services erheblich, da ein Großteil des Codes automatisch...




