Oracle Application Express: Ein Überblick (inkl. APEX 5.0 Features)

Werbung
Oracle Application Express
Ein Überblick
Bodo von Neuhaus
Leitender Systemberater
ORACLE Deutschland B.V. Co KG
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
2
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
Browser / Client
APEX Webserver
• Nutzung aller Datenbankfunktionen
– Spatial, XML, JSON, Multimedia, PL/SQL
– Backup & Recovery, HA, Parallel, In-Memory
Oracle Datenbank
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
3
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!
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
4
Strukturierte Informationen über APEX-Anwendungen
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
5
APEX Advisor: Praktische Nutzung der Metadaten
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
6
APEX-Webserver: Möglichkeiten
• Oracle REST Data Services (aka "APEX Listener")
– Java (JEE) basiert: Läuft im Java-Container
– Zusätzliche Features
Browser / Client
APEX Webserver
• Apache mit mod_plsql
• ORDS
• HTTP Server mit mod_plsql
• DB Embedded Gateway
– 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
Oracle Datenbank
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
Browser / Client
APEX Webserver
Oracle REST
Data Services
– REST-Endpoint für Datenbankobjekte
– Zusätzliche Konfigurationsmöglichkeiten
• Früher bekannt als "APEX Listener"
Oracle Datenbank
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
8
Oracle Application Express
HTML DB 1.5
APEX 2.1
 First Release
 Oracle XE
HTML DB 1.6
APEX 2.2
 Themes
APEX 3.1
APEX 4.0
 Interactive Reports
 Packaged Applications
2004
2005
HTML DB 2.0
 SQL Workshop
2006
2007
APEX 3.0
 Flash Charts
 PDF Printing
 Access Migration
2009
2008
APEX 3.2
 Oracle Forms to APEX
Conversion




APEX 4.2
Websheets
Dynamic Actions
Plug-Ins
Team Development
2010
2011
APEX 4.1
 Data Upload
 Error Handling
 ROWID
 Mobile
 HTML5
 Packaged Apps
2012
2015
APEX 5.0
 Page Designer
 Universal Theme
 Modal Dialogs
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
9
APEX: Unabhängige Arbeitsbereiche
Workspace "1"
User "ADMIN"
Workspace "2"
Workspace "2"
Application"A"
User "ADMIN"
Application"C"
User "ADMIN"
Application"C"
Application"B"
User "HUGO"
Application"E"
User "HUGO"
Application"E"
User "DEV"
Schema "1"
Schema "2"
Table "A"
Table "B"
Package "A"
View "C"
Schema "3"
View "D"
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
10
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
11
Workspace Homepage nach dem Login
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
12
Application Express: Ein Überlick
APEX-Anwendungen: Komponenten und Möglichkeiten
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
13
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
14
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
... IM BROWSER!
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
15
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
16
APEX-Komponenten: Interaktive Berichte
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
17
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
18
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
19
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
20
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
21
Neu in APEX 5.0: Modale Dialoge
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
23
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
24
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"
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
25
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
28
In "Sample Chart" enthaltene Plug-Ins
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
29
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
30
Application Express: Ein Überlick
Packaged Applications
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
31
Packaged Applications: Anwendungen out-of-the-box!
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
32
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
33
Application Express: Ein Überlick
Dies und das
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
34
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
<div
<div
<div
<div
<div
class="fa
class="fa
class="fa
class="fa
class="fa
fa-database"></div>
fa-database" style="font-size:
fa-database" style="font-size:
fa-database" style="font-size:
fa-database" style="font-size:
40px"></div>
40px; color: #0000cc"></div>
40px; color: #cc0000"></div>
40px; color: #cc0000; text-shadow: 2px 2px 2px #808080;">
• Neue Icons durch "Stacking" existierender erzeugen
• Open Source mit freier Lizenz – beliebig (auch kommerziell) nutzbar
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Font Awesome
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 CSSAnweisung
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
37
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
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;
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Application Express: Bücher
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
APEX Meetups: Lokale APEX Communitys
http://apexmeetups.com
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
http://blogs.oracle.com/apexcommunity_deutsch
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Herunterladen