SlideShare a Scribd company logo
1 of 50
Download to read offline
HOW TO GET STARTED WITH ORACLE APEX?
ORACLE APEX PRIMER
Przemysław Staniszewski
pstaniszewski@pretius.com
https://twitter.com/pstaniszewski
AGENDA
2
What is Oracle Apex?
Working with APEX
Sample use-cases
Architecture
Integration
Oracle Forms migration
WHAT IS ORACLE APEX?
3
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 …
Design your database…
5
Implement your business logic…
6
Implement GUI (Graphical User Interface) …
7
Implement GUI (Graphical User Interface) …
8
APEX application architecture
9
Application layer
Web interface
Business logic
Data
Solution
APEX
PL/SQL (API)
Tables / Views
APEX application architecture
10
Solution
APEX
PL/SQL (API)
Tabele / Widoki
Calls
Fetches
SQL, PL/SQL
HTML, Javascript
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, …)
WORKING WITH APEX
12
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
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
Structure
15
Applications
Global elements
Page elements
Pages
External elements
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
Region types
17
Report
Classic
Interactive
Web Service-backed
Forms
Charts
Others (e.g. basic HTML – like in any Content Mgmt. System)
Interactive reports
18
Simple modification by end-users (calculated columns, aggregations,
highlighting, charts)
Simple sharing of new / modified reports by end-users
Chart types
19
HTML 5, JS* i Flash;
Various built-in chart types available:
Bar, pie, line, point, candlestick
Counters
Gantt’s chart
Maps
20
SAMPLE USE-CASES
21
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
ARCHITECTURE
23
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
Architecture - communication
25
http://sc:8080/apex/f?p=4550:1:277450158227801
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
Architecture – app structure
27
Single database instance
Single APEX instance
Multiple users
Multiple, independent apps
Architecture - users
28
APEX administrator
Workspace administrator
Developer
End users
 Internal (APEX)
External (e.g. LDAP)
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)
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.)
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
APEX application maintenance
32
Test Production
DEV
UAT PROD
SVN, GIT
Users
Objects
Files
Application
INTEGRATION
33
Datasource integration
34
Databases
Web service
Files
Other technologies integration
35
JavaScript (jQuery, modernizer, AngularJS, etc.)
PL/SQL (PL_FPDF, PL_EXCEL)
Web Service
Java (e.g. Jasper, Coocon)
HTML 5
CSS (e.g. Bootstrap)
Flash
BI Publisher
JavaScript integration
36
Frameworks: jQuery, jQuery UI, jQuery Mobile
Modernizer, AngularJS
Plug-ins
Excel like reports
Charting: HighCharts
JS + CSS (Bootstrap) =
Responsive Web Design
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
ORACLE FORMS MIGRATION
38
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
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
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)
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
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
How to carry out a conversion project?
44
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.)
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)
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
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
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
THANK YOU!
Przemysław Staniszewski
pstaniszewski@pretius.com
https://twitter.com/pstaniszewski
50
Want to get more information on Oracle Apex?
Follow us on:
Twitter - https://twitter.com/PretiusSoftware
FB - https://www.facebook.com/pretius
LinkedIn - https://www.linkedin.com/company/pretius

More Related Content

What's hot

The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
Sashko Stubailo
 
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkDBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
Timothy Spann
 

What's hot (20)

Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101
 
REST Enabling Your Oracle Database
REST Enabling Your Oracle DatabaseREST Enabling Your Oracle Database
REST Enabling Your Oracle Database
 
ORDS - Oracle REST Data Services
ORDS - Oracle REST Data ServicesORDS - Oracle REST Data Services
ORDS - Oracle REST Data Services
 
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
Integrating Microservices with Apache Camel
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache Camel
 
How to make APEX print through Node.js
How to make APEX print through Node.jsHow to make APEX print through Node.js
How to make APEX print through Node.js
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
 
Spring GraphQL
Spring GraphQLSpring GraphQL
Spring GraphQL
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 
Design Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsDesign Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIs
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
 
Terraform: Infrastructure as Code
Terraform: Infrastructure as CodeTerraform: Infrastructure as Code
Terraform: Infrastructure as Code
 
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkDBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
 
