Englbrecht / Pflugrad | Das neue SAPUI5-Handbuch | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 751 Seiten

Reihe: SAP Press

Englbrecht / Pflugrad Das neue SAPUI5-Handbuch


1. Auflage 2020
ISBN: 978-3-8362-8256-7
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

E-Book, Deutsch, 751 Seiten

Reihe: SAP Press

ISBN: 978-3-8362-8256-7
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Über dieses Buch

Für Einsteiger und SAPUI5-Profis : Programmieren Sie Schritt für Schritt Ihre erste eigene Anwendung , oder starten Sie direkt mit Performanceoptimierung und Fehleranalyse . Dieses Buch beantwortet Ihre Fragen rund um die Anwendungsentwicklung mit SAPUI5. Beginnen Sie z. B. mit der Implementierung einfacher Controls und lernen Sie im Anschluss, wie Smart Controls Ihre Arbeit vereinfachen. Sie möchten lieber gleich wissen, wie Sie Ihre Apps um eigene Controls erweitern? Schlagen Sie es einfach nach!

Aus dem Inhalt:

  • Bootstrapping
  • Lifecycle Management
  • Oberfächen und Dialoge gestalten
  • Komponentenorientiertes Programmieren
  • Anwendungsdeskriptor
  • Sortieren, Gruppieren und Filtern
  • Eingabevalidierung
  • Eventbasierte Kommunikation
  • Entwicklungsinfrastruktur
  • Einführung in die Konzepte von SAP Fiori
Englbrecht / Pflugrad Das neue SAPUI5-Handbuch jetzt bestellen!

Weitere Infos & Material


  Einleitung ... 19

Teil I.  Einführung ... 27

  1.  SAPUI5 -- ein Überblick ... 29


       1.1 ... Was ist SAPUI5? ... 29

       1.2 ... Anwendungsfälle ... 43

  2.  Grundlegender Aufbau und Ressourcen ... 47


       2.1 ... Die Model-View-Controller-Architektur in SAPUI5 ... 47

       2.2 ... Aufbau und Struktur einer SAPUI5-Anwendung ... 51

       2.3 ... Bibliotheken und Namensräume ... 55

       2.4 ... Typen von Views ... 67

       2.5 ... Modelle ... 72

       2.6 ... Datenbindung ... 81

       2.7 ... Entwicklungs- und Laufzeitumgebung ... 89

Teil II.  SAPUI5 -- Anwendungsentwicklung ... 99

  3.  In 7 Schritten zur ersten eigenen Anwendung ... 101


       3.1 ... Ablaufumgebung aufsetzen ... 101

       3.2 ... Einführung in den Aufbau einer UI5-Anwendung ... 105

       3.3 ... Einführung in die Arbeit mit einfachen UI5-Controls ... 115

       3.4 ... Verwendung von komplexen UI5-Controls ... 121

       3.5 ... Die Programmierschnittstelle von SAPUI5 ... 127

       3.6 ... Implementierung von Eventhandlern ... 131

       3.7 ... Komponentenorientierte Anwendungsentwicklung ... 137

  4.  Das Bootstrapping ... 143


       4.1 ... Einführung in das Bootstrapping von SAPUI5 ... 143

       4.2 ... Komponentenerstellung ... 147

       4.3 ... Weitere Konfigurationsmöglichkeiten ... 149

  5.  Instanziierung und Lebenszyklus ... 153


       5.1 ... Einführung in das Lifecycle-Management von SAPUI5 ... 153

       5.2 ... Ressourcen verwenden ... 160

  6.  Benutzeroberflächen und Dialoge gestalten ... 163


       6.1 ... Gestaltung von einfachen Benutzeroberflächen ... 163

       6.2 ... Gestaltung von komplexen Benutzeroberflächen ... 170

       6.3 ... Arbeiten mit Fragmenten ... 178

       6.4 ... Dialoge implementieren und verwenden ... 189

  7.  Arbeiten mit Layouts ... 197


       7.1 ... Einführung in die Arbeit mit Layouts ... 197

       7.2 ... Standardlayouts zur Anordnung von UI-Controls ... 201

       7.3 ... Arbeiten mit Formularlayouts ... 205

       7.4 ... Arbeiten mit Fullscreen-Layouts ... 210

  8.  Responsive und adaptive Benutzeroberflächen ... 217


       8.1 ... Responsiv versus adaptiv ... 217

       8.2 ... Implementierung responsiver SAPUI5-Anwendungen ... 219

       8.3 ... Implementierung adaptiver SAPUI5-Anwendungen ... 233

  9.  Komponentenorientiertes Programmieren ... 241


       9.1 ... Aufbau einer Komponente ... 241

       9.2 ... Integration von Komponenten ... 257

