Technical Overview Christian Rokitta 2010
Wat is APEX? ● Historisch Overzicht ● Techniek & Architectuur ● Positionering ● Functionaliteit/Features ● Verder nog ...
2010 Application Express 4.0 Historie Websheets, Dynamic Actions, Plug-Ins, RESTful Web 2009 Application Express 3.2 Forms Conversion 2008 Application Express 3.1 Interactive Reports, BLOB 2007 Application Express 3.0 Flash Charts, PDF Printing, Access Application Migration 2006 Application Express 2.2 Packaged Applications 2006 Application Express 2.1 Oracle XE 2005 HTML DB 2.0 SQL Workshop 2004 HTML DB 1.6 Themes 2004 HTML DB 1.5 First Release
Architectuur Overzicht APEX Listener ● Embedded PL/SQL Gateway ● ModPLSQL ● 9iR2, 10g, 11g, XE
mod_plsql?! htp.print('Hello BOL'); Oracle Web Toolkit
PL/SQL Web Toolkit
mod_plsql: DAD $ORACLE_HOMEApachemodplsqlconfdads.conf <Location /bol> SetHandler pls_handler Order deny,allow Allow from all AllowOverride None PlsqlDatabaseUsername bol PlsqlDatabasePassword bol PlsqlDatabaseConnectString lt-crokitta:1521:xe ServiceNameFormat PlsqlAuthenticationMode Basic PlsqlDefaultPage bol.hello_world PlsqlDocumentPath docs </Location>
PL/SQL Web Toolkit CREATE OR REPLACE PROCEDURE hello_world IS BEGIN HTP.htmlopen; HTP.headopen; HTP.title ('BOL - Demo: Hello World'); HTP.headclose; HTP.bodyopen; HTP.header (1, 'Hello World');
PL/SQL Web Toolkit CREATE OR REPLACE PROCEDURE hello_world (p_wie varchar2 DEFAULT 'World' ) IS BEGIN HTP.htmlopen; HTP.headopen; HTP.title ('BOL - Demo: Hello World'); HTP.headclose; HTP.bodyopen; HTP.header (1, 'Hello ' || p_wie);
APEX Passing Parameters (f?p syntax) f?p=App:Page:Session:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly App: application ID or alphanumeric alias ● Page: page number or alphanumeric alias ● Session: Identifies a session ID ● Request: Sets the value of REQUEST. Each application button sets the value of ● REQUEST to the name of the button. This enables accept processing to reference the name of the button when a user clicks it. Debug: Displays application processing details. Valid values for the DEBUG flag are YES ● or NO. ClearCache: Clears the cache. This sets the value of items to null. ● ItemNames: Comma-delimited list of item names used to set session state with a URL. ● ItemValues: List of item values used to set session state within a URL. ● PrinterFriendly: Determines if the page is being rendered in printer friendly mode. ●
Architectuur APEX Listener ●Java based ●Certified against WebLogic, SUNOracle Glassfish, OC4J, Apache (, iAS)
Architectuur Page Processing ●Show: page rendering process. It assembles all the page attributes (including regions, items, and buttons) into a viewable HTML page ●Accept: performs page processing. It performs any computations, validations, processes, and branching. Each request opens / closes Database session!! ●
APEX DAD & DB Schema´s DAD APEX_PUBLIC_USER F APEX_040000 SCHEMA_A SCHEMA_B SCHEMA_C
Architectuur Workspace
Architectuur Integrated Applications
Use Cases Data-driven Applications Oracle Forms Modernization Develop opportunistic and departmental Leverage SQL & PL/SQL declarative productivity applications programming skills to move Forms applications to HTML / Web 2.0 Online Reporting Build SQL-based reporting applications on existing database schemas Spreadsheet Web-ification Access Replacement Consolidate outgrown Access applications Convert spreadsheets to Web applications to the Oracle database with an APEX Web where they can be concurrently viewed and front end edited
Departemental Database Decentralized Development, Centralized Management
Rapid Application Development Design Develop Deploy
Target Community
Wat is APEX? ● Administration ● SQL Workshop ● Application Builder ● Team Development
Administration
SQL Workshop
Application Builder
Team Development
Verder nog ... ● SQL Developer Integratie ● Runtime Installation ● Release Deployment / OTAP / Versiebeheer
Export/Import 1: Application Builder
Export/Import 2: Command Line Utilities ● APEXExport.class - Java program used to export Oracle Application Express applications ● APEXExportSplitter.class - Java program used to split Oracle Application Express export files into separate SQL scripts
Usage APEXExport used to export applications or workspaces -db: Database connect url in JDBC format -user: Database username -password : Database password -applicationid : ID for application to be exported -workspaceid : Workspace ID for which all applications to be exported or the workspace to be exported -instance : Export all applications -expWorkspace : Export workspace identified by -workspaceid or all workspaces if -workspaceid not specified -skipExportDate : Exclude export date from application export files -expPubReports : Export all user saved public interactive reports -expSavedReports: Export all user saved interactive reports -expIRNotif : Export all interactive report notifications -expFeedback : Export team development feedback for all workspaces or identified by -workspaceid to development or deployment -expTeamdevdata : Export team development data for all workspaces or identified by -workspaceid -deploymentSystem : Deployment system for exported feedback -expFeedbackSince : Export team development feedback since date in the format YYYYMMDD
APEXExportSplitter filename -help : < print this syntax > -flat : < flat file structure > -debug : < print debug info > -update : < create update file > -nochecksum : < don't check for changes >
Command Line Import Assumes you are running the script connected to SQL*Plus as the Oracle user APEX_040000 or as the owner (parsing schema) of the application.
Oracle Apex Technical Introduction

