This presentation contains distilled information regarding Oracle Application Express (Apex). It'll give you general overview of the technology and help you start working with it.
4. What is Oracle APEX?
4
APplication EXpress
Rapid Application Development tool
Uses Oracle DB and PL/SQL
Focused on the web - from development to usage
Included in the Oracle DB license (even the free XE version so you can
try it out or even use for internal projects without extra cost)
Available on premise and in the cloud
Check it out at http://apex.oracle.com
And now, a short story …
11. Why APEX?
11
Fast and simple web app development
Ease of administration and configuration
Flagship Oracle product
Everything is in the database
Integrates well with other technologies (web
services, db links, …)
13. How to become an APEX developer?
13
Working environment:
Workstation with a web browser (just it!)
Basic skills required:
SQL
PL/SQL
Extra skills that will help along the way:
HTML, JavaScript, CSS
APEX API
Auxiliary knowledge like Web Services, SOAP, SPA
14. What do we get „out of the box”?
14
Reports
Forms
Charts
Calendar
Templates
Validations
Dynamic Actions /
AJAX
Computations
Responsive
Web Design
Web Services
Email Services
Translation
Services
Plug-Ins
Authentication
Authorization
Session State
Management
Logging &
Monitoring
16. Types of applications
16
Database apps
Built from scratch
Imported (scripts, Oracle Store, Cloud)
Migrated from MS Excel/MS Access/Oracle Forms
Websheet
Allows creating an app even by people who don’t know „how to sql”
WIKI-type app
22. Typical use-cases
22
Data-driven apps
Advanced apps which present and
modify data
Reporting apps
Present data in a user-friendly
manner
Access replacement
Migration of MS Access based apps
Excel sharing
Migration of Excel-driven management to a web
application
Oracle Forms
Evolution
Forms apps migration
24. Architecture
24
APEX is installed in the database
APEX internals are tables and PL/SQL
All application data and metadata are stored in the database
26. Architecture - engine
26
Generates and processes web pages
Each web query opens and closes a database connection
Database sessions are NOT dedicated per each web user
Manages the session
Provides
Authentication
Authorization
Forms and pages navigation and communication
Validation
29. Security
29
APEX is just as secure as the rest of the environment: database and
operating system
APEX addresses common web attacks
SQL injection
XSS (cross-site scripting)
APEX has built-in session protection
APEX is able to use Oracle Fine Grained Access Control (VPD)
30. Security
30
Authentication
LDAP (e.g. MS Active Directory)
Oracle SSO
SSO
APEX (internal)
Custom Database structure
Authorization
Schemes using custom PL/SQL
LDAP
Can be bound to single web element (button, region, navigation, form,
etc.)
31. Performance and scalability
31
UK’s Ministry of Education – teacher management app
2.000.000 page views / month
180.000 users
30.000 new registrations / month
2.000 moderators and administrators
24 months of uptime
0 APEX-related errors
36. JavaScript integration
36
Frameworks: jQuery, jQuery UI, jQuery Mobile
Modernizer, AngularJS
Plug-ins
Excel like reports
Charting: HighCharts
JS + CSS (Bootstrap) =
Responsive Web Design
37. Web Service integration
37
Accessing remote WS:
Reports, variables values, forms
SOAP
RESTful
Publishing
Reports created in APEX available through REST
Ease of creating using wizards and PL/SQL API
39. Why migrate Forms to Apex?
39
Web-enabling of database driven applications
Easy distribution (web based app, no need to install anything besides web browser)
Easy integration with other company web applications
Adding new channel of access for end-users – mobile
Finer access control
Modern web UI
Lowering your TCO (you don’t need Oracle Application Server anymore)
Easy Team Development
Built in tools for issue tracking, auditing and lots of other utilities that are available out
of the box
40. Migration advantages
40
Native HTML support
JavaScript and other standard web technologies
Easy UI customization
Better decomposition of common elements which can be used
across multiple applications
Easily extensible environment through plugins
41. Migration – what NOT to expect?
41
It is more of a conversion than migration!
We don’t emulate Oracle Forms, we convert them to a web app:
UI of forms and reports will look & feel different (better )
Specific functions will work differently
Navigation
App structure
Communication with the end-user, keyboard shortcuts, etc.
Migration / conversion will not be magical and automatic
It’s not simple (but none of the things worthwhile are)
42. Migration – what to expect?
42
Regular company project – takes time & resources
Building web application which uses as much as possible of the „old”
business logic
43. APEX vs Forms/Reports (v. 10, v. 11)
43
Area Forms APEX
Architecture Metadata stored in „.fmx”
files
Metadata stored in db
tables
Programming language PL/SQL on both client and
server
PL/SQL on serverside
Database connection Fixed Dynamic
UI programming Java (client, browser) HTML, JS, CSS (browser)
Application modules Windows/Canvas/Block Pages/Regions
Client control Triggers JavaScript
Charts BI Beans HTML, JavaScript, Flash
45. Oracle APEX Forms Converter
45
Tool to manage the conversion process
Time & task management
Forms component overview
Automatic conversion of basic components
Pages, forms, reports (single, master-detail, editable)
Automatic conversion will not happen for
The whole application
Forms UI
Forms-specific components (Trigger, Program Unit, libraries itp.)
46. APEX – conversion project creation
46
Creation of „Forms Migration” project in Migrations section
Upload of previously created XML and PLD files (those files will be created by Forms
Converter tool)
47. Sample schedule of conversion project
47
Process / Progress [%] 10 50 100
Application deployment
Validation, processes, etc.
Adding JS/AJAX
Additional forms
UI design
APEX app creation
Component selection
Forms sources conversion
48. Oracle Apex - summary
48
Rapid development of web-
enabled database driven apps
Advanced web charting
and reporting
Mobile ready UI designEasy team-work & cooperation
Full control of data and
visualisation
49. Oracle Apex - summary
49
Cons
– Oracle standard
– Debugging (should be better
in Apex 5.0)
Pros
+ Web 2.0 out of the box
+ Scalability
+ Security
+ Rapid development and
deployment
+ Low TCO
+ Technical & community
support
+ Oracle standard