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. |