Oracle Apex Technical Introduction

  • 1.
  • 2.
    Wat is APEX? ● Historisch Overzicht ● Techniek & Architectuur ● Positionering ● Functionaliteit/Features ● Verder nog ...
  • 3.
    2010 Application Express4.0 Historie Websheets, Dynamic Actions, Plug-Ins, RESTful Web 2009 Application Express 3.2 Forms Conversion 2008 Application Express 3.1 Interactive Reports, BLOB 2007 Application Express 3.0 Flash Charts, PDF Printing, Access Application Migration 2006 Application Express 2.2 Packaged Applications 2006 Application Express 2.1 Oracle XE 2005 HTML DB 2.0 SQL Workshop 2004 HTML DB 1.6 Themes 2004 HTML DB 1.5 First Release
  • 4.
    Architectuur Overzicht APEX Listener ● Embedded PL/SQL Gateway ● ModPLSQL ● 9iR2, 10g, 11g, XE
  • 5.
    mod_plsql?! htp.print('HelloBOL'); Oracle Web Toolkit
  • 6.
  • 7.
    mod_plsql: DAD $ORACLE_HOMEApachemodplsqlconfdads.conf <Location /bol> SetHandler pls_handler Order deny,allow Allow from all AllowOverride None PlsqlDatabaseUsername bol PlsqlDatabasePassword bol PlsqlDatabaseConnectString lt-crokitta:1521:xe ServiceNameFormat PlsqlAuthenticationMode Basic PlsqlDefaultPage bol.hello_world PlsqlDocumentPath docs </Location>
  • 8.
    PL/SQL Web Toolkit CREATEOR REPLACE PROCEDURE hello_world IS BEGIN HTP.htmlopen; HTP.headopen; HTP.title ('BOL - Demo: Hello World'); HTP.headclose; HTP.bodyopen; HTP.header (1, 'Hello World');
  • 9.
    PL/SQL Web Toolkit CREATEOR REPLACE PROCEDURE hello_world (p_wie varchar2 DEFAULT 'World' ) IS BEGIN HTP.htmlopen; HTP.headopen; HTP.title ('BOL - Demo: Hello World'); HTP.headclose; HTP.bodyopen; HTP.header (1, 'Hello ' || p_wie);
  • 10.
    APEX Passing Parameters (f?p syntax) f?p=App:Page:Session:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly App: application ID or alphanumeric alias ● Page: page number or alphanumeric alias ● Session: Identifies a session ID ● Request: Sets the value of REQUEST. Each application button sets the value of ● REQUEST to the name of the button. This enables accept processing to reference the name of the button when a user clicks it. Debug: Displays application processing details. Valid values for the DEBUG flag are YES ● or NO. ClearCache: Clears the cache. This sets the value of items to null. ● ItemNames: Comma-delimited list of item names used to set session state with a URL. ● ItemValues: List of item values used to set session state within a URL. ● PrinterFriendly: Determines if the page is being rendered in printer friendly mode. ●
  • 11.
    Architectuur APEX Listener ●Java based ●Certified against WebLogic, SUNOracle Glassfish, OC4J, Apache (, iAS)
  • 12.
    Architectuur Page Processing ●Show: page rendering process. It assembles all the page attributes (including regions, items, and buttons) into a viewable HTML page ●Accept: performs page processing. It performs any computations, validations, processes, and branching. Each request opens / closes Database session!! ●
  • 13.
    APEX DAD &DB Schema´s DAD APEX_PUBLIC_USER F APEX_040000 SCHEMA_A SCHEMA_B SCHEMA_C
  • 14.
  • 15.
  • 16.
    Use Cases Data-drivenApplications Oracle Forms Modernization Develop opportunistic and departmental Leverage SQL & PL/SQL declarative productivity applications programming skills to move Forms applications to HTML / Web 2.0 Online Reporting Build SQL-based reporting applications on existing database schemas Spreadsheet Web-ification Access Replacement Consolidate outgrown Access applications Convert spreadsheets to Web applications to the Oracle database with an APEX Web where they can be concurrently viewed and front end edited
  • 17.
  • 18.
  • 19.
  • 20.
    Wat is APEX? ● Administration ● SQL Workshop ● Application Builder ● Team Development
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
    Verder nog ... ● SQL Developer Integratie ● Runtime Installation ● Release Deployment / OTAP / Versiebeheer
  • 27.
  • 28.
    Export/Import 2: Command Line Utilities ● APEXExport.class - Java program used to export Oracle Application Express applications ● APEXExportSplitter.class - Java program used to split Oracle Application Express export files into separate SQL scripts
  • 29.
    Usage APEXExport used to export applications or workspaces -db: Database connect url in JDBC format -user: Database username -password : Database password -applicationid : ID for application to be exported -workspaceid : Workspace ID for which all applications to be exported or the workspace to be exported -instance : Export all applications -expWorkspace : Export workspace identified by -workspaceid or all workspaces if -workspaceid not specified -skipExportDate : Exclude export date from application export files -expPubReports : Export all user saved public interactive reports -expSavedReports: Export all user saved interactive reports -expIRNotif : Export all interactive report notifications -expFeedback : Export team development feedback for all workspaces or identified by -workspaceid to development or deployment -expTeamdevdata : Export team development data for all workspaces or identified by -workspaceid -deploymentSystem : Deployment system for exported feedback -expFeedbackSince : Export team development feedback since date in the format YYYYMMDD
  • 30.
    APEXExportSplitter filename -help : < print this syntax > -flat : < flat file structure > -debug : < print debug info > -update : < create update file > -nochecksum : < don't check for changes >
  • 32.
    Command Line Import Assumesyou are running the script connected to SQL*Plus as the Oracle user APEX_040000 or as the owner (parsing schema) of the application.