Transcript
Page 1: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Application Express Ein Überblick

Bodo von Neuhaus Leitender Systemberater ORACLE Deutschland B.V. Co KG

Oracle Confidential – Internal/Restricted/Highly Restricted

Page 2: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Application Express (Oracle APEX) • Anwendungsentwicklung im Browser

– Desktop- und Mobile Applications

– Responsive Layouts: "State Of the Art"

• Bestandteil der Oracle-Datenbank

– Oracle Enterprise Edition

– Oracle Standard Edition/ Standard Edition One

– Oracle XE

• Supported Database Releases

– 10gR2, 11gR1 and 11gR2, 12c

Oracle Confidential – Internal/Restricted/Highly Restricted 2

Page 3: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Application Express: Architektur

• APEX-Engine läuft in der Datenbank

– Seiten-Processing und Rendering

– Webserver übernimmt nur Kommunikation

• APEX ist metadaten-Getrieben

– Keinerlei Code-Generierung

– Seiten-Rendering anhand Metadaten

• Nutzung aller Datenbankfunktionen

– Spatial, XML, JSON, Multimedia, PL/SQL

– Backup & Recovery, HA, Parallel, In-Memory

Oracle Confidential – Internal/Restricted/Highly Restricted 3

Browser / Client

APEX Webserver

Oracle Datenbank

Page 4: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX ist metadatengetrieben

• APEX implementiert ein "Datenmodell für Anwendungen"

– Alle Bestandteile einer Anwendung werden in Tabellen gespeichert

– Bearbeiten der Anwendung mit APEX Application Builder

– Rendering der Seiten anhand Metadaten

– Anwendungs-Data Dictionary stellt alle Informationen in Views bereit

• Sehr mächtige Architektur

– Keine Code-Generierung – alles kann jederzeit geändert werden

– Strukturierter Zugriff auf alle Anwendungsbestandteile

– QA auf völlig neuem Niveau: Suchen in Anwendungen mit SQL!

Oracle Confidential – Internal/Restricted/Highly Restricted 4

Page 5: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Strukturierte Informationen über APEX-Anwendungen

Oracle Confidential – Internal/Restricted/Highly Restricted 5

Page 6: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX Advisor: Praktische Nutzung der Metadaten

Oracle Confidential – Internal/Restricted/Highly Restricted 6

Page 7: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX-Webserver: Möglichkeiten

• Oracle REST Data Services (aka "APEX Listener")

– Java (JEE) basiert: Läuft im Java-Container

– Zusätzliche Features

• Apache mit mod_plsql

– Derzeit noch am häufigsten installiert

– Apache = Oracle HTTP Server (OHS)

– Eigenes Oracle HOME

• Embedded PL/SQL Gateway

– Oracle Listener als HTTP-Server

– XDB Protokollserver

Browser / Client

APEX Webserver

• ORDS • HTTP Server mit mod_plsql • DB Embedded Gateway

Oracle Datenbank

Page 8: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle REST Data Services

• Empfohlener Webserver für APEX

– Java (EE) Architektur: Erfordert Java Container

– Gute Integration in Standard-Architekturen

– Unterstützt Oracle12c Multitenant

• Mehr Funktionen als die Alternativen

– REST-Endpoint für Datenbankobjekte

– Zusätzliche Konfigurationsmöglichkeiten

• Früher bekannt als "APEX Listener"

Oracle Confidential – Internal/Restricted/Highly Restricted 8

Browser / Client

APEX Webserver

Oracle REST Data Services

Oracle Datenbank

Page 9: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Application Express

Oracle Confidential – Internal/Restricted/Highly Restricted 9

HTML DB 1.5 First Release

HTML DB 1.6 Themes

2004 2007 2012

APEX 2.1 Oracle XE

APEX 2.2 Packaged Applications

APEX 3.1 Interactive Reports

HTML DB 2.0

SQL Workshop

APEX 3.0 Flash Charts

PDF Printing

Access Migration

APEX 3.2 Oracle Forms to APEX

Conversion

APEX 4.1 Data Upload

Error Handling

ROWID

2006 2009 2011 2008 2005

APEX 4.2 Mobile

HTML5

Packaged Apps

APEX 4.0 Websheets

Dynamic Actions

Plug-Ins

Team Development

2010

APEX 5.0 Page Designer

Universal Theme

Modal Dialogs

2015

Page 10: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX: Unabhängige Arbeitsbereiche

Oracle Confidential – Internal/Restricted/Highly Restricted 10

Schema "1"

Table "A"

Schema "2"

Table "B"

View "C"

Schema "3"

View "D"

Workspace "1"

Application"A" User "ADMIN"

Application"B"

Workspace "2"

Application"C" User "ADMIN"

Application"E" User "HUGO"

Package "A"

Workspace "2"

Application"C" User "ADMIN"

Application"E" User "HUGO"

User "DEV"

Page 11: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX-Workspaces am Beispiel

• Demoserver apex.oracle.com