10.  Anwendungsdeskriptor ... 267


       10.1 ... Aufbau des Anwendungsdeskriptors ... 268

       10.2 ... Zugriff auf die Konfigurationsdaten zur Laufzeit ... 285

11.  Routing und Navigation ... 289


       11.1 ... Einführung in die Navigationskonzepte von SAPUI5 ... 289

       11.2 ... Navigation am Beispiel einer Master-Detail-Anwendung ... 301

       11.3 ... Erweiterte Routingkonzepte ... 315

12.  Arbeiten mit Modellen ... 321


       12.1 ... JSON-Modell ... 321

       12.2 ... Ressourcenmodell ... 325

       12.3 ... OData-Modell ... 335

13.  Sortieren, gruppieren und filtern ... 351


       13.1 ... Sortieren ... 352

       13.2 ... Gruppieren ... 362

       13.3 ... Filtern ... 371

14.  CUDQ mit OData ... 381


       14.1 ... Create ... 382

       14.2 ... Update ... 397

       14.3 ... Delete ... 406

       14.4 ... Query ... 408

       14.5 ... Funktionsimport ... 414

       14.6 ... Das OData-Modell der 4-Version -- ein Ausblick ... 416

15.  Eingabevalidierung und eigene Datentypen ... 425


       15.1 ... Einführung in die Arbeit mit Datentypen ... 425

       15.2 ... Implementierung eigener Datentypen ... 435

Teil III.  Weiterführende Themen ... 449

16.  Smart Controls ... 451


       16.1 ... Einführung in Smart Controls ... 451

       16.2 ... Verwendung der »SmartTable« ... 452

       16.3 ... »SmartFilterBar« ... 460

       16.4 ... »SmartForm« ... 468

17.  Implementierung eigener Controls ... 473


       17.1 ... Grundlagen der SAPUI5-Control-Entwicklung ... 473

       17.2 ... UI-Controls erweitern ... 478

       17.3 ... Eigene UI-Controls implementieren ... 483

       17.4 ... XML Composite Controls implementieren ... 490

18.  Eventbasierte Kommunikation mit dem Event Bus ... 495


       18.1 ... Einführung in das eventbasierte Anwendungsdesign ... 495

       18.2 ... Der Event Bus in SAPUI5 ... 497

       18.3 ... Implementierung einer eventgesteuerten Anwendungskommunikation ... 499

19.  Drag and Drop ... 507


       19.1 ... Grundlagen der Implementierung von Drag and Drap in SAPUI5 ... 508

       19.2 ... Einsatzszenarien von Drag and Drop und ihre Implementierung ... 514

20.  Theming ... 527


       20.1 ... CSS ... 527

       20.2 ... UI Theme Designer ... 530

21.  Testen von SAPUI5-Anwendungen ... 547


       21.1 ... Grundlagen von Tests in SAPUI5 ... 547

       21.2 ... Unit-Tests mit QUnit ... 553

       21.3 ... Oberflächentests mit OPA5 ... 563

       21.4 ... Daten simulieren mit dem UI5 MockServer ... 577

       21.5 ... End-to-End-Tests mit UIVeri5 ... 581

22.  Entwicklungsinfrastruktur ... 589


       22.1 ... Einführung und Übersicht ... 589

       22.2 ... Projektsetup mit dem UI5 Tooling ... 591

       22.3 ... Automatisierte Tests für CI ... 600

       22.4 ... Versionsverwaltung mit Git ... 606

       22.5 ... Aufbau einer Continuous-Deployment-Pipeline ... 617

23.  Performanceoptimierung und Fehleranalyse ... 625


       23.1 ... Grundlagen der Performanceoptimierung von SAPUI5-Anwendungen ... 626

       23.2 ... Der Support Assistant ... 638

       23.3 ... Einführung in die Performanceanalyse ... 657

       23.4 ... Typische Fehlersituationen in SAPUI5, ihre Ursache und Lösung ... 661

24.  SAP Fiori ... 667


       24.1 ... Überblick ... 667

       24.2 ... Implementierung einer SAPUI5-Anwendung mit der SAP Web IDE ... 677

       24.3 ... Fundamental Library Styles ... 699

       24.4 ... SAP Fiori Elements ... 705

       24.5 ... Integration in das SAP Fiori Launchpad ... 727

  Die Autoren ... 739

  Index ... 741


