Beckmann Oracle Application Express in der Praxis

Mit APEX datenbankbasierte Webanwendungen entwickeln

E-Book, Deutsch, 416 Seiten

ISBN: 978-3-446-43913-9
Verlag: Carl Hanser
Format: PDF
Kopierschutz: Wasserzeichen (»Systemvoraussetzungen)



Oracle Application Express in der Praxis //
- Lernen Sie, wie APEX funktioniert und wie Sie iterativ Anwendungen für den Unternehmenseinsatz entwickeln
- Erfahren Sie, wie Sie mit APEX 4.2 mobile Anwendungen erstellen
- Sichern Sie Ihre APEX-Anwendungen und beugen Sie Angriffen vor
- Nutzen Sie die neuen Möglichkeiten von APEX 4.2.
- Modularisieren Sie Ihre Anwendungen durch die Erstellung von PlugIns


Die Fähigkeiten eines Softwareentwicklers, in zunehmend kürzerer Zeit Anwendungen zu entwickeln, wird immer mehr zu einem entscheidenden Faktor für den IT-Experten. Mit ORACLE Application Express steht Ihnen eine mächtige Entwicklungsumgebung zur Verfügung, mit der Sie komplexe Unternehmensanwendungen in einer atemberaubenden Geschwindigkeit erstellen können.


Dieses Buch führt leicht verständlich in die Entwicklung datenbankbasierter Webanwendungen mit APEX 4.2 ein und bietet Ihnen einen praxisnahen Überblick. Sie können alle notwendigen Entwicklungsschritte – von der Installation bis hin zur fertigen Web-Anwendung – anhand eines durchgängigen Beispiels einer „Projektmanagementplattform“ systematisch und umfänglich nachvollziehen.


Neben den APEX-Grundlagen werden aber auch Themen wie die Entwicklung multilingualer Anwendungen, die Entwicklung von mobilen Web-Apps und das Deployment von APEX Anwendungen behandelt. Die Verwendung interessanter Funktionen wie z.B. Data-Load-Wizards, Plug-ins und WebSheet-Anwendungen runden dieses Werk ab.


AUS DEM INHALT //
Was ist APEX? // Eine Anwendung erstellen // Bestandteile einer APEX-Anwendung // Themes und Templates // Session-State // Seiten, Regionen, Items // Berechnung (computation), Prozesse, Validierungen // Wertelisten (List of Values) // Rasterlayout (Grid Layout) // Data-Load-Wizard // Registerkarten, Listen und Breadcrumps // Interaktive Grids, Diagramme, Bäume und Kalender // Dynamische Aktionen (Dynamic Actions) // Fehlersuche // Sicherheit (APEX härten, Tampering, Cross-Site Scripting, SQL-Injection, Brute Force) // Plug-ins // Mobile // Anwendungen und das Responsive Design // Websheets // Mehrsprachige APEX-Anwendungen // Deployment