– Mehr als 10.000 Workspaces Und Datenbankschemas

– Mehr als 30.000 Anwendungen

– Mehr als 7 Mio Page Views pro Woche

• Oracle-Interne APEX-Instanz apex.oraclecorp.com

– Mehr als 2.000 Workspaces

– Mehr als 5.000 Anwendungen

– Produktive Nutzung von APEX durch Fachabteilungen bei Oracle

Oracle Confidential – Internal/Restricted/Highly Restricted 11

Page 12: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Workspace Homepage nach dem Login

Oracle Confidential – Internal/Restricted/Highly Restricted 12

Page 13: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Application Express: Ein Überlick APEX-Anwendungen: Komponenten und Möglichkeiten

Oracle Confidential – Internal/Restricted/Highly Restricted 13

Page 14: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Anwendungen erstellen mit APEX

• Arbeiten mit den Assistenten im Application Builder

• Fertige Komponenten für Standardaufgaben verfügbar

– Static HTML, Berichte, Formulare, tabellarische Formulare Kalender, Diagramme, Custom PL/SQL

– Authentifizierung, Autorisierung, Prozesse, Validierungen, Computations

– Templates, Themes

Oracle Confidential – Internal/Restricted/Highly Restricted 14

Page 15: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Bearbeiten von Seiten: Page Designer

• Alle Seitenbestandteile an einer Stelle bearbeiten

• Arbeiten wie mit einer IDE

– Komponenten Drag & Drop

– Property-Editor

– Struktur-Baum

– Syntax Highlighting

– Undo / Redo

– Clientseitige Validierungen

Oracle Confidential – Internal/Restricted/Highly Restricted 15

... IM BROWSER!

Page 16: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 16

Page 17: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX-Komponenten: Interaktive Berichte

Oracle Confidential – Internal/Restricted/Highly Restricted 17

Page 18: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Interaktive Berichte: Personalisierung out-of-the-box

• Zusätzliche Filter (AND, OR, SQL)

• Gruppierungen und Aggregate

• Formatierungen (Einfärben) und Diagramme

• Pivot-Funktion APEX 5.0

• Email-Subscription, Download als CSV

• Flashback Query für den Endanwender

• Speichern der personalisierten Berichte

Oracle Confidential – Internal/Restricted/Highly Restricted 18

Page 19: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX-Komponenten: Diagramme • Vorgefertigte Diagrammtypen

– Balken, Torten, Kreis, 2D, 3D

– Line, Point, Scatter, Dial

• Vorgehensweise – SQL Abfrage als Datenquelle

– Chart-Parameter festlegen

– Rendering übernimmt APEX

Oracle Confidential – Internal/Restricted/Highly Restricted 19

Page 20: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Zusätzliche Diagramme

• Packaged Application "Sample Charts"

• Zusätzliche Diagramme

– D3.js (Treemap, Bubble, Sunburst)

– Dashboard (Badges, Slide-Listen)

– Gantt-Charts auf HTML5-Basis

• Implementiert als "APEX Plugins"

– Nutzung in eigenen Anwendungen

– Plugin Export / Import

Oracle Confidential – Internal/Restricted/Highly Restricted 20

Page 21: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX-Komponenten: Formulare

• Verschiedene Formulartypen verfügbar

– Tabelle oder View, SQL Query, Procedure, Webservice

– Report and Form, Tabellarisches Formular

• Auch komplett "manuell" erstellbar – Für ausgefallene Anforderungen

– Eingabefelder erzeugen

– Formularlogik als PL/SQL Prozess

Oracle Confidential – Internal/Restricted/Highly Restricted 21

Page 22: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Neu in APEX 5.0: Modale Dialoge

Page 23: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Weitere APEX-Komponenten

• Kalender-Komponente

– Basierend auf "jQuery Full Calendar"

– Drag & Drop, Download als ICAL oder CSV

• Tree Region

– Darstellung hierarchischer Informationen

– SQL Query als Datenquelle

– Parent und Child-Spalten

Oracle Confidential – Internal/Restricted/Highly Restricted 23

Page 24: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Layout der APEX-Anwendung

• Themes und Templates

– Templates bestimmen Aussehen einer Komponente

– Zusammengehörige Templates ergeben ein Theme (Look & Feel)

• Eigene Themes & Templates

– Gemeinsame Komponenten

– HTML, CSS, Javascript und Webdesign-Kenntnisse hilfreich

Oracle Confidential – Internal/Restricted/Highly Restricted 24

Page 25: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX 5.0: Universal Theme (42)

• Ein Theme für alle Anwendungen!

– Templates mit Template Options konfigurierbar

– Look & Feel mit Theme Styles und Theme Roller änderbar

– Kein Eingriff in HTML und CSS mehr nötig

– Packaged Application "Universal Theme Sample Application"

Oracle Confidential – Internal/Restricted/Highly Restricted 25

Page 26: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX Erweiterbarkeit: Plug-Ins

• Plug-Ins können für APEX-Komponententypen geschrieben werden