Einleitung


Die Entwicklung moderner Anwendungen, die sich auf unterschiedlichen Endgeräte verwenden lassen, steht seit Jahren im Fokus von Unternehmen. Nutzer wollen und müssen auf Funktionen und Daten schnell und einfach zugreifen. Die Installation von Software auf dem jeweiligen Endgerät sollte dabei so gut wie möglich vermieden werden, gleichzeitig soll das Nutzererlebnis so gut wie nur möglich sein. SAP hat schon früh die Zeichen der Zeit erkannt und gesehen, dass mit ABAP Web Dynpro oder Dynpro nur bedingt auf die neuen Anforderungen des Markts reagiert werden kann. Mit dem SAP UI Development Toolkit für HTML5, oder kurz SAPUI5, wurde ein HTML-Framework implementiert, das sich über die Jahre hinweg zu einem echten Konkurrenten für andere Webframeworks gemausert hat. Anwendungen, die mit SAPUI5 entwickelt werden, sind unabhängig von Endgeräten, benötigen lediglich einen Webbrowser und haben somit beim Einsatz eine niedrige Hemmschelle.

Die Jahre haben gezeigt, dass SAP sich bei der Weiterentwicklung von SAPUI5 nicht ausruhen darf und so hat SAP die Schlagzahl bei der Innovation des Frameworks mächtig erhöht. Für Unternehmen ist es nicht leicht, hier schrittzuhalten, gerade nachdem die vorherigen Jahrzehnte nicht von schneller Innovation bei Oberflächentechnologien seitens SAP geprägt waren. Heute, zu Beginn der 2020er-Jahre, ist SAPUI5 aus der SAP Landschaft nicht mehr wegzudenken und stellt de facto den Standard für die Entwicklung von modernen Oberflächen für SAP-Anwendungen dar.

Was ist das Ziel dieses Buches?


Mit diesem Buch möchten wir erreichen, Ihnen einen guten und detaillierten Überblick über das SAPUI5-Framework zu bieten. Anhand vieler Programmbeispiele zeigen wir Ihnen, wie Sie mit SAPUI5 erfolgreich Unternehmensanwendungen implementieren. Wir zeigen Ihnen auch, was hinter den Kulissen des Frameworks passiert und erläutern Ihnen neben dem Framework, wie Ihre Entwicklungsinfrastruktur aussehen kann und soll, damit Sie erfolgreich SAPUI5-Anwendungen entwickeln können. Das Buch ist größtenteils werkzeugagnostisch aufgebaut. Wir erläutert somit nicht, wie Sie mit einem konkreten Werkzeug, wie beispielsweise der SAP Web IDE oder mit Visual Studio Code, Anwendungen mit SAPUI5 entwickeln, sondern haben den Fokus auf das Framework an sich gelegt. Wo es unabdingbar ist, zeigen wir Ihnen aber auch, wie Sie SAPUI5-Anwendungen mit einem bestimmten Werkzeug implementieren.

Zielgruppe dieses Buches


Dieses Buch richtet sich an Softwareentwickler mit oder ohne SAPUI5-Erfahrung, die bereits solide Vorkenntnisse der Techniken zur Entwicklung von Web-Anwendungen besitzen. Das Buch ist auch für technische Berater und Entscheider eine gute Hilfe, um die Zusammenhänge und Möglichkeiten von SAPUI5 zu erlernen. Sie müssen nicht zwingend SAP-Wissen besitzen, es hilft jedoch, die technischen Grundaspekte moderner SAP-Landschaften zu kennen.

Zum Aufbau dieses Buches


Das vorliegende Buch gliedert sich in drei Teile: Teil I, »Einführung«, gibt Ihnen eine Einführung in SAPUI5 und ordnet für Sie die wichtigsten Begriffe und Themen rund um SAPUI5 ein. In Teil II, »SAPUI5 – Anwendungsentwicklung«, gehen wir auf alle wichtigen Konzepte und Techniken des Frameworks ein und zeigen Ihnen detailliert, wie Sie SAPUI5-Anwendungen aufbauen. Wir geben Ihnen einen tiefergehenden Einblick in die Technologie und zeigen Ihnen neben der Theorie auch den praktischen Einsatz anhand von Programmbeispielen. Teil III, »Weiterführende Themen«, gibt Ihnen einen Überblick über weiterführende Themen, die rund um das Thema SAPUI5 und SAPUI5-Entwicklung wichtig sind.

Teil I: Einführung in SAPUI5

