Oracle Application Express in der Praxis - Mit APEX datenbankbasierte Webanwendungen entwickeln

Ralf Beckmann

Oracle Application Express in der Praxis

Mit APEX datenbankbasierte Webanwendungen entwickeln

2013

416 Seiten

Format: PDF, Online Lesen

E-Book: €  47,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446439139

 

Inhalt

6

Einleitung

16

1 Was ist APEX?

18

1.1 Aufbau und Funktionsweise von APEX

18

1.1.1 Architektur

19

1.1.2 APEX-Engine

21

1.1.3 Embedded PL/SQL Gateway (EPG)

22

1.1.4 Oracle HTTP Server (OHS)

23

1.1.5 APEX-Listener

24

1.1.6 Workspaces und Datenbankschema

25

1.2 Für Kurzentschlossene ..... apex.oracle.com

26

1.3 Installation eine Oracle Express Edition mit APEX 4.2

27

1.3.1 Download von der Oracle-Homepage

28

1.3.2 Installation der Datenbank

28

1.3.3 Upgrade auf APEX 4.2

29

1.3.4 Bilder installieren

30

1.3.5 Passwort des ADMIN-Accounts ändern

31

1.3.6 Sprache der Entwicklungsumgebung auf Deutsch anpassen

31

1.3.7 HTTP-Port ändern/externen Zugriff erlauben

32

1.4 Anmelden an APEX – Admin und ­Developer

33

1.4.1 Einen Workspace anlegen

33

1.4.2 Passwortrichtlinien ändern

36

1.4.3 Einen Anwendungsentwickler anlegen

36

1.5 APEX-Werkzeuge

39

1.5.1 Die Entwicklungsumgebung starten

39

1.5.2 Der Application Builder

41

1.5.3 Der SQL Workshop

42

1.6 SQL Developer einrichten

44

1.7 Zusammenfassung

45

2 Eine Anwendung erstellen

46

2.1 Bestandteile einer APEX-Anwendung

46

2.1.1 Seiten

47

2.1.2 Regionen

48

2.1.3 Seitenelemente

49

2.2 Themes und Templates

51

2.3 Der Entwicklungsprozess

54

2.4 Fallbeispiel: die Aufgabenverwaltung

55

2.5 Objektbrowser

55

2.5.1 Starten des Objektbrowsers

56

2.5.2 Erstellung einer Tabelle

57

2.6 Erstellen einer APEX-Anwendung

61

2.7 Starten und Bedienung einer APEX-Anwendung

64

2.7.1 Starten einer Anwendung

65

2.7.2 Die Aufgabenverwaltung

66

2.7.3 Ergebnis

69

2.8 Seiten bearbeiten

70

2.8.1 Application Builder

70

2.8.2 Seitendefinition

72

2.8.3 Die Entwicklertoolbar

73

2.8.4 Eigenschaften bearbeiten

74

2.9 Session-State

74

2.9.1 Serverseitiger Session State – Persisted Session State

76

2.9.2 Clientseitiger Session State – IN MEMORY Session State (IMSS)

76

2.10 Funktionsweise einer Seite – Insert und Update

77

2.10.1 Seitenwiedergabe – Page Rendering

77

2.10.2 Seitenverarbeitung – Page Processing

80

2.10.3 Bestandteile der Seite (2)-Aufgaben bearbeiten

81

2.10.4 Eine neue Aufgabe anlegen

83

2.10.5 Öffnen und Ändern einer Aufgabe – Parameterübergabe per Link

88

2.11 Konkurrierende Zugriffe – ­Mehrbenutzerfähigkeit

93

2.12 Zusammenfassung

94

3 Seiten (Pages)

96

3.1 Beschriftungen anpassen

96

3.1.1 Beschriftungen des Interaktiven Grid anpassen

97

3.1.2 Item-Beschriftungen ändern

98

3.1.3 Regionstitel anpassen

100

3.2 Item-Typen ändern

102

3.3 Berechnung (computation)

104

3.3.1 Was sind Berechnungen?

104

3.3.2 Der Änderungszeitpunkt und der letzte Bearbeiter

105

3.3.3 Items ausblenden

