Oracle Apex Technical Introduction
description
Transcript of Oracle Apex Technical Introduction
Technical Overview
Christian Rokitta2010
Wat is APEX?
● Historisch Overzicht● Techniek & Architectuur● Positionering● Functionaliteit/Features● Verder nog ...
Historie
2006 Application Express 2.2Packaged Applications
2006 Application Express 2.1Oracle XE
2005 HTML DB 2.0SQL Workshop
2004 HTML DB 1.6Themes
2004 HTML DB 1.5First Release
2007 Application Express 3.0Flash Charts, PDF Printing,Access Application Migration
2008 Application Express 3.1Interactive Reports, BLOB
2009 Application Express 3.2Forms Conversion
2010 Application Express 4.0Websheets, Dynamic Actions, Plug-Ins, RESTful Web
ArchitectuurOverzicht
9iR2, 10g, 11g, XE
●APEX Listener
●Embedded PL/SQL Gateway
●ModPLSQL
●APEX Listener
●Embedded PL/SQL Gateway
●ModPLSQL
mod_plsql?!
htp.print('Hello BOL');
Oracle Web Toolkit
PL/SQL Web Toolkit
mod_plsql: DAD$ORACLE_HOME\Apache\modplsql\conf\dads.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');
HTP.bodyclose;
HTP.htmlclose;
END 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);
HTP.bodyclose;
HTP.htmlclose;
END hello_world;
APEXPassing 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.
ArchitectuurAPEX Listener
●Java based ●Certified against WebLogic, SUNOracle Glassfish, OC4J, Apache (, iAS)
ArchitectuurPage 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
APEX_PUBLIC_USERAPEX_PUBLIC_USER
APEX_040000APEX_040000
SCHEMA_ASCHEMA_A SCHEMA_BSCHEMA_B SCHEMA_CSCHEMA_C
DA
DD
AD
F
ArchitectuurWorkspace
ArchitectuurIntegrated Applications
Use Cases
Data-driven ApplicationsDevelop opportunistic and departmental productivity applications
Online ReportingBuild SQL-based reporting applications on existing database schemas
Access ReplacementConsolidate outgrown Access applications to the Oracle database with an APEX Web front end
Spreadsheet Web-ificationConvert spreadsheets to Web applications where they can be concurrently viewed and edited
Oracle Forms ModernizationLeverage SQL & PL/SQL declarative programming skills to move Forms applications to HTML / Web 2.0
Departemental DatabaseDecentralized Development, Centralized Management
Rapid Application DevelopmentDesign 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
SQL Developer Integration
Export/Import1: Application Builder
Export/Import2: 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 APEXExportused 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.
?