Kapitel 1, »SAPUI5 – ein Überblick«, gibt Ihnen eine Einführung in die Welt von SAPUI5. Es gibt Aufschluss darüber, warum es SAPUI5 gibt und welchen Stellenwert das Framework mittlerweile bei SAP hat. Es zeigt zudem, wo SAPUI5-Anwendungen eingesetzt werden können und liefert eine Einführung in das Thema SAP Fiori.

Kapitel 2, »Grundlegender Aufbau und Ressourcen«, bringt Ihnen die Grundlagen von SAPUI5 näher. Von der Funktionsweise des Frameworks über dessen Architektur und Bibliotheken bis hin zu Aspekten der Entwicklungs- und Laufzeitumgebung erhalten Sie hier einen ersten Einblick in die zentralen Module und Konzepte, der Sie auf die zahlreichen Detailkapitel vorbereitet.

Teil II: SAPUI5 Anwendungsentwicklung

Kapitel 3, »In 7 Schritten zur ersten eigenen Anwendung«, führt Sie Schritt für Schritt in die Entwicklung einer SAPUI5-Anwendung ein. Wir zeigen Ihnen, wie Sie mit UI5 Tooling die Projektgrundlagen schaffen. An einem praktischen Beispiel zeigen wir Ihnen, wie Sie nach und nach die unterschiedlichen Techniken des SAPUI5-Frameworks praktisch einsetzen und am Ende eine als Komponenten gekapselte Anwendung implementieren.

Kapitel 4, »Das Bootstrapping«, steht im Zeichen der clientseitigen Laufzeitumgebung. Wir führen Sie in das Bootstrapping der clientseitigen Laufzeitumgebung von SAPUI5 ein. Wir zeigen Ihnen, wie Sie über die Konfiguration des Bootstrapping entsprechend Einfluss auf die Anwendung nehmen können.

Das SAPUI5-Framework besteht aus einer Vielzahl von Klassen und Artefakten, die zur Laufzeit durch das Framework bereitgestellt werden. Kapitel 5, »Instanziierung und Lebenszyklus«, gibt Ihnen einen Überblick über den Lebenszyklus der Artefakte und zeigt Ihnen, wie Sie Klassen des Frameworks referenzieren, instanziieren und initialisieren. Wir zeigen Ihnen den Lebenszyklus von Views, Controller, Komponente und Controls und wie Sie ihn beeinflussen können.

Das SAPUI5-Framework bietet eine große Menge an UI-Controls, mit denen es möglich ist, komplexe Anwendungen zu implementieren. Kapitel 6, »Benutzeroberflächen und Dialoge gestalten«, gibt Ihnen eine Einführung in die Nutzung der UI-Controls. In Abschnitt 6.1 zeigen wir, wie einfache UI-Controls verwendet werden. In Abschnitt 6.2 stellen wir die Implementierung von Wertehilfen und die Nutzung komplexer UI-Controls vor. Abschnitt 6.3 zeigt Ihnen, wie Sie mithilfe von Fragmenten Anwendungen strukturieren. In Abschnitt 6.4 zeigen wir, wie Sie eigene Dialoge implementieren und im SAPUI5-Framework enthaltene Dialog-Controls nutzen.

Kapitel 7, »Arbeiten mit Layouts«, zeigt Ihnen die Verwendung von Layouts, mit denen Sie die von SAPUI5 gebotenen UI-Controls im kleinen und großen Rahmen zu sinnvollen Gesamtkompositionen anordnen können. Dabei erhalten Sie Einblicke in die Best Practices zur Layoutgestaltung für verschiedene Anwendungsfälle.

Kapitel 8, »Responsive und adaptive Benutzeroberflächen«, führt diese Konzepte einen Schritt weiter und berücksichtigt die Anforderungen von modernen, responsiven Browseranwendungen in Bezug auf ihre Anpassbarkeit und Benutzbarkeit auf verschiedenen Endgeräten und Bildschirmgrößen. Sie erfahren, welche Konzepte Sie anwenden können, um Ihre Anwendungen für einen universellen Einsatz fit zu machen.

Die Wiederverwendung von Bestandteilen einer Anwendung ist ein wichtiges Ziel bei der Anwendungswicklung. Wir zeigen Ihnen in Kapitel 9, »Komponentenorientiertes Programmieren«, wie Sie Anwendungsbestandteile als Komponenten kapseln können. Das Kapitel führt Sie in die Entwicklung von Faceless- und Facefull-Komponenten ein.