106

3.4 PL/SQL-Prozess erstellen – Audit Log

106

3.4.1 Was sind Prozesse?

106

3.4.2 Änderungshistorie

107

3.4.3 Datenmodell

108

3.4.4 Referenzieren von Item-Werten

108

3.4.5 Insert Statement

109

3.4.6 Prozess erstellen

109

3.5 Validierungen

111

3.5.1 Was sind Validierungen?

111

3.5.2 Pflichtfelder

112

3.5.3 Validierung mittels PL/SQL

114

3.5.4 Abhängigkeit zweier Items voneinander

116

3.5.5 Ausgabemöglichkeit: Inline mit Feld und in Benachrichtigung

119

3.6 Standardwerte festlegen

121

3.7 Bedingungen (Conditions)

122

3.8 Kontextsensitive Hilfen

124

3.9 Zusammenfassung

125

4 Wertelisten (List of Values)

126

4.1 Was sind Wertelisten?

126

4.2 Statische Wertelisten

129

4.3 Selbstlernende dynamische Wertelisten

132

4.4 Dynamische Wertelisten auf Basis einer Lookup-Tabelle

133

4.4.1 Lookup-Tabelle mit dem Objektbrowser erstellen

134

4.4.2 Foreign-Key-Constraint im Objektbrowser

137

4.4.3 Joinen mit dem Querybuilder

137

4.4.4 Datenquelle eines Seitenelements anpassen

140

4.4.5 Klassischer Bericht mit Form erstellen

142

4.4.6 Dynamische List of Values erstellen

145

4.5 Gespeicherte Wertelisten

147

4.5.1 Gemeinsame Komponenten

147

4.5.2 Gemeinsame Wertelisten erstellen

149

4.5.3 Werteliste konvertieren und verwenden

150

4.6 Generative Werteliste

151

4.6.1 Tabelle für externe Ansprechpartner

152

4.6.2 Interaktives Grid mit Form erstellen

153

4.6.3 Select-Statements für externe Ansprechpartner

154

4.6.4 APEX-Views

154

4.6.5 Kaskadierende LOV

156

4.6.6 Ergebnis

158

4.7 Quick Picks

159

4.8 Zusammenfassung

160

5 Erweiterte Funktionalität

162

5.1 Fallbeispiel: die Projektverwaltung

163

5.1.1 Tabelle mit Unique Key Constraint erstellen

163

5.1.2 Form zum Anlegen von Projekten

165

5.1.3 Rich-Text-Editor

167

5.1.4 LOV-Projektleiter

168

5.1.5 Anwendung umbenennen

169

5.1.6 Spalte und Items hinzufügen

170

5.1.7 Interaktives Grid mit dem SQL Developer überarbeiten

173

5.2 Seitenlayout

176

5.2.1 Anzeigepunkte

176

5.2.2 Verschachteln

179

5.2.3 Rasterlayout (Grid Layout)

179

5.2.4 Seite „Projekte bearbeiten“ mit neuem Layout

181

5.3 Bilder verwenden

184

5.3.1 Bilder verwalten

184

5.3.2 Bilder referenzieren

184

5.3.3 Anwendungslogo einfügen

186

5.4 Anhänge verwalten

187

5.4.1 Datenmodell erweitern

187

5.4.2 Anwendung erweitern

188

5.4.3 Download-Link im Interaktiven Grid

189

5.5 Daten importieren

192

5.5.1 Data-Load-Wizard erstellen

192

5.5.2 Image-Button erstellen

194

5.5.3 Daten hochladen

195

5.6 Zusammenfassung

196

6 Navigation

198

6.1 Was sind Navigationselemente?

198

6.2 Registerkarten und Registerkarten­gruppen

200

6.2.1 Ein- und zweistufige Menüs

200

6.2.2 Menüstruktur festlegen

201

6.2.3 Seitenwiedergabe

202

6.2.4 Neue Registerkarte bei der Erstellung einer Seite

204

6.2.5 Registerkarten und Registerkartengruppen bearbeiten

205

6.3 Listen

209

6.3.1 Was sind Listen?

209

6.3.2 Listen erstellen

210