React & GraphQL
React & GraphQLReact & GraphQL
React & GraphQL
 
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
 
Domain Driven Design
Domain Driven Design Domain Driven Design
Domain Driven Design
 
The six key steps to AEM architecture
The six key steps to AEM architectureThe six key steps to AEM architecture
The six key steps to AEM architecture
 
APEX Interactive Grid API Essentials: The Stuff You Will Really Use
APEX Interactive Grid API Essentials:  The Stuff You Will Really UseAPEX Interactive Grid API Essentials:  The Stuff You Will Really Use
APEX Interactive Grid API Essentials: The Stuff You Will Really Use
 

Viewers also liked

Oracle Apex - 3 real-life case studies (Pretius presentation for WDI2015)
Oracle Apex - 3 real-life case studies (Pretius presentation for WDI2015)Oracle Apex - 3 real-life case studies (Pretius presentation for WDI2015)
Oracle Apex - 3 real-life case studies (Pretius presentation for WDI2015)
Pretius
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express ppt
Abhinaw Kumar
 
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Alfredo Abate
 
Apex behind the scenes
Apex behind the scenesApex behind the scenes
Apex behind the scenes
Enkitec
 

Viewers also liked (20)

Oracle Apex - 3 real-life case studies (Pretius presentation for WDI2015)
Oracle Apex - 3 real-life case studies (Pretius presentation for WDI2015)Oracle Apex - 3 real-life case studies (Pretius presentation for WDI2015)
Oracle Apex - 3 real-life case studies (Pretius presentation for WDI2015)
 
Developing Customer Portal with Oracle APEX - A Case Study
Developing Customer Portal with Oracle APEX - A Case StudyDeveloping Customer Portal with Oracle APEX - A Case Study
Developing Customer Portal with Oracle APEX - A Case Study
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express ppt
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool Choice
 
Oracle APEX URLs Untangled & SEOptimized
Oracle APEX URLs Untangled & SEOptimizedOracle APEX URLs Untangled & SEOptimized
Oracle APEX URLs Untangled & SEOptimized
 
Get the Look and Feel You Want in Oracle APEX
Get the Look and Feel You Want in Oracle APEXGet the Look and Feel You Want in Oracle APEX
Get the Look and Feel You Want in Oracle APEX
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application Express
 
APEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesAPEX 5 Demo and Best Practices
APEX 5 Demo and Best Practices
 
Building a Flexible UI with Oracle ApEx
Building a Flexible UI with Oracle ApExBuilding a Flexible UI with Oracle ApEx
Building a Flexible UI with Oracle ApEx
 
5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX
 
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
Extending_EBS_12_1_3_with_APEX_5_0_COLLABORATE16
 
Creating Single Page Applications with Oracle Apex
Creating Single Page Applications with Oracle ApexCreating Single Page Applications with Oracle Apex
Creating Single Page Applications with Oracle Apex
 
Creating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXCreating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEX
 
Oracle Forms to APEX conversion tool
Oracle Forms to APEX conversion toolOracle Forms to APEX conversion tool
Oracle Forms to APEX conversion tool
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApEx
 
Apex behind the scenes
Apex behind the scenesApex behind the scenes
Apex behind the scenes
 
Oracle SOA and BPM
Oracle SOA and BPMOracle SOA and BPM
Oracle SOA and BPM
 
APEX Themes and Templates
APEX Themes and TemplatesAPEX Themes and Templates
APEX Themes and Templates
 
Moving to the APEX Listener
Moving to the APEX ListenerMoving to the APEX Listener
Moving to the APEX Listener
 
Oracle Apex Overview
Oracle Apex OverviewOracle Apex Overview
Oracle Apex Overview
 

Similar to Pretius Oracle Apex Primer

Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introduction
crokitta
 
APEX 4.2 New Features
APEX 4.2 New FeaturesAPEX 4.2 New Features
APEX 4.2 New Features
Enkitec
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Quek Lilian
 
Loan Origination Reference Architecture Deep Dive
Loan Origination Reference Architecture Deep DiveLoan Origination Reference Architecture Deep Dive
Loan Origination Reference Architecture Deep Dive
Mike Walker
 