SAPUI5-Anwendungen benötigten zur Laufzeit viele Informationen über Abhängigkeiten, Backenddienste und andere Konfigurationsaspekte. Diese können im Quelltext direkt oder über eine Manifest-Datei, den sogenannten Applikationsdeskriptor, implementiert werden. Kapitel 10, »Anwendungsdeskriptor«, gibt Ihnen eine Einführung in die unterschiedlichen Konfigurationsaspekte des Applikationsdeskriptors von SAPUI5. Wir zeigen Ihnen die wichtigsten Attribute und Konfigurationsobjekte.

Anwendungen bestehen oftmals aus mehreren Seiten oder Komponenten, zwischen denen es zu navigieren und Daten zu übertragen gilt. In Kapitel 11, »Routing und Navigation«, zeigen wir Ihnen, wie Sie die Navigation zwischen den Seiten Ihrer Anwendung und das Routing zu eingebetteten Komponenten für verschiedene Szenarien realisieren.

Für ein MVC-Framework wie SAPUI5 spielt die Datenhaltung in Modellen eine sehr wichtige Rolle. Kapitel 12, »Arbeiten mit Modellen«, gibt einen Überblick über die unterschiedlichen in SAPUI5 bereitgestellten Modellarten. Es zeigt Ihnen, wie Sie mit Ressource-Modellen sprachunabhängige Anwendungen implementieren und wie JSON-Modelle für die lokale Verarbeitung von Daten verwendet werden. Den Abschluss des Kapitels bietet eine Einführung in die Verwendung von OData-Diensten unter Zuhilfenahme des OData-Modells von SAPUI5.

In Kapitel 13, »Sortieren, gruppieren und filtern«, beschreiben wir, welche Möglichkeiten SAPUI5 für...


Englbrecht, Michael
Michael Englbrecht ist Mitglied der Geschäftsleitung und Head of SAP bei der eXXcellent solutions GmbH. Er verantwortet den SAP-Bereich und begleitet Unternehmen dabei, ihre SAP-Landschaften mit maßgeschneiderten Lösungen zukunftsfähig weiterzuentwickeln – von der strategischen Beratung über die Umsetzung bis hin zur langfristigen Begleitung. Seine Schwerpunkte liegen in der Entwicklung intuitiver SAP-Anwendungen mit SAP Fiori und SAPUI5, der Integration komplexer SAP- und Nicht-SAP-Systemlandschaften sowie der Umsetzung individueller Erweiterungen für SAP. Darüber hinaus beschäftigt er sich intensiv mit dem Einsatz künstlicher Intelligenz im SAP-Umfeld – sowohl bei der Implementierung KI-basierter Lösungen als auch bei der KI-gestützten Entwicklung von Anwendungen. Als Berater und Trainer hat Michael Englbrecht zahlreiche Schulungen zu SAP Fiori, SAP User Experience, SAPUI5, ABAP, dem ABAP-Programmiermodell für SAP Fiori, Java sowie den Themen Knowledge Management und Collaboration entwickelt und durchgeführt. Sein Wissen vermittelt er regelmäßig in Trainings, Workshops und Fachvorträgen. Michael Englbrecht studierte Informatik an der Hochschule Augsburg. Vor seinem Einstieg bei eXXcellent solutions war er unter anderem als Softwareentwickler und Consultant bei der MATHEMA AG, als Senior Consultant bei der AddOn Software GmbH sowie als Director NetWeaver Consulting bei der 10 point software GmbH tätig.

Pflugrad, Andreas
Dr. Andreas Pflugrad ist Senior Software Engineer im Bereich SAP bei der eXXcellent solutions GmbH in Ulm. Zu seinen Schwerpunkten gehören die Konzeption und Entwicklung individueller Kundenlösungen mit SAPUI5 und SAP HANA, die Entwicklung von SAP-Fiori-Anwendungen, sowie die Beratung und Betreuung von Unternehmen bei der Einführung und Umsetzung von Design- und Entwicklungsrichtlinien. Des Weiteren beschäftigen ihn Themen rund um integrative SAP-/Nicht-SAP-Lösungen, OData und Datenintegration. Andreas Pflugrad hält regelmäßig Schulungen zu SAPUI5 und SAP Fiori und ist als wissenschaftlicher Betreuer für die Duale Hochschule Baden-Württemberg tätig. Er studierte Medizinische Dokumentation und Informatik sowie Informationssysteme an der Technischen Hochschule Ulm und promovierte in Kooperation mit der Medizinischen Fakultät und dem Zentrum für Seltene Erkrankungen der Universität Ulm.



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.