6.3.3 Listen verwenden

211

6.4 Navigationspfad (Breadcrumps)

212

6.4.1 Was sind Navigationspfade?

212

6.4.2 Erstellen von Navigationspfaden über die gemeinsamen ­Komponenten

213

6.4.3 Zuordnen von Navigationspfaden

214

6.5 Navigationsleiste

215

6.5.1 Feedback einfügen

216

6.6 Zusammenfassung

219

7 Interaktives Grid

220

7.1 Suchen, filtern und sortieren

220

7.1.1 Freitextfilter

221

7.1.2 Nach Spalteninhalten filtern

222

7.1.3 Sortieren

224

7.2 Spalten ein- und ausblenden

225

7.3 Berechnete Spalten

226

7.4 Markierungen

226

7.5 Kontrollgruppenwechsel

228

7.6 Aggregation

229

7.7 Speichern von Berichtsansichten

230

7.7.1 Eigene offene Punkte

230

7.7.2 Offene Punkte

231

7.7.3 Aufgabendarstellung nach Projekten

232

7.7.4 Berichtsansichten administrieren

233

7.8 Filter per Link setzen

234

7.9 Charts: grafische Auswertungen

237

7.10 Exportieren

238

7.11 Senden als E-Mail

239

7.11.1 Access Control List (ACL)

239

7.11.2 Mails versenden

240

7.11.3 Subscription – Bericht per Mail versenden

242

7.12 Optionen des Interaktiven Grid

244

7.13 Zusammenfassung

245

8 Diagramme

246

8.1 Diagrammtypen

246

8.2 Ring-Diagramm

247

8.2.1 Select-Anweisung erstellen

247

8.2.2 Ring-Diagramm einfügen

248

8.2.3 Filter einfügen

249

8.3 Gantt-Diagramm

253

8.3.1 Datenmodell und Anwendung erweitern

253

8.3.2 Datumsfeld einfügen

253

8.3.3 Parent-Child-Werteliste

254

8.3.4 Hierarchische Select-Statements

255

8.3.5 Gantt-Diagramm einfügen

261

8.3.6 Rücksprung zur Ausgangsseite

262

8.4 Browserabhängigkeit

263

8.5 Zusammenfassung

266

9 Weitere Regionen

268

9.1 Baumstruktur: Projektstrukturbaum

268

9.2 Kalender

272

9.3 Zusammenfassung

274

10 Dynamische Aktionen (Dynamic Actions)

276

10.1 Was sind Dynamische Aktionen?

276

10.2 Seitenelemente ein- und ausblenden

278

10.3 PL/SQL-Ausführen

280

10.4 Zusammenfassung

282

11 Fehlersuche

284

11.1 APEX-Advisor

285

11.2 Datenbankobjektabhängigkeiten

287

11.3 Debug-Mode

288

11.3.1 Debugging aktivieren und anzeigen

288

11.3.2 Eigene Debug-Log-Einträge hinzufügen

290

11.4 SQL Tracing und TKPROF

293

11.5 Browser-Fehler

295

11.6 Monitoring

297

11.7 Bekannte Fehler

298

11.8 Zusammenfassung

298

12 Sicherheit

300

12.1 Minimalprinzip

301

12.2 Angriffen entgegenwirken

301

12.2.1 APEX härten

301

12.2.2 URL Rewriting/Tampering

307

12.3.3 Cross-Site Scripting

309

12.2.4 SQL-Injection

310

12.2.5 Brute Force

311

12.3 APEX-Sicherheit

312

12.3.1 Authentifizierungsschema

312

12.3.2 APEX-Benutzerverwaltung

313

12.3.3 Autorisierungsschema – funktionale Berechtigungen

314

12.3.4 Sichtrechte – Anforderung an das Datenmodell

319

12.4 Zusammenfassung

322

13 Plug-ins

324

13.1 Was sind Plug-ins?

325

13.1.1 Neue Plug-ins erstellen

325

13.1.2 Callbacks

326

13.1.3 Attribute

327

13.1.4 Dateien hochladen

328

13.1.5 Debuggen

329

13.2 Element-Plug-in (Item Type Plug-in)

330