– Region Plugins, Item Plugins (Formulare), Process-Type Plugins, Authentication Plugins, Authorization Plugins

• Viele nützliche Plug-Ins in den Packaged Applications

– Sample Charts, Sample Geolocation Showcase, P-Track und andere ...

– Mehr als 150 Community-Plugins verfügbar apex-plugin.com

• Beispiele:

– D3 Chart Plugins, Map Plugins

– Super LOV Plugin, RSS Reader und viele mehr

Oracle Confidential – Internal/Restricted/Highly Restricted 28

Page 27: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

In "Sample Chart" enthaltene Plug-Ins

Oracle Confidential – Internal/Restricted/Highly Restricted 29

Page 28: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Mobile Development mit Application Express

• Universal Theme als Responsive Theme ausgelegt

– Optimale Ausnutzung aller Displays

• Darüber hinaus "mobile" Application Type

– Tablet und Smartphones

– Basiert auf jQuery Mobile

– Look & Feed wie native Anwendungen

– Ab APEX 4.2 verfügbar

Oracle Confidential – Internal/Restricted/Highly Restricted 30

Page 29: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Application Express: Ein Überlick Packaged Applications

Oracle Confidential – Internal/Restricted/Highly Restricted 31

Page 30: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Packaged Applications: Anwendungen out-of-the-box!

Oracle Confidential – Internal/Restricted/Highly Restricted 32

Page 31: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Packaged Applications in APEX

• Im Lieferumfang enthaltene, vorgefertigte Anwendungen

• Productivity Applications

– Lösen konkrete, fachliche Anforderungen, sofort nutzbar

– Änderungen erst nach "Unlock" möglich

– Automatische Upgrades und Support, solange "locked"

– Beispiele: P-Track, Standards Tracker, Data Reporter

• Sample Applications

– Demonstration bestimmter Features

– Standardmäßig "unlocked", kein Support, keine automatischen Upgrades

– Beispiele: Geolocation Showcase, Sample Charts, Universal Theme

Oracle Confidential – Internal/Restricted/Highly Restricted 33

Page 32: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Application Express: Ein Überlick Dies und das

Oracle Confidential – Internal/Restricted/Highly Restricted 34

Page 33: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Font Awesome: Icons als "Schriftart"

• Einfach veränderbar mit CSS-Angaben wie Größe, Farbe, Decoration, …

• In Application Express integriert

• Keine Bilddateien mehr nötig

• Neue Icons durch "Stacking" existierender erzeugen

• Open Source mit freier Lizenz – beliebig (auch kommerziell) nutzbar

<div class="fa fa-database"></div> <div class="fa fa-database" style="font-size: 40px"></div> <div class="fa fa-database" style="font-size: 40px; color: #0000cc"></div> <div class="fa fa-database" style="font-size: 40px; color: #cc0000"></div> <div class="fa fa-database" style="font-size: 40px; color: #cc0000; text-shadow: 2px 2px 2px #808080;">

Page 34: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Font Awesome

Page 35: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Font Awesome-Integration in APEX

• Direkt in den Page Designer integriert

• Icons für APEX-Komponenten wählbar

• Bequeme Suche nach dem richtigen Icon

• Einfärben und Verändern per CSS-Anweisung

Oracle Confidential – Internal/Restricted/Highly Restricted 37

Page 36: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX PL/SQL-Pakete: APEX_ZIP

• PL/SQL-Paket zum Ein- und Auspacken von ZIP-Archiven

• Verwendung bspw. in einem on Submit Prozess nach File Upload

Page 37: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

PL/SQL-Paket in APEX 5.0: APEX_JSON

• Einfaches Erzeugen oder Parsen von JSON-Dateien

– Basiert auf Open Source PL/SQL - auf die Verwendung in APEX fokussiert

– Direktes Schreiben in den HTP Buffer oder in einen CLOB

– SQL-Unterstützung für JSON ist Teil der Datenbank ab 12.1.0.2

declare c sys_refcursor; begin open c for select deptno, dname, loc from dept where deptno in (10, 20); apex_json.open_object; apex_json.write('depts', c); apex_json.close_object; end;

Page 38: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Application Express: Bücher

Page 39: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX Community

• Deutschsprachige Application Express Community http://blogs.oracle.com/apexcommunity_deutsch

• Mehr als 75 APEX Blogs http://www.odtug.com/apex

• APEX auf Twitter @oracleapexnews, #orclapex

• The "official" APEX LinkedIn Group https://www.linkedin.com/groups/Oracle-Application-Express-APEX-Official-8263065

• APEX OTN Diskussionsforum https://community.oracle.com/community/database/developer-tools/application_express

Page 40: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

APEX Meetups: Lokale APEX Communitys

http://apexmeetups.com

Page 41: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

http://blogs.oracle.com/apexcommunity_deutsch

Page 42: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Page 43: Oracle Application Express Ein Überblick

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Page 44: Oracle Application Express Ein Überblick

Recommended