As Slideshare won't let me update the content without breaking the URL, I was forced to use a new platform for my documents. Please use the following link to get the latest version:
https://www.edocr.com/v/ldmkqo7v/nielsdebruijn/20180529_Einfuehrung_APEX
3. 3
Über mich
§ Niels de Bruijn, Fachbereichsleiter APEX
§ Geboren in 1977, verheiratet, drei Töchter, Wohnort Ratingen
§ seit 12.2003 bei der MT AG in Ratingen
§ zuvor 2 Jahre als Berater bei Oracle Nederland B.V. angestellt
§ Beschäftigt sich seit 2004 mit APEX
§ Federführend beim Vertrieb/Marketing/Delivery von APEX Projekten
§ https://apex.mt-ag.com
§ Themenverantwortlicher für APEX bei der DOAG & Organisator von APEX Connect
§ Hält Vorträge u.A. auf der DOAG Konferenz, APEX World, DOAG APEX Connect & ODTUG
Kscope
Rapid Application Development mit APEX 5
4. 4
Agenda
Rapid Application Development mit APEX 5
■ Oracle Application Express (APEX)
■ Die Möglichkeiten
■ Warum APEX?
■ Enterprise APEX
■ Ausgewählte Projektreferenzen der MT AG
■ APEX Community
5. 5
Oracle Application Express = Low Code Framework
Rapid Application Development Produkt für die Erstellung von individuellen datenzentrischen
Webanwendungen
§ 100% Oracle-Datenbank, 100% Browser
§ Oracle 11.2.x.x und höher (inkl. Express Edition - XE)
§ Kostenloses Feature der Oracle Datenbank
§ Aktuelle Version ist 5.1.x
§ Für Desktop sowie mobile Endgeräte
6. 6
Oracle Application Express
Rapid Application Development mit APEX 5
Die Vorteile einer Einzelplatzdatenbank ….
§ Einfache Bedienung
§ Schnelle Ergebnisse
§ Flexibilität
… kombiniert mit einer zentralen Datenbank
§ Sicherheitskonzepte
§ Datenintegrität
§ Skalierbarkeit
§ Verfügbarkeit
durch Web-Technologie überall verfügbar!
7. 7
Historie
Rapid Application Development mit APEX 5
HTML DB 1.5
§ First Release
HTML DB 1.6
§ Themes
2004 2007 2012
Application Express 2.1
§ Renamed to Apex
§ Oracle XE
Application Express 2.2
§ Packaged Applications
Application Express 3.1
§ Interactive Reports
HTML DB 2.0
§ SQL Workshop
Application Express 3.0
§ Flash Charts
§ PDF Printing
§ Access Migration
Application Express 3.2
§ Oracle Forms to APEX
Conversion
Application Express 4.1
§ Data Upload
§ Error Handling
§ ROWID
2006 2009 201120082005
Application Express 4.2
§ Mobile
§ HTML5
§ Packaged Apps
Application Express 4.0
§ Websheets
§ Dynamic Actions
§ Plug-Ins
§ Team Development
2010 2015
Application Express 5.0
§ Page Designer
§ Universal Theme
§ Mehrere IRs
§ Modale Dialoge
2016
Application Express 5.1
§ Interactive Grid
§ Master-Detail-Detail
§ Neuer Chart-Engine (Oracle JET)
9. 9
APEX wurde durch 12 (Kern)entwickler mit APEX entwickelt
Woraus besteht APEX?
Rapid Application Development mit APEX 5
§ 23 APEX Anwendungen
§ 10 Sprachen
§ 2.156 APEX Seiten
§ 3.431.250 Wörter, davon 371.412 übersetzt
§ 471 Tabellen
§ 486.000 Zeilen PL/SQL Code
§ 42.000 Zeilen JavaScript Code exkl. Open Source JS-Bibliotheken
§ 58.000 Zeilen CSS
§ ORDS (Web Gateway): 282.000 Zeilen Java Code
10. 10
Individualentwicklung von datenzentrischen Anwendungen
Positionierung: von klein bis groß
Rapid Application Development mit APEX 5
Unternehmen
Arbeits-/
Projektgruppe
pragmatisch strategisch
Java EE / ADF
.Net
PC-Datenbank
APEX
Verteilung
Ansatz
11. 11
Projekttypen mit APEX
Pragmatisch
Strategisch
Pragmatisch
Rapid Application Development mit APEX 5
Mobiles Endgerät
Desktop Komplexe Dialoge
Einfache Dialoge
Desktop
Einfache Dialoge
Ergebnis:
- Standard APEX Features
- Rapid Prototyping Ansatz
- Time to market 1-3 Monate
- 1-2 Entwickler
- Aufwand i.d.R. 10-100 PT
12. 12
Agenda
Rapid Application Development mit APEX 5
■ Warum APEX?
■ Die Möglichkeiten
■ Oracle Application Express (APEX)
■ Enterprise APEX
■ Ausgewählte Projektreferenzen der MT AG
■ APEX Community
13. 13
Treiber
Rapid Application Development mit APEX 5
§ Kosten für die Anwendungsentwicklung sowie den Betrieb reduzieren
- APEX ist ein deklaratives Werkzeug
- Keine Lizenzkosten!
- Fertige Komponente & Designvorlagen
- Themen wie zum Beispiel Sessionverwaltung, Mandantenfähigkeit,
Deployment und IT-Sicherheit werden durch APEX adressiert
- Integriert in einer heterogenen Systemlandschaft
- Alle Möglichkeiten der Datenbank stehen direkt zur Verfügung
- Stabile, skalierbare und einfache Architektur
- 33%-67% weniger Entwicklungsaufwand im Vergleich zu Java!
15. 15
Anwendungsgebiete
Rapid Application Development mit APEX 5
n Migration von Insellösungen z.B. MS Access/Excel
- Von Clientapplikation zu Webapplikation
- Stammdatenkonsolidierung
n Migration von Oracle Forms-Anwendungen
- Andere Zielgruppen können adressiert werden
- Kein Browser JRE Plug-in mehr notwendig
- Oracle Forms kostenpflichtig; APEX nicht
- PL/SQL Kenntnisse wieder verwendbar
n Rapid Prototyping
- Zeigt die Möglichkeiten mit APEX
- Ermöglicht eine schnelle Visualisierung von Anforderungen
- Fachkonzept samt Prototyp als Basis für die Realisierungsphase
16. 16
Anwendungsgebiete
Rapid Application Development mit APEX 5
n Berichtswesen
- Einfache Reporting-Lösungen ohne DWH
n Extranet Anwendungen
- elektronischer Kommunikationskanal für Partner/Kunden/Lieferanten
n Webformulare
- Anträge, Registrierung, Reisekosten
n Mobile Apps
- „Develop once, deploy everywhere“
n Als Front-End für SAP oder MS SharePoint
- Intuitive Weboberflächen bereitstellen ohne SAP Client
- Weg von SharePoint-Listen
17. 17
Agenda
Rapid Application Development mit APEX 5
■ Die Möglichkeiten
■ Warum APEX?
■ Oracle Application Express (APEX)
■ Enterprise APEX
■ Ausgewählte Projektreferenzen der MT AG
■ APEX Community
18. 18
Alle Anwendungsdefinitionen im Repository
Repository Views
Informationen via Dictionary Views
§ APEX_APPLICATIONS
§ APEX_APPLICATION_PAGES
§ APEX_APPLICATION_PAGE_REGIONS
§ …
§ Webseiten werden dynamisch erstellt
§ Änderungen online möglich: Sofort wirksam
Rapid Application Development mit APEX 5
19. 19
Cloud Computing mit APEX (PaaS)
Rapid Application Development mit APEX 5
Unabhängige, private Arbeitsbereiche
Zentrale Datenbank
§ Zentrale Wartung
§ Zentrale Datenhaltung
§ Unabhängige Entwicklung und Administration
§ Eigene Applikationsverwaltung
§ Eigene Benutzerverwaltung
20. 20
APEX im Cloud
Rapid Application Development mit APEX 5
Für Demos
Für Produktion
maxapex.com
apex-cloud.com
Microsoft Azure
§ apex.oracle.com
(kostenlos)
Alternative Anbieter:
§ cloud.oracle.com
(30 Tage zum Testen)
21. 21
Architektur
Rapid Application Development mit APEX 5
Web Gateway
(ORDS)
Oracle
Database
mit APEX 5
Reporting
z.B. MTdoxx
Authentifizierung
z.B. Microsoft Active
Directory
HTTP(S)
LDAP(S)
JDBC
Browser
(für APEX Entwickler und die
Endanwender)
HTTP(S)
Oracle Client
(für DB Entwickler)
SQLnet
Workflow
BPMN Tool
z.B. Camunda
HTTP(S)
Externe
Anwendungsdaten
(z.B. SAP)
ODBC, SQLnet oder Web Services
E-Mail
z.B. Microsoft
Exchange
SMTP
Apache
(optional)
AJP
22. 22
APEX skaliert sowohl technisch…
Rapid Application Development mit APEX 5
Browser
Betriebssystem
Datenbank
Web Server
Storage
Betriebssystem
Datenbank
Web Server
Cluster Software Cluster Software
Load Balancer
23. 23
…als auch von der Anwendungsgröße
Rapid Application Development mit APEX 5
APEX
Anwendung 1
„Builder“
APEX
Anwendung 2
„Websheets“
Entwicklungsoberfläche von APEX
APEX
Anwendung 3
„SQL Workshop“
24. 24
Schichten in der Datenbank
Rapid Application Development mit APEX 5
seitenspezifische View
mit optional „instead of“ Trigger
oder Table Function
APEX Seite
Tabellen
inkl. Sequenz für ID-Spalten, optional TAPI
seitenspezifisches Package
View
Persistenz
Ggf. Business View
(seitenübergreifende Logik)
Ggf. Business Package
(seitenübergreifende Logik)
Logik
25. 25
Sizing – Was setzen APEX Kunden ein?
Rapid Application Development mit APEX 5
Beispiel CampusIT (http://campusit.net, Stand 01.2013):
§ APEX Instanz mit 200.000 Benutzern
§ 5.000 Benutzer arbeiten tagtäglich mit diesem Instanz
§ 8 parallele Seitenabfragen pro Sekunde
- Lasttests haben gezeigt dass die Umgebung bis zu 50 parallele Seitenabfragen pro Sekunde
verarbeiten kann. Dies entspricht etwa 1.000 (!) Benutzer die aktiv mit dem Instanz arbeiten,
wenn zwischen den Klicks im Durchschnitt 20 Sekunden liegen.
Eingesetzte Hardware für diese Umgebung:
§ 2 Knoten HTTP Server im Cold Failover Betrieb
- 2 x Dual Core Xeon Prozessor, 8 GB, Windows Server 2003 Betriebssystem
§ 2 Knoten Datenbank (RAC)
- 2 x Dual Core Xeon Prozessor, 4 GB, Red Hat Enterprise Linux 5 Betriebssystem
36. 36
Diagramme
Rapid Application Development mit APEX 5
§ Enthalten sind zwei Charting-Engines
§ AnyChart 6.2.0
§ HTML5 & Flash Charts
§ Custom Charting mittels XML
§ Link: API
§ Link: XML Interpreter
§ Ab APEX 5.1: Oracle JET Data Visualization Components
§ Custom Charting mittels JS
§ Link: API
§ Weitere (Open Source) Charts
§ D3.js, Google Charts, JS Infovis Toolkit, Flot
§ Kostenpflichtige JS Charts
§ Highcharts, AM Charts
37. 37
Integration von Camunda für Workflows
Rapid Application Development mit APEX 5
§ Open Source Tool aus Deutschland
§ Unterstützt BPMN 2.0
§ Läuft in der Oracle DB & Apache Tomcat
§ Modellierung mittels einem Browser
§ Bietet eine nahtlose Integration mit APEX
38. 38
Möglichkeiten zur Druckausgabe
Rapid Application Development mit APEX 5
JasperReports,
BIRT
APEX Office
Print
Oracle
BI Publisher
APEX
Plugins
PL-JRXML
2PDF
PL/PDF Oracle REST
Data Services
MTdoxx APEXIR_XLSX
Server
Technologie
Java-Server (JEE) APEX Plugin +
Executable or
Cloud
Oracle WebLogic
Server
PL/SQL in
RDBMS
PL/SQL
in
RDBMS
PL/SQL in
RDBMS
WebLogic /
Glassfish /
Apache Tomcat
.Net / IIS PL/SQL in
RDBMS
Client Tool für
die Definition
JasperSoft Studio,
Eclipse/Birt
Word / Excel /
PowerPoint
Word / Excel
(Plugin
notwendig) /
Browser
APEX ggf. SQL
Plus
JasperSoftStud
io (jrXML)
SQL Plus und
ggf. Word
Altova
StyleVision oder
Stylus Studio
Word / Excel IR in APEX
Mögliches
Layout?
Pixel perfekt Pixel perfekt Pixel perfekt Nicht Pixel
perfekt
Nicht Pixel
perfekt
Pixel perfekt Pixel perfekt Pixel perfekt Vorgegeben
Ausgabe über
IR?
Nein Ja (DA oder
Process Plugin
mit support für
mehrere IRs)
Ja Nein Nein Nein Ja Nein Ja (Plugin)
Schnittstelle für
APEX
URL, PL/SQL PL/SQL API,
APEX Plugin
XSL-FO/ XML PL/SQL PL/SQL PL/SQL XSL-FO/ XML SOAP Web
Service
PL/SQL
Formate XLS(X), PDF, RTF,
DOCX (JR), PPT
(BIRT), DOC (BIRT)
XLSX, PPTX,
PDF, DOCX,
HTML5
XLS, PDF, DOC PDF, XLSX PDF PDF, DOCX,
XLSX
PDF DOCX, PDF XLSX, PPTX
Kostenpflichtig? Nein
(Open Source)
Ja Ja Nein
(Open Source)
Nein
(Open Source)
Ja Nein Ja
(Dienstleistung)
Nein
(Open Source)
39. 39
Empfehlungen „it depends“
Rapid Application Development mit APEX 5
§ Punktuelle Lösungen
§ Resultat Interactive Report 1:1 in XLSX überführen: APEXIR_XLSX (läuft in der DB)
§ Resultat Interactive Report 1:1 in PDF überführen: Reports2PDF Plugin (läuft in der DB)
§ Einfache pixelperfekte Berichte in PDF überführen: PL-JRXML2PDF (läuft in der DB)
§ Enterprise Lösungen
§ Reporting-Tool als Vorlage verwenden
§ Pixelperfectes Layout: Jasper Reports / Birt
§ Word/Excel als Vorlage verwenden
§ Massengenerierung von Dokumenten: MTdoxx (setzt Windows Server voraus)
§ Nahtlose Integration mit APEX: APEX Office Print (setzt Node.js voraus)
40. 40
APEX erweitern mit Plug-Ins
Rapid Application Development mit APEX 5
§ Für Regionen, Elemente, Dynamic Actions, Seiten-, Authentifizierungs- sowie
Autorisierungsprozesse
§ Separat ex- und importierbar
§ Werden beim Anwendungsexport mit exportiert
§ Schnittstellendefinition durch APEX
§ PL/SQL Funktion unter anderem für das Rendering
§ JavaScript/CSS Dateien werden nur einmal geladen
43. 43
Dynamic Actions
Rapid Application Development mit APEX 5
§ Clientseitiges Verhalten manipulieren, auch ohne Kenntnisse von jQuery
§ Beispiele:
§ Felder ein/ausblenden
§ Mehrere Felder über eine Dynamic Action setzten
44. 44
Packaged Applications
§ Anwendung importieren & direkt ausführen!
§ Installiert Datenbankobjekte/Daten/Dateien/Anwendung
§ APEX bietet „out of the box“ viele Apps
§ Meist für Demozwecke, aber einige sind auch für den produktiven Betrieb geeignet
§ Weitere Apps auf https://apex.mt-ag.com/themen
45. 45
Websheets – APEX für Endanwender
Rapid Application Development mit APEX 5
Daten und Texte zentral verwalten und web-fähig machen
§ Textseiten
§ Editierbare Data Grids
§ Interactive Reports
§ Attachments, Tagging, Bemerkungen
APEX für "Business User"
§ Keine Programmierung nötig
§ Verteilung per URL (/apex/ws?p=999:home)
§ Rechtekonzept per ACL
46. 46
APEX Advisor - Automatisierte Qualitätssicherung
Rapid Application Development mit APEX 5
48. 48
Web Services
Rapid Application Development mit APEX 5
§ Deklarative Unterstützung für den REST- und SOAP-basierten Ansatz
§ Aufruf/Verarbeitung mittels PL/SQL Package APEX_WEB_SERVICE
§ Falls XML, dann Aufbereitung zusätzlich mittels SQL/XML möglich
51. 51
Für unterwegs…
Rapid Application Development mit APEX 5
§ Mobile Webanwendung
§ Einmal entwickeln…
§ läuft auf iOS (iPhone/iPad), Windows Phone, Android
§ Verwendet jQuery Mobile (bis APEX 5.1)
§ Auto-Detect: Desktop oder Smartphone?
§ Native Funktionen mittels PhoneGap einsetzen
§ Ermöglicht den Zugriff auf lokale Ressourcen
§ Auch hier: einmal entwickeln…
§ QR Code für eine Demo App einscannen (mobile Barcodescanner)
Beispielcode zum Scannen:
52. 52
Exkurs: HTML5
Rapid Application Development mit APEX 5
§ HTML 5 bietet neue Perspektive, wie beispielsweise
§ Neue Elemente (auch mit Spracheingabe)
§ Standort herausfinden
§ Bidirektionale Kommunikation (Websockets)
§ Serverseitige Kommunikation
§ Benachrichtigungen
§ Drag & drop
§ Lokale Speicherung
§ Ersetzt Adobe Flash
53. 53
APEX für Oracle DBAs
Rapid Application Development mit APEX 5
§ Workspace INTERNAL: Einstellungen für den APEX Instanz
§ Programmatischer Import mittels APEX_APPLICATION_INSTALL
§ Verteilung der HW Ressourcen mittels Ressourcen Manager ab 11gR2
§ APEX Sessions mit v$session identifizieren
§ Ab 12c: CDB/PDB-Konzept
§ APEX in CDB deinstallieren
§ APEX in PDB installieren
54. 54
APEX & 12c: Self-Service Provisioning App
Rapid Application Development mit APEX 5
55. 55
Agenda
Rapid Application Development mit APEX 5
■ Die Möglichkeiten
■ Enterprise APEX
■ Warum APEX?
■ Oracle Application Express (APEX)
■ APEX Community
■ Ausgewählte Projektreferenzen der MT AG
56. 56
Enterprise APEX
Rapid Application Development mit APEX 5
Selenium / Robot
Subversion
(PL/)SQL Developer
Jira
Jenkins / Hudson
Maven
Data Modeler
APEX
REST Data Services
Tomcat
ToolsSkills
HTML
CSS
jQuery
jQuery Mobile
APEX
PL/SQL
SQL
Datenmodellierung
Projekt Management
Test Management
Delivery Management Database
Menschen
Requirements Eng. Browserstack
57. 57
Enterprise APEX – Richtlinien
Rapid Application Development mit APEX 5
§ Richtlinien festlegen
§ Richtlinien automatisiert prüfen
§ APEX QA Plugin
§ Siehe: www.apex-plugin.com
§ Advisor Tool, nativ in APEX
§ Packaged App: “Standards Tracker”
Mai 2016
71. 71
APEX Consulting - à la carte
Rapid Application Development mit APEX 5
§ Coaching
§ Entwicklung (vor Ort / bei der MT AG)
§ Migration von bestehenden MS Excel / MS Access / Oracle Forms-Lösungen
§ Individuelle Schulungen
§ Umsetzung Corporate Identity
§ Audits
§ Reporting
§ Rapid Prototyping
§ „Single Sign-On“-Fähigkeit
§ Integration mit z.B. Camunda, SAP oder SharePoint
72. 72
Agenda
Rapid Application Development mit APEX 5
■ Enterprise APEX
■ Die Möglichkeiten
■ APEX Community
■ Warum APEX?
■ Oracle Application Express (APEX)
■ Ausgewählte Projektreferenzen der MT AG
73. 73
APEX Showcase - APEX.MT-AG.COM
Rapid Application Development mit APEX 5
74. 74
Packaged Apps der MT AG
Rapid Application Development mit APEX 5
§ Time Management System
§ Questionnaire
§ Translation Management System
§ Invite (interne Variante von Doodle)
§ Family Tree
§ Kostenlos & Quellcode offen
§ Siehe: https://apex.mt-ag.com/themen
75. 75
Tools der MT AG
§ QA Plugin
§ Prüft Richtlinien anhand von Metadaten
§ Siehe Plugins auf https://apex.world
§ APEX Visualizer
§ Analysiert eine bestehende APEX app
§ https://github.com/OliverLemm/Apex-Visualizer
§ https://apex.mt-ag.com/f?p=192
76. 76
APEX Community
Rapid Application Development mit APEX 5
§ Software/Dokumentation apex.oracle.com
§ APEX World apex.world
§ APEX Showcase apex.mt-ag.com
§ Open Source oraopensource.com
§ Oracle Learning Library oll.oracleapex.com
§ Oracle Community (DE): lang.oracleapex.com
§ BLOG Aggregator (RSS Feed): aggrssgator.com/rss/odtug/apex
§ Forum: forum.oracleapex.com
§ Plug-Ins: apex-plugin.com
§ Twitter Hash Tag: #orclapex
§ Feature Requests: apex.oracle.com/vote
§ Snippets: Denes Kubicek & Jari‘s
§ Podcasts: apex.press/talkshow
§ Built with APEX: builtwithapex.com