Upload
others
View
31
Download
0
Embed Size (px)
Citation preview
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
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
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
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Strukturierte Informationen über APEX-Anwendungen
Oracle Confidential – Internal/Restricted/Highly Restricted 5
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
APEX Advisor: Praktische Nutzung der Metadaten
Oracle Confidential – Internal/Restricted/Highly Restricted 6
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
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
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
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"
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Workspace Homepage nach dem Login
Oracle Confidential – Internal/Restricted/Highly Restricted 12
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
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
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!
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 16
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
APEX-Komponenten: Interaktive Berichte
Oracle Confidential – Internal/Restricted/Highly Restricted 17
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
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
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
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
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
Oracle Confidential – Internal/Restricted/Highly Restricted 23
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
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
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
In "Sample Chart" enthaltene Plug-Ins
Oracle Confidential – Internal/Restricted/Highly Restricted 29
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Application Express: Ein Überlick Packaged Applications
Oracle Confidential – Internal/Restricted/Highly Restricted 31
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Packaged Applications: Anwendungen out-of-the-box!
Oracle Confidential – Internal/Restricted/Highly Restricted 32
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Application Express: Ein Überlick Dies und das
Oracle Confidential – Internal/Restricted/Highly Restricted 34
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;">
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 CSS-Anweisung
Oracle Confidential – Internal/Restricted/Highly Restricted 37
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
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. |