WAD - WaveMaker tutorial
WAD - WaveMaker tutorial WAD - WaveMaker tutorial
WAD - WaveMaker tutorial
marina2207
 
WaveMaker tutorial with Flash
WaveMaker tutorial with FlashWaveMaker tutorial with Flash
WaveMaker tutorial with Flash
marina2207
 

Similar to Pretius Oracle Apex Primer (20)

Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introduction
 
APEX 4.2 New Features
APEX 4.2 New FeaturesAPEX 4.2 New Features
APEX 4.2 New Features
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
 
Ziad Resume_New
Ziad Resume_NewZiad Resume_New
Ziad Resume_New
 
Productive Development with APEX
Productive Development with APEXProductive Development with APEX
Productive Development with APEX
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
 
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
 
Web Development In Oracle APEX
Web Development In Oracle APEXWeb Development In Oracle APEX
Web Development In Oracle APEX
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
 
Loan Origination Reference Architecture Deep Dive
Loan Origination Reference Architecture Deep DiveLoan Origination Reference Architecture Deep Dive
Loan Origination Reference Architecture Deep Dive
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
 
Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
 
WAD - WaveMaker tutorial
WAD - WaveMaker tutorial WAD - WaveMaker tutorial
WAD - WaveMaker tutorial
 
WaveMaker tutorial with Flash
WaveMaker tutorial with FlashWaveMaker tutorial with Flash
WaveMaker tutorial with Flash
 
WaveMaker Presentation
WaveMaker PresentationWaveMaker Presentation
WaveMaker Presentation
 
Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0
 
Christopher Noyes Resume
Christopher Noyes ResumeChristopher Noyes Resume
Christopher Noyes Resume
 
Design and functional_specification
Design and functional_specificationDesign and functional_specification
Design and functional_specification
 
apex101-326750.ppt
apex101-326750.pptapex101-326750.ppt
apex101-326750.ppt
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Pretius Oracle Apex Primer

  • 1. HOW TO GET STARTED WITH ORACLE APEX? ORACLE APEX PRIMER Przemysław Staniszewski pstaniszewski@pretius.com https://twitter.com/pstaniszewski
  • 2. AGENDA 2 What is Oracle Apex? Working with APEX Sample use-cases Architecture Integration Oracle Forms migration
  • 3. WHAT IS ORACLE APEX? 3
  • 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 …
  • 7. Implement GUI (Graphical User Interface) … 7
  • 8. Implement GUI (Graphical User Interface) … 8
  • 9. APEX application architecture 9 Application layer Web interface Business logic Data Solution APEX PL/SQL (API) Tables / Views
  • 10. APEX application architecture 10 Solution APEX PL/SQL (API) Tabele / Widoki Calls Fetches SQL, PL/SQL HTML, Javascript
  • 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
  • 18. Interactive reports 18 Simple modification by end-users (calculated columns, aggregations, highlighting, charts) Simple sharing of new / modified reports by end-users
  • 19. Chart types 19 HTML 5, JS* i Flash; Various built-in chart types available: Bar, pie, line, point, candlestick Counters Gantt’s chart Maps
  • 20. 20
  • 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
  • 27. Architecture – app structure 27 Single database instance Single APEX instance Multiple users Multiple, independent apps
  • 28. Architecture - users 28 APEX administrator Workspace administrator Developer End users  Internal (APEX) External (e.g. LDAP)
  • 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
  • 32. APEX application maintenance 32 Test Production DEV UAT PROD SVN, GIT Users Objects Files Application
  • 35. Other technologies integration 35 JavaScript (jQuery, modernizer, AngularJS, etc.) PL/SQL (PL_FPDF, PL_EXCEL) Web Service Java (e.g. Jasper, Coocon) HTML 5 CSS (e.g. Bootstrap) Flash BI Publisher
  • 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
  • 44. How to carry out a conversion project? 44
  • 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
  • 50. THANK YOU! Przemysław Staniszewski pstaniszewski@pretius.com https://twitter.com/pstaniszewski 50 Want to get more information on Oracle Apex? Follow us on: Twitter - https://twitter.com/PretiusSoftware FB - https://www.facebook.com/pretius LinkedIn - https://www.linkedin.com/company/pretius