Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
20
1 Einführung
21
1.1 Für wen ist dieses Buch geschrieben?
24
1.2 Der Aufbau des Buches
25
1.2.1 Teil I: No Code
25
1.2.2 Teil II: Low Code
28
1.2.3 Teil III: Professional Use
30
1.2.4 Anhang
32
1.2.5 Anmerkung zur Verwendung
32
1.3 Vorwort zur zweiten Auflage
34
1.4 Danksagung
35
TEIL I No Code
37
2 Grundlagen von APEX
39
2.1 Was APEX anders macht
39
2.2 Überblick über APEX
41
2.2.1 Allgemeiner Überblick
41
2.2.2 Workspaces
43
2.2.3 APEX-Anwendung
46
2.2.4 Seiten
47
2.2.5 Regionen, Seitenelemente und Schaltflächen
47
2.2.6 Zusammenfassung
50
3 Überblick über die Entwicklungsumgebung
51
3.1 Einstiegsseite
52
3.2 Application Builder
53
3.3 Seitendesigner
58
3.3.1 Aufbau der Seite
59
3.3.2 Linker Seitenbereich
60
3.3.3 Galerie
62
3.3.4 Canvas
63
3.3.5 Attributbereich
64
3.3.6 Navigationsleiste des Page Designers
66
3.4 Gemeinsame Komponenten
68
3.4.1 Bereich »Anwendungslogik«
69
3.4.2 Bereich »Sicherheit«
69
3.4.3 Bereich »Weitere Komponenten«
70
3.4.4 Bereich »Navigation«
71
3.4.5 Benutzeroberfläche
72
3.4.6 Bereich »Dateien«
72
3.4.7 Bereich »Datenquellen«
73
3.4.8 Bereich »Berichte«
73
3.4.9 Bereich »Globalization«
73
3.4.10 Seitenbereich »Aufgaben«
73
3.5 SQL Workshop
73
3.5.1 Utilitys
74
3.5.2 RESTful Services
75
3.6 Team Development und Galerie
76
3.7 Zusammenfassung
77
4 Eine einfache APEX-Anwendung
79
4.1 Übersicht über die Anwendung
79
4.2 Rendern einer APEX-Seite
83
4.2.1 Pre-Rendering – »Vor Header«
84
4.2.2 Pre-Rendering – »Nach Header« und »Vor Regionen«
86
4.2.3 Komponenten
87
4.2.4 Post-Rendering
91
4.2.5 Zusammenfassung
91
4.3 Verarbeitung von Benutzereingaben
92
4.3.1 Rendern einer Formularseite
93
4.3.2 Daten für ein Formular lesen: der Fetch-Row-Prozess
93
4.3.3 Verarbeitung der Seite
95
4.3.4 Zusammenfassung
100
4.4 Verschiedene Regionstypen
101
4.4.1 Berichtsregionen
101
4.4.2 Listenregionen
102
4.4.3 Grafikregionen
103
4.4.4 Kalenderregion
103
4.4.5 Map-Region
103
4.5 Zusammenfassung
103
5 Eine einfache Datenbankanwendung erstellen
105
5.1 Vorbereitung und Datenmodell
105
5.2 Anlage der Anwendung
106
5.3 Anwendungseigenschaften
114
5.4 Eine Berichtsseite anlegen
116
5.5 Die Rolle von Aliasen
123
5.6 Startseite editieren
124
5.7 Eine Formularseite anlegen
129
5.8 Mit gemeinsamen Komponenten arbeiten
132
5.9 Eine Dynamic Action einfügen
137
5.10 Formular optisch kontrollieren
140
5.10.1 Wahl des Darstellungstemplates
141
5.10.2 Korrektur der Darstellungsbreite
142
5.10.3 Formatmasken und erlaubte Zahlbereiche
142
5.10.4 Platzierung der Seitenelemente auf der Seite
143
5.10.5 Zusammenfassung
144
5.11 Berechnungen und Validierungen einfügen
145
5.11.1 Berechnungen einfügen
145
5.11.2 Validierungen einfügen
147
5.12 Einen Bericht editieren und filtern
151
5.13 Eine Geschäftsgrafik einfügen
155
5.14 Zusammenfassung
156
6 Grundlegende APEX-Konzepte
159
6.1 Komponenten mit Daten versorgen
159
6.1.1 Lokale Datenbank
161
6.1.2 REST-Quelle
163
6.1.3 Identifikation einer Zeile
175
6.2 Das Layout kontrollieren
176
6.2.1 Anordnung von Regionen auf der Seite
177
6.2.2 Freie Platzierung von Elementen auf der Seite
183
6.3 Darstellung der Komponenten steuern
185
6.3.1 Templates
185
6.3.2 Templateoptionen
189
6.3.3 Neue Entwicklungen
190
6.3.4 Anpassung des Layouts
191
6.3.5 Verwendung von Icons
193
6.3.6 Verwendung von Bildern
194
6.4 Zwischen Anwendungsseiten navigieren
196
6.4.1 Allgemeine Eigenschaften der Navigation
196
6.4.2 Schaltflächen
199
6.4.3 Listen
201
6.4.4 Verzweigungen
202
6.5 APEX-Komponenten konditional anzeigen
202
6.5.1 Erstellung von Autorisierungsschemata
203
6.5.2 Verwendung von Autorisierungsschemata
207
6.5.3 Erstelloptionen
209
6.5.4 Vergleich der Strategien
209
7 Features und Anwendungsseiten
213
7.1 Features
213
7.1.1 Ein Feature installieren
214
7.1.2 Installierte Features einsehen und verwalten
215
7.1.3 Mitgelieferte Features
217
7.2 Anwendungsseiten
218
7.2.1 Leere Seite
221
7.2.2 Bericht
223
7.2.3 Formular und Master-Detail
225
7.2.4 Plugins
226
7.2.5 Diagramm und Dashboard
226
7.2.6 Karten
227
7.2.7 Assistenten
228
7.2.8 Laden von Daten
228
8 Berichte
243
8.1 Grundlegende Techniken
243
8.1.1 Filterung von Berichten
244
8.1.2 Spalten formatieren und Tooltipps anzeigen
249
8.1.3 Druck und Datenexport
252
8.1.4 Berichte paginieren und Performanz optimieren
256
8.2 Interaktives Grid
258
8.2.1 Einrichtung der Standardeinstellungen
258
8.2.2 Request- und Elementwerte für interaktive Grids
262
8.2.3 Symbolleiste
266
8.2.4 Master-Detail-Berichte
267
8.2.5 Spalten als Verweis nutzen
271
8.2.6 Spalten als Balkendiagramm visualisieren
271
8.2.7 Interaktives Grid als Formular nutzen
272
8.2.8 Weitere Ansichten
272
8.3 Interaktive Berichte
276
8.4 Klassische Berichte
279
8.4.1 Berichtstemplates
280
9 Facet-Suche, intelligente Filter und Karten
285
9.1 Facet-Suche
285
9.1.1 Facet-Suche erstellen und konfigurieren
286
9.1.2 Erstellung weiterer Facetten
292
9.1.3 Facettengruppen
295
9.1.4 Attribute der Facet-Suche-Region
297
9.1.5 Facet-Suchen-Diagramme
299
9.2 Intelligente Filter
301
9.3 Suchseite
304
9.4 Karten
304
9.4.1 Grundfunktionen
305
9.4.2 Integration von Medien
307
9.4.3 Erweiterte Formatierung
310
9.4.4 Aktionen
313
9.5 Zentrales Sortieren und Suchen
313
9.5.1 Zentrales Sortieren ab Version 22.1
313
9.5.2 Zentrales Suchen ab Version 22.2
316
10 Formulare
321
10.1 Formular-Region
322
10.1.1 Spezielle Regionsattribute
322
10.1.2 Seitenelemente eines Formulars
324
10.1.3 Initialisierung der Formulardaten
327
10.1.4 Optionen der Formularfelder
331
10.1.5 Validierung von Formularregionen
336
10.1.6 Verarbeitungsprozess
336
10.2 Editierbare Grids
338
10.2.1 Allgemeine Optionen
338
10.2.2 Bedienung des editierbaren Grids
340
10.2.3 Validierung eines editierbaren Grids
343
10.3 Master-Detail-Formular
346
10.3.1 Speicherung der Daten in der Datenbank
347
10.3.2 Abweichende Einstellungen für Master-Detail-Formulare
349
11 Diagramme
351
11.1 Grundsätzliche Bedienung
352
11.1.1 Regionstyp »Diagramm«
353
11.1.2 Datenreihen eines Diagramms
353
11.1.3 Diagrammachsen
357
11.1.4 Spezielle Regionsattribute
359
11.2 Gantt-Diagramm
364
12 Kalender-Regionen
367
12.1 Grundlagen der Verwendung
367
12.2 Filterung eines Kalenders
371
12.3 Erweitere Parametrierung
371
12.3.1 Drag-and-drop
371
12.3.2 Verweise
373
12.4 Dynamische Aktionen
375
13 Maps
379
13.1 Regionstyp »Map«
380
13.1.1 Attributbereiche »Map« und »Steuerelemente«
381
13.1.2 Attributbereich »Anfängliche Position und Zoom«
383
13.1.3 Attributbereiche »Legende« und »Attribute«
385
13.1.4 Layer
386
13.1.5 Weitere Elementtypen für Karten
392
13.1.6 Filterung und facettierte Suche
396
13.2 Elementtyp »Karte anzeigen«
397
13.3 Elementtyp Geocode-Adresse
401
13.4 MiniMap-Widget
405
13.4.1 Einrichtung einer Karten-Region für eine Mini-Map
406
14 Dynamische Aktionen
411
14.1 Verwendung von dynamischen Aktionen
411
14.1.1 Was sind dynamische Aktionen?
412
14.1.2 Ereignisse und Typen dynamischer Aktionen
415
14.1.3 Aktionen
422
14.1.4 Anwendungsbeispiel: serverseitige Validierung
431
15 APEX auf mobilen Endgeräten
433
15.1 Grundlagen: responsive Eigenschaften des Universal Themes
434
15.2 Spezielle Komponenten für mobile Anwendungen
436
15.2.1 Spaltenumschaltbericht
437
15.2.2 Reflow-Bericht
438
15.2.3 Listenansicht
439
15.3 Progressive Web Applications (PWA)
441
16 Weitere Funktionsbereiche
445
16.1 E-Mail-Versand
445
16.1.1 E-Mail-Templates
446
16.1.2 E-Mail-Seitenprozess
449
16.1.3 E-Mail-Attachments
450
16.1.4 Weitere Attribute
450
16.1.5 Zusammenfassung
451
16.2 Template-Direktiven
452
16.2.1 if-Direktive
453
16.2.2 Case-Direktive
454
16.2.3 loop-Direktive
455
16.2.4 Zusammenfassung
456
16.3 Erweiterte Parametrierung über JavaScript-Initialisierungscode
456
16.4 Automatisierungen
460
16.5 Workflows
464
16.5.1 Grundlagen der Aufgabenverwaltung
465
16.5.2 Erstellen einer Aufgabendefinition
468
16.5.3 Erstellen einer Aufgabe
472
16.5.4 Details zu einer Aufgabe anzeigen
473
16.5.5 Bearbeiten einer Aufgabe
474
16.5.6 Bewertung
477
TEIL II Low Code APEX
479
17 Technische Grundlagen
481
17.1 Technische Rahmenbedingungen
481
17.1.1 Probleme von Webanwendungen
483
17.1.2 Technische Komponenten einer typischen Webanwendung
490
17.2 Technischer Ablauf
492
17.2.1 Verarbeitung des URL in ORDS
492
17.2.2 Auswertung des URL in der Datenbank
493
17.2.3 Generelle Aktivitäten vor dem Rendern einer Seite
495
17.2.4 Rendern der Anwendungsseite
497
17.2.5 Session Status und Darstellung der Seite
498
17.2.6 Aktivitäten während der Anzeige der Anwendungsseite
498
17.2.7 Arbeiten beim Verarbeiten einer Seite
499
18 Integration serverseitigen Codes
501
18.1 DML-Operationen
502
18.1.1 Verarbeitung der Daten bis Version 22.1
507
18.1.2 Verarbeitung der Daten ab Version 22.2
508
18.2 PL/SQL in Berechnungen und Validierungen
511
18.2.1 Berechnungen
511
18.2.2 Validierungen
514
18.3 Unterschiedliche Formen der PL/SQL-Integration
515
18.3.1 Prozess-Typen »Code ausführen« und »Automatische Zeilenverarbeitung«
515
18.3.2 Serverseitige Bedingungen
516
18.3.3 Validierungen
517
18.3.4 Regionen mit dynamischem Inhalt
518
18.4 PL/SQL in dynamischen Aktionen
519
18.5 APEX PL/SQL-Packages
523
18.5.1 Packages für APEX-Gliederungsebenen
524
18.5.2 Packages zur Verwaltung des Session Status
527
18.5.3 Zusammenfassung
532
18.6 Arbeiten mit der Collection-API
532
18.6.1 Eine Collection erzeugen
533
18.6.2 In die Collection schreiben
535
18.6.3 Löschen von Collections
537
18.6.4 Weitere Methoden
537
18.6.5 Vereinfachung der Arbeit mit Collections
538
18.6.6 Anwendungsbeispiel
540
19 Daten laden, exportieren und drucken
553
19.1 Regionsdaten drucken
553
19.2 Exportieren der Daten einer Region
557
19.2.1 Exportformat CSV
559
19.2.2 Print-optimized Export
559
19.2.3 Formate HTML und XLSX
563
19.3 Export beliebiger Daten
564
19.3.1 Spaltenformatierung und Kontrollgruppenwechsel
565
19.3.2 Erzeugung von Highlights
567
19.3.3 Erzeugung von Aggregationen
569
19.4 Verwendung der Export-API ohne APEX
570
19.5 Erweitertes Laden von Daten
576
20 Integration von JavaScript
583
20.1 JavaScript und jQuery
585
20.1.1 Einführung in JavaScript
585
20.1.2 Einführung in jQuery
600
20.2 APEX-JavaScript-API
602
20.2.1 Namensraum APEX
602
20.2.2 Namensraum apex.item
603
20.2.3 Namensraum apex.page
603
20.2.4 Namensräume apex.message und apex.debug
604
20.2.5 Namensraum apex.navigation
604
20.2.6 Namensraum apex.actions
604
20.2.7 Namensraum apex.server
606
20.2.8 Weitere APEX-Namensräume
607
20.3 JavaScript verwenden
607
20.3.1 Wie man JavaScript vermeiden kann
607
20.3.2 Anregungen für die Verwendung von JavaScript
611
20.3.3 Strategien zur Integration von JavaScript
611
21 Fehlerbehandlung, Code Review und Debugging
623
21.1 Fehlerbehandlung in APEX
623
21.1.1 APEX_ERROR
624
21.1.2 Generisches Logging-Werkzeug
629
21.1.3 apex.message
635
21.2 Debugging
637
21.2.1 APEX_DEBUG
638
21.2.2 Debugging von Dynamic Actions
641
21.2.3 Weitergehendes Logging
642
21.2.4 Remote Debugging mit SQL Developer
643
21.2.5 Debugging ohne APEX
647
21.3 Session Overrides
647
21.4 Code Review
649
21.4.1 Code-Report und Suche
649
21.4.2 Advisor
650
21.5 Automatisiertes Testen
651
21.5.1 Test von PL/SQL-Code
651
21.5.2 Test von APEX-Weboberflächen
652
TEIL III Professional Use
655
22 APEX als Softwareentwicklungswerkzeug
657
22.1 Architektonische Anforderungen
658
22.1.1 Architektonische Vorüberlegungen
659
22.1.2 Architektur von APEX-Anwendungen
659
22.1.3 Trennung zwischen Datenschema und APEX-Schema
662
22.1.4 Architektonische Anforderung
664
22.1.5 Arbeiten mit Modulen
668
22.2 Anforderungen an APEX-Anwendungen
679
22.2.1 Kein PL/SQL und SQL auf der Anwendungsseite
679
22.2.2 Eine View pro Datenquelle
681
22.2.3 Zuschnitt von Anwendungspackages
683
22.3 Zuschnitt von Workspaces
684
22.4 Zuschnitt von APEX-Anwendungen
686
22.4.1 Deployment und Entwicklung
686
22.4.2 Herausforderungen der Zusammenarbeit mehrerer Anwendungen
687
22.4.3 Starthilfen
688
23 Plugins
691
23.1 Grundlagen von Plugins
691
23.1.1 Was Sie vorab wissen sollten
692
23.1.2 Empfehlungen für Plugins
693
23.1.3 Arten von Plugins
694
23.2 Arbeitsweise von Plugins
695
23.2.1 Initialisierung
695
23.2.2 Verwendung des Plugins auf der Seite
696
23.2.3 Validierungsphase, Aktualisierungsphase
697
23.3 Die Erfassungsseiten für Plugins
698
23.3.1 Verwaltungsseite eines Plugins
698
23.3.2 Benutzerdefinierte Attribute verwalten
712
23.4 Ein Element-Plugin erstellen
715
23.4.1 Konzeption des Plugins
715
23.4.2 Anlegen der Metadaten
716
23.4.3 Implementierung des PL/SQL-Packages
718
23.4.4 Implementierung der JavaScript-Logik
729
23.4.5 Bewertung
736
23.5 Ein Regions-Regions-Plugin erstellen
736
23.5.1 Review der Metadaten und des PL/SQL-Codes
737
23.5.2 Das Plugin-Package
740
23.5.3 Schlussfolgerung
742
23.6 Plugins ex- und importieren
743
23.6.1 Plugins exportieren
743
23.6.2 Plugins importieren
744
23.6.3 Plugins subskribieren
744
23.7 Zusammenfassung
745
24 Kontrolle komplexer Anwendungen
747
24.1 Flows for APEX (F4A)
747
24.1.1 Plugin-Sammlung »Flows for APEX«
749
24.1.2 Integration in eine APEX-Anwendung
751
24.1.3 Verwaltung von BPMN
756
24.2 APEX Dynamic Controller (ADC)
757
24.2.1 Arbeitsweise
758
24.2.2 Erstellen von dynamischen Anwendungsseiten
760
24.2.3 Bestandteile dynamischer Seiten
763
24.2.4 Administration dynamischer Seiten
768
24.2.5 Installation von ADC
769
24.2.6 Zusammenfassung
770
24.3 Fazit
771
25 Webservices
773
25.1 Was ist ein Webservice?
773
25.1.1 SOAP
774
25.1.2 REST
774
25.2 Webservices in der Datenbank über ORDS
777
25.2.1 Beispiel eines REST-Webservices
778
25.3 REST-Webservices in APEX
782
25.3.1 Aufruf von SOAP-basierten Webservices
782
25.3.2 Aufruf von REST-basierten Webservices
784
25.4 Webzugangsdaten
786
25.5 REST-fähiges SQL: Erweiterung ab Version 22.1
794
25.6 Zusammenfassung
795
26 Authentifizierung und Autorisierung
797
26.1 Authentifizierung
797
26.1.1 Mitgelieferte Authentifizierungsverfahren
798
26.1.2 Wie funktioniert eine Authentifizierung in APEX?
800
26.1.3 APEX Authentication API
803
26.1.4 Erstellung eines eigenen Authentifizierungsverfahrens
803
26.1.5 Single-Sign-on-Verfahren
807
26.1.6 Social Sign-in
808
26.2 Autorisierung
808
26.3 APEX-Anwendung zur Benutzerverwaltung
810
26.3.1 Datenmodell
810
26.3.2 Anwendungslogik
813
26.3.3 APEX-Anwendung
814
26.3.4 Beispiel für die Verwendung
815
27 APEX-Administration
817
27.1 Bereich »Anforderungen verwalten«
818
27.2 Bereich »Instanz verwalten«
819
27.2.1 Bereich »Instanzeinstellungen«
819
27.2.2 Bereich »Gemeinsame Komponenten verwalten«
824
27.2.3 Bereich »Meldungen«
824
27.2.4 Bereiche »Metadaten verwalten« und »Logs und Dateien verwalten«
825
27.3 Bereich »Workspaces verwalten«
826
27.3.1 Bereich »Workspace-Aktionen«
826
27.3.2 Bereich »Anwendungen verwalten«
831
27.3.3 Bereiche »Exportieren/Importieren« und »Workspace-Berichte«
831
27.4 Bereich »Aktivität überwachen«
835
28 Sicherheit
837
28.1 Arbeitsweise von APEX
837
28.1.1 Zugriff auf APEX
837
28.1.2 Schemata von APEX
838
28.1.3 Prozeduren
839
28.1.4 Session und Sessionstatus
841
28.2 Administration von Sicherheitseinstellungen
842
28.2.1 Grundlegende Entscheidungen bei der Installation
843
28.2.2 Sicherheitseinstellungen im Bereich APEX-Administration
843
28.2.3 Sicherheitseinstellungen auf Workspace-Ebene
846
28.2.4 Sicherheit auf Anwendungsebene
846
28.3 Weiterführende Optionen
855
28.4 Zusammenfassung
856
29 Internationalisierung
857
29.1 Eine Anwendungssprache auswählen
857
29.2 Eine Anwendung übersetzen
859
29.2.1 Bereich »Anwendungssprachen definieren«
860
29.2.2 Bereich »Übersetzbaren Text vordefinieren«
861
29.2.3 Bereich »XLIFF-Übersetzungsdateien herunterladen«
862
29.2.4 Bereich »Text übersetzen«
864
29.2.5 Bereich »XLIFF-Übersetzungsdateien anwenden«
864
29.2.6 Bereich »Übersetzte Anwendungen veröffentlichen«
865
29.3 Weitere Werkzeuge zur Übersetzung
865
29.3.1 Bereich »Textnachrichten«
865
29.3.2 Bereich »Dynamische Übersetzungen«
867
29.3.3 Bereich »Übersetzungs-Repository«
868
29.4 Sonstige Herausforderungen der Internationalisierung
868
29.4.1 Stammdaten der Datenbank
869
29.4.2 Umgang mit Datum und Zeit
869
29.4.3 Kulturelle und gesetzliche Unterschiede
870
29.4.4 Icons und Schreibrichtung
871
Anhang
873
A Installation von APEX
875
B Liste der Navigationskürzel
893
C Glossar
897
Index
907