Systemvoraussetzungen für E-Book inside: Internet-Verbindung und Adobe-Reader
Beckmann Oracle Application Express in der Praxis jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Inhalt;6
2;Einleitung;16
3;1 Was ist APEX?;18
3.1;1.1 Aufbau und Funktionsweise von APEX;18
3.1.1;1.1.1 Architektur;19
3.1.2;1.1.2 APEX-Engine;21
3.1.3;1.1.3 Embedded PL/SQL Gateway (EPG);22
3.1.4;1.1.4 Oracle HTTP Server (OHS);23
3.1.5;1.1.5 APEX-Listener;24
3.1.6;1.1.6 Workspaces und Datenbankschema;25
3.2;1.2 Für Kurzentschlossene ..... apex.oracle.com;26
3.3;1.3 Installation eine Oracle Express Edition mit APEX 4.2;27
3.3.1;1.3.1 Download von der Oracle-Homepage;28
3.3.2;1.3.2 Installation der Datenbank;28
3.3.3;1.3.3 Upgrade auf APEX 4.2;29
3.3.4;1.3.4 Bilder installieren;30
3.3.5;1.3.5 Passwort des ADMIN-Accounts ändern;31
3.3.6;1.3.6 Sprache der Entwicklungsumgebung auf Deutsch anpassen;31
3.3.7;1.3.7 HTTP-Port ändern/externen Zugriff erlauben;32
3.4;1.4 Anmelden an APEX – Admin und ­Developer;33
3.4.1;1.4.1 Einen Workspace anlegen;33
3.4.2;1.4.2 Passwortrichtlinien ändern;36
3.4.3;1.4.3 Einen Anwendungsentwickler anlegen;36
3.5;1.5 APEX-Werkzeuge;39
3.5.1;1.5.1 Die Entwicklungsumgebung starten;39
3.5.2;1.5.2 Der Application Builder;41
3.5.3;1.5.3 Der SQL Workshop;42
3.6;1.6 SQL Developer einrichten;44
3.7;1.7 Zusammenfassung;45
4;2 Eine Anwendung erstellen;46
4.1;2.1 Bestandteile einer APEX-Anwendung;46
4.1.1;2.1.1 Seiten;47
4.1.2;2.1.2 Regionen;48
4.1.3;2.1.3 Seitenelemente;49
4.2;2.2 Themes und Templates;51
4.3;2.3 Der Entwicklungsprozess;54
4.4;2.4 Fallbeispiel: die Aufgabenverwaltung;55
4.5;2.5 Objektbrowser;55
4.5.1;2.5.1 Starten des Objektbrowsers;56
4.5.2;2.5.2 Erstellung einer Tabelle;57
4.6;2.6 Erstellen einer APEX-Anwendung;61
4.7;2.7 Starten und Bedienung einer APEX-Anwendung;64
4.7.1;2.7.1 Starten einer Anwendung;65
4.7.2;2.7.2 Die Aufgabenverwaltung;66
4.7.3;2.7.3 Ergebnis;69
4.8;2.8 Seiten bearbeiten;70
4.8.1;2.8.1 Application Builder;70
4.8.2;2.8.2 Seitendefinition;72
4.8.3;2.8.3 Die Entwicklertoolbar;73
4.8.4;2.8.4 Eigenschaften bearbeiten;74
4.9;2.9 Session-State;74
4.9.1;2.9.1 Serverseitiger Session State – Persisted Session State;76
4.9.2;2.9.2 Clientseitiger Session State – IN MEMORY Session State (IMSS);76
4.10;2.10 Funktionsweise einer Seite – Insert und Update;77
4.10.1;2.10.1 Seitenwiedergabe – Page Rendering;77
4.10.2;2.10.2 Seitenverarbeitung – Page Processing;80
4.10.3;2.10.3 Bestandteile der Seite (2)-Aufgaben bearbeiten;81
4.10.4;2.10.4 Eine neue Aufgabe anlegen;83
4.10.5;2.10.5 Öffnen und Ändern einer Aufgabe – Parameterübergabe per Link;88
4.11;2.11 Konkurrierende Zugriffe – ­Mehrbenutzerfähigkeit;93
4.12;2.12 Zusammenfassung;94
5;3 Seiten (Pages);96
5.1;3.1 Beschriftungen anpassen;96
5.1.1;3.1.1 Beschriftungen des Interaktiven Grid anpassen;97
5.1.2;3.1.2 Item-Beschriftungen ändern;98
5.1.3;3.1.3 Regionstitel anpassen;100
5.2;3.2 Item-Typen ändern;102
5.3;3.3 Berechnung (computation);104
5.3.1;3.3.1 Was sind Berechnungen?;104
5.3.2;3.3.2 Der Änderungszeitpunkt und der letzte Bearbeiter;105
5.3.3;3.3.3 Items ausblenden;106
5.4;3.4 PL/SQL-Prozess erstellen – Audit Log;106
5.4.1;3.4.1 Was sind Prozesse?;106
5.4.2;3.4.2 Änderungshistorie;107
5.4.3;3.4.3 Datenmodell;108
5.4.4;3.4.4 Referenzieren von Item-Werten;108
5.4.5;3.4.5 Insert Statement;109
5.4.6;3.4.6 Prozess erstellen;109
5.5;3.5 Validierungen;111
5.5.1;3.5.1 Was sind Validierungen?;111
5.5.2;3.5.2 Pflichtfelder;112
5.5.3;3.5.3 Validierung mittels PL/SQL;114
5.5.4;3.5.4 Abhängigkeit zweier Items voneinander;116
5.5.5;3.5.5 Ausgabemöglichkeit: Inline mit Feld und in Benachrichtigung;119
5.6;3.6 Standardwerte festlegen;121
5.7;3.7 Bedingungen (Conditions);122
5.8;3.8 Kontextsensitive Hilfen;124
5.9;3.9 Zusammenfassung;125
6;4 Wertelisten (List of Values);126
6.1;4.1 Was sind Wertelisten?;126
6.2;4.2 Statische Wertelisten;129
6.3;4.3 Selbstlernende dynamische Wertelisten;132
6.4;4.4 Dynamische Wertelisten auf Basis einer Lookup-Tabelle;133
6.4.1;4.4.1 Lookup-Tabelle mit dem Objektbrowser erstellen;134
6.4.2;4.4.2 Foreign-Key-Constraint im Objektbrowser;137
6.4.3;4.4.3 Joinen mit dem Querybuilder;137
6.4.4;4.4.4 Datenquelle eines Seitenelements anpassen;140
6.4.5;4.4.5 Klassischer Bericht mit Form erstellen;142
6.4.6;4.4.6 Dynamische List of Values erstellen;145
6.5;4.5 Gespeicherte Wertelisten;147
6.5.1;4.5.1 Gemeinsame Komponenten;147
6.5.2;4.5.2 Gemeinsame Wertelisten erstellen;149
6.5.3;4.5.3 Werteliste konvertieren und verwenden;150
6.6;4.6 Generative Werteliste;151
6.6.1;4.6.1 Tabelle für externe Ansprechpartner;152
6.6.2;4.6.2 Interaktives Grid mit Form erstellen;153
6.6.3;4.6.3 Select-Statements für externe Ansprechpartner;154
6.6.4;4.6.4 APEX-Views;154
6.6.5;4.6.5 Kaskadierende LOV;156
6.6.6;4.6.6 Ergebnis;158
6.7;4.7 Quick Picks;159
6.8;4.8 Zusammenfassung;160
7;5 Erweiterte Funktionalität;162
7.1;5.1 Fallbeispiel: die Projektverwaltung;163
7.1.1;5.1.1 Tabelle mit Unique Key Constraint erstellen;163
7.1.2;5.1.2 Form zum Anlegen von Projekten;165
7.1.3;5.1.3 Rich-Text-Editor;167
7.1.4;5.1.4 LOV-Projektleiter;168
7.1.5;5.1.5 Anwendung umbenennen;169
7.1.6;5.1.6 Spalte und Items hinzufügen;170
7.1.7;5.1.7 Interaktives Grid mit dem SQL Developer überarbeiten;173
7.2;5.2 Seitenlayout;176
7.2.1;5.2.1 Anzeigepunkte;176
7.2.2;5.2.2 Verschachteln;179
7.2.3;5.2.3 Rasterlayout (Grid Layout);179
7.2.4;5.2.4 Seite „Projekte bearbeiten“ mit neuem Layout;181
7.3;5.3 Bilder verwenden;184
7.3.1;5.3.1 Bilder verwalten;184
7.3.2;5.3.2 Bilder referenzieren;184
7.3.3;5.3.3 Anwendungslogo einfügen;186
7.4;5.4 Anhänge verwalten;187
7.4.1;5.4.1 Datenmodell erweitern;187
7.4.2;5.4.2 Anwendung erweitern;188
7.4.3;5.4.3 Download-Link im Interaktiven Grid;189
7.5;5.5 Daten importieren;192
7.5.1;5.5.1 Data-Load-Wizard erstellen;192
7.5.2;5.5.2 Image-Button erstellen;194
7.5.3;5.5.3 Daten hochladen;195
7.6;5.6 Zusammenfassung;196
8;6 Navigation;198
8.1;6.1 Was sind Navigationselemente?;198
8.2;6.2 Registerkarten und Registerkarten­gruppen;200
8.2.1;6.2.1 Ein- und zweistufige Menüs;200
8.2.2;6.2.2 Menüstruktur festlegen;201
8.2.3;6.2.3 Seitenwiedergabe;202
8.2.4;6.2.4 Neue Registerkarte bei der Erstellung einer Seite;204
8.2.5;6.2.5 Registerkarten und Registerkartengruppen bearbeiten;205
8.3;6.3 Listen;209
8.3.1;6.3.1 Was sind Listen?;209
8.3.2;6.3.2 Listen erstellen;210
8.3.3;6.3.3 Listen verwenden;211
8.4;6.4 Navigationspfad (Breadcrumps);212
8.4.1;6.4.1 Was sind Navigationspfade?;212
8.4.2;6.4.2 Erstellen von Navigationspfaden über die gemeinsamen ­Komponenten;213
8.4.3;6.4.3 Zuordnen von Navigationspfaden;214
8.5;6.5 Navigationsleiste;215
8.5.1;6.5.1 Feedback einfügen;216
8.6;6.6 Zusammenfassung;219
9;7 Interaktives Grid;220
9.1;7.1 Suchen, filtern und sortieren;220
9.1.1;7.1.1 Freitextfilter;221
9.1.2;7.1.2 Nach Spalteninhalten filtern;222
9.1.3;7.1.3 Sortieren;224
9.2;7.2 Spalten ein- und ausblenden;225
9.3;7.3 Berechnete Spalten;226
9.4;7.4 Markierungen;226
9.5;7.5 Kontrollgruppenwechsel;228
9.6;7.6 Aggregation;229
9.7;7.7 Speichern von Berichtsansichten;230
9.7.1;7.7.1 Eigene offene Punkte;230
9.7.2;7.7.2 Offene Punkte;231
9.7.3;7.7.3 Aufgabendarstellung nach Projekten;232
9.7.4;7.7.4 Berichtsansichten administrieren;233
9.8;7.8 Filter per Link setzen;234
9.9;7.9 Charts: grafische Auswertungen;237
9.10;7.10 Exportieren;238
9.11;7.11 Senden als E-Mail;239
9.11.1;7.11.1 Access Control List (ACL);239
9.11.2;7.11.2 Mails versenden;240
9.11.3;7.11.3 Subscription – Bericht per Mail versenden;242
9.12;7.12 Optionen des Interaktiven Grid;244
9.13;7.13 Zusammenfassung;245
10;8 Diagramme;246
10.1;8.1 Diagrammtypen;246
10.2;8.2 Ring-Diagramm;247
10.2.1;8.2.1 Select-Anweisung erstellen;247
10.2.2;8.2.2 Ring-Diagramm einfügen;248
10.2.3;8.2.3 Filter einfügen;249
10.3;8.3 Gantt-Diagramm;253
10.3.1;8.3.1 Datenmodell und Anwendung erweitern;253
10.3.2;8.3.2 Datumsfeld einfügen;253
10.3.3;8.3.3 Parent-Child-Werteliste;254
10.3.4;8.3.4 Hierarchische Select-Statements;255
10.3.5;8.3.5 Gantt-Diagramm einfügen;261
10.3.6;8.3.6 Rücksprung zur Ausgangsseite;262
10.4;8.4 Browserabhängigkeit;263
10.5;8.5 Zusammenfassung;266
11;9 Weitere Regionen;268
11.1;9.1 Baumstruktur: Projektstrukturbaum;268
11.2;9.2 Kalender;272
11.3;9.3 Zusammenfassung;274
12;10 Dynamische Aktionen (Dynamic Actions);276
12.1;10.1 Was sind Dynamische Aktionen?;276
12.2;10.2 Seitenelemente ein- und ausblenden;278
12.3;10.3 PL/SQL-Ausführen;280
12.4;10.4 Zusammenfassung;282
13;11 Fehlersuche;284
13.1;11.1 APEX-Advisor;285
13.2;11.2 Datenbankobjektabhängigkeiten;287
13.3;11.3 Debug-Mode;288
13.3.1;11.3.1 Debugging aktivieren und anzeigen;288
13.3.2;11.3.2 Eigene Debug-Log-Einträge hinzufügen;290
13.4;11.4 SQL Tracing und TKPROF;293
13.5;11.5 Browser-Fehler;295
13.6;11.6 Monitoring;297
13.7;11.7 Bekannte Fehler;298
13.8;11.8 Zusammenfassung;298
14;12 Sicherheit;300
14.1;12.1 Minimalprinzip;301
14.2;12.2 Angriffen entgegenwirken;301
14.2.1;12.2.1 APEX härten;301
14.2.2;12.2.2 URL Rewriting/Tampering;307
14.2.3;12.3.3 Cross-Site Scripting;309
14.2.4;12.2.4 SQL-Injection;310
14.2.5;12.2.5 Brute Force;311
14.3;12.3 APEX-Sicherheit;312
14.3.1;12.3.1 Authentifizierungsschema;312
14.3.2;12.3.2 APEX-Benutzerverwaltung;313
14.3.3;12.3.3 Autorisierungsschema – funktionale Berechtigungen;314
14.3.4;12.3.4 Sichtrechte – Anforderung an das Datenmodell;319
14.4;12.4 Zusammenfassung;322
15;13 Plug-ins;324
15.1;13.1 Was sind Plug-ins?;325
15.1.1;13.1.1 Neue Plug-ins erstellen;325
15.1.2;13.1.2 Callbacks;326
15.1.3;13.1.3 Attribute;327
15.1.4;13.1.4 Dateien hochladen;328
15.1.5;13.1.5 Debuggen;329
15.2;13.2 Element-Plug-in (Item Type Plug-in);330
15.2.1;13.2.1 Das Plug-in LookUp erstellen;330
15.2.2;13.2.2 Plug-in LookUp verwenden;333
15.3;13.3 Region-Plug-in (Region Type Plug-in);334
15.3.1;13.3.1 Datenquelle für das Sitemap-Plug-in;334
15.3.2;13.3.2 CSS und HTML für das Sitemap-Plug-in;336
15.3.3;13.3.3 Plug-in Sitemap erstellen;339
15.3.4;13.3.4 Plug-in Sitemap verwenden;341
15.4;13.4 Prozess-Plug-in;343
15.4.1;13.4.1 Execute Immediate;343
15.4.2;13.4.2 Plug-in Audit erstellen;343
15.4.3;13.4.3 Plug-in Audit verwenden;347
15.5;13.5 Plug-ins exportieren und importieren;348
15.6;13.6 Zusammenfassung;348
16;14 Mobile Anwendungen;350
16.1;14.1 Was sind mobile APEX-Anwendungen?;350
16.2;14.2 Responsive Design-Theme 25\26;351
16.2.1;14.2.1 Rasterlayout;351
16.2.2;14.2.2 Media-Queries und CSS3-Hilfsklassen;353
16.3;14.3 Fallbeispiel: mobile Aufwandserfassung;355
16.3.1;14.3.1 Datenmodell;355
16.3.2;14.3.2 Die Anwendung;356
16.4;14.4 Erstellen einer mobilen Anwendung;356
16.5;14.5 Der Entwicklungsprozess;358
16.5.1;14.5.1 Anwendung starten;358
16.5.2;14.5.2 Session-State;359
16.5.3;14.5.3 Debuggen;360
16.6;14.6 Bestandteile einer mobilen Anwendung;362
16.6.1;14.6.1 Seiten;362
16.6.2;14.6.2 Regionen;362
16.6.3;14.6.3 Seitenelemente;363
16.7;14.7 Mobile Web-App: Time Sheet;363
16.7.1;14.7.1 Aufgabenübersicht;363
16.7.2;14.7.2 Aufgaben fertig melden;364
16.7.3;14.7.3 Listenansicht optimieren;366
16.7.4;14.7.4 Form Aufgaben abschließen optimieren;368
16.7.5;14.7.5 Menü erstellen;369
16.7.6;14.7.6 Zeiterfassung;370
16.8;14.8 Entwicklungs- und Testumgebung;373
16.9;14.9 Zusammenfassung;374
17;15 Websheets;376
17.1;15.1 Was sind Websheets?;376
17.2;15.2 Abschnitte (Sections);378
17.3;15.3 Datenraster (Data Grid);378
17.4;15.4 Erstellen einer Websheet-Anwendung;379
17.4.1;15.4.1 Fallbeispiel;379
17.4.2;15.4.2 Anwendung erstellen;379
17.4.3;15.4.3 Neue Seite – die Projekt-News;380
17.4.4;15.4.4 Bilder einbetten – Markups;382
17.4.5;15.4.5 Navigation;384
17.4.6;15.4.6 Neues Datenraster: die Kostenübersicht;385
17.5;15.5 Administration;388
17.5.1;15.5.1 Anwendungseigenschaften;388
17.6;15.6 Zusammenfassung;388
18;16 Mehrsprachige APEX-Anwendungen;390
18.1;16.1 Vorgehen;390
18.2;16.2 Globalization-Attribute;391
18.3;16.3 Anwendung übersetzen;392
18.4;16.4 Primäranwendung einer übersetzten Anwendung zuordnen;393
18.5;16.5 Übersetzte Texte in Übersetzungs-­Repository vordefinieren;393
18.6;16.6 XLIFF-Übersetzungsdatei aus dem Übersetzungs-Repository herunterladen;394
18.7;16.7 XLIFF-Datei hochladen und einspielen;395
18.8;16.8 Sprache wechseln;396
18.9;16.9 Dynamische Übersetzungen;398
18.10;16.10 Statische Wertelisten;399
18.11;16.11 Zusammenfassung;399
19;17 Deployment;400
19.1;17.1 Export und Import;400
19.1.1;17.1.1 Export;400
19.1.2;17.1.2 Import;402
19.2;17.2 Anwendungspakete (Packaged Applications);403
19.2.1;17.2.1 Abhängige Objekte ermitteln;404
19.2.2;17.2.2 DDL-Installationsskripte erstellen;404
19.2.3;17.2.3 Unterstützte Objekte;405
19.2.4;17.2.4 Anwendung exportieren;406
19.2.5;17.2.5 Probleme beim Deployment;407
19.3;17.3 Migration;407
19.4;17.4 Zusammenfassung;408
20;18 Anhang;410
20.1;18.1 Datenmodell Aufgabenverwaltung;410
20.1.1;18.1.1 Die Aufgabenverwaltung;411
20.1.2;18.1.2 Die Projektverwaltung;411
20.2;18.2 Anwendungen;412
20.2.1;18.2.1 Die Aufgabenverwaltung;412
20.2.2;18.2.2 Die Projektverwaltung;413
21;Index;416


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.