Glavanovits / Koch / Krancz | Fullstack-Entwicklung mit SAP | E-Book | www.sack.de
E-Book

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.
Glavanovits / Koch / Krancz Fullstack-Entwicklung mit SAP jetzt bestellen!

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...


Olzinger, Maximilian
Maximilian Olzinger ist Software Developer und Consultant bei der CloudDNA GmbH. Als SAP Certified Development Associate betreut er erfolgreich Projekte bei Unternehmen aller Branchen. Er hält darüber hinaus Trainings zu den Themen SAP Fiori, ABAP und SAP S/4HANA und hat mehrere SAP-Standardtrainings zum Themengebiet SAP Fiori entwickelt. Erste Berührungspunkte mit den SAP-Technologien hatte Maximilian Olzinger bereits während seiner Ausbildung an der HTL Pinkafeld. Anschließend vertiefte er dieses Wissen als Entwickler und Teamleiter bei der CloudDNA GmbH mit den Schwerpunkten SAP S/4HANA, SAP Fiori, SAPUI5, ABAP und OData.

Krancz, Daniel
Daniel Krancz ist Lead SAP Developer und zertifizierter SAP BTP Solution Architect bei der CloudDNA GmbH, einem SAP-Partner mit Sitz in Österreich. Bereits früh spezialisierte er sich auf moderne SAP-Technologien und etablierte sich im Bereich der zukunftsorientierten SAP-Full-Stack-Entwicklung. Sein fachlicher Schwerpunkt liegt auf SAPUI5 und SAP Fiori, auf ABAP einschließlich des ABAP RESTful Application Programming Models (RAP), auf dem SAP Cloud Application Programming Model (CAP) sowie auf der Konzeption und Umsetzung cloud-nativer Architekturen mit der SAP Business Technology Platform (SAP BTP). Dabei verbindet er tiefgehende Entwicklungsexpertise mit architektonischer Klarheit und technologischer Innovationsfähigkeit. Seit 2019 ist Daniel Krancz bei SAP offiziell als SAP Authorized Trainer gelistet und führt im nationalen wie internationalen Raum SAP-Trainings zur modernen Entwicklung von SAP-Geschäftsanwendungen sowie zu Cloud-Implementierungen durch.

Koch, Martin
Martin Koch ist Managing Director der CloudDNA GmbH, einem SAP-Partner in Österreich. Er und sein Team führen für SAP sehr erfolgreich Trainings durch und haben vier eigene Trainings zu den Themen SAPUI5, SAP Fiori, Cloud-Integration und Cloud Security entwickelt, die im SAP-Trainingskatalog gelistet sind. Neben seiner Tätigkeit als Trainer ist Martin Koch als Architekt, Berater und Entwickler bei internationalen SAP-Kunden aller Unternehmensgrößen im Einsatz. Er ist ursprünglich ausgebildeter Linienpilot und Fluglotse und über Umwege 2007 in einem Trainee-Programm bei SAP Österreich gelandet. Dort beschäftigte er sich zunächst mit den Themen Integration und SAP NetWeaver Application Server Java. Ab 2010 rückten mobile Applikationen im SAP-Umfeld in seinen Fokus. Nach einigen Projekten zur Architektur, Sicherheit und Entwicklung mobiler Lösungen widmete sich Martin Koch ab 2012 schwerpunktmäßig SAP HANA, SAPUI5, SAP Fiori und der SAP Business Technology Platform.

Glavanovits, Rene
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.



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.