13.2.1 Das Plug-in LookUp erstellen

330

13.2.2 Plug-in LookUp verwenden

333

13.3 Region-Plug-in (Region Type Plug-in)

334

13.3.1 Datenquelle für das Sitemap-Plug-in

334

13.3.2 CSS und HTML für das Sitemap-Plug-in

336

13.3.3 Plug-in Sitemap erstellen

339

13.3.4 Plug-in Sitemap verwenden

341

13.4 Prozess-Plug-in

343

13.4.1 Execute Immediate

343

13.4.2 Plug-in Audit erstellen

343

13.4.3 Plug-in Audit verwenden

347

13.5 Plug-ins exportieren und importieren

348

13.6 Zusammenfassung

348

14 Mobile Anwendungen

350

14.1 Was sind mobile APEX-Anwendungen?

350

14.2 Responsive Design-Theme 25\26

351

14.2.1 Rasterlayout

351

14.2.2 Media-Queries und CSS3-Hilfsklassen

353

14.3 Fallbeispiel: mobile Aufwandserfassung

355

14.3.1 Datenmodell

355

14.3.2 Die Anwendung

356

14.4 Erstellen einer mobilen Anwendung

356

14.5 Der Entwicklungsprozess

358

14.5.1 Anwendung starten

358

14.5.2 Session-State

359

14.5.3 Debuggen

360

14.6 Bestandteile einer mobilen Anwendung

362

14.6.1 Seiten

362

14.6.2 Regionen

362

14.6.3 Seitenelemente

363

14.7 Mobile Web-App: Time Sheet

363

14.7.1 Aufgabenübersicht

363

14.7.2 Aufgaben fertig melden

364

14.7.3 Listenansicht optimieren

366

14.7.4 Form Aufgaben abschließen optimieren

368

14.7.5 Menü erstellen

369

14.7.6 Zeiterfassung

370

14.8 Entwicklungs- und Testumgebung

373

14.9 Zusammenfassung

374

15 Websheets

376

15.1 Was sind Websheets?

376

15.2 Abschnitte (Sections)

378

15.3 Datenraster (Data Grid)

378

15.4 Erstellen einer Websheet-Anwendung

379

15.4.1 Fallbeispiel

379

15.4.2 Anwendung erstellen

379

15.4.3 Neue Seite – die Projekt-News

380

15.4.4 Bilder einbetten – Markups

382

15.4.5 Navigation

384

15.4.6 Neues Datenraster: die Kostenübersicht

385

15.5 Administration

388

15.5.1 Anwendungseigenschaften

388

15.6 Zusammenfassung

388

16 Mehrsprachige APEX-Anwendungen

390

16.1 Vorgehen

390

16.2 Globalization-Attribute

391

16.3 Anwendung übersetzen

392

16.4 Primäranwendung einer übersetzten Anwendung zuordnen

393

16.5 Übersetzte Texte in Übersetzungs-­Repository vordefinieren

393

16.6 XLIFF-Übersetzungsdatei aus dem Übersetzungs-Repository herunterladen

394

16.7 XLIFF-Datei hochladen und einspielen

395

16.8 Sprache wechseln

396

16.9 Dynamische Übersetzungen

398

16.10 Statische Wertelisten

399

16.11 Zusammenfassung

399

17 Deployment

400

17.1 Export und Import

400

17.1.1 Export

400

17.1.2 Import

402

17.2 Anwendungspakete (Packaged Applications)

403

17.2.1 Abhängige Objekte ermitteln

404

17.2.2 DDL-Installationsskripte erstellen

404

17.2.3 Unterstützte Objekte

405

17.2.4 Anwendung exportieren

406

17.2.5 Probleme beim Deployment

407

17.3 Migration

407

17.4 Zusammenfassung

408

18 Anhang

410

18.1 Datenmodell Aufgabenverwaltung

410

18.1.1 Die Aufgabenverwaltung

411

18.1.2 Die Projektverwaltung

411

18.2 Anwendungen

412

18.2.1 Die Aufgabenverwaltung

412

18.2.2 Die Projektverwaltung

413

Index

416

 

© 2009-2024 ciando GmbH