oracle apex technical introduction

33
Technical Overview Christian Rokitta 2010

Upload: crokitta

Post on 01-Nov-2014

1.496 views

Category:

Documents


7 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Oracle Apex   Technical Introduction

Technical Overview

Christian Rokitta2010

Page 2: Oracle Apex   Technical Introduction

Wat is APEX?

● Historisch Overzicht● Techniek & Architectuur● Positionering● Functionaliteit/Features● Verder nog ...

Page 3: Oracle Apex   Technical Introduction

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

Page 4: Oracle Apex   Technical Introduction

ArchitectuurOverzicht

9iR2, 10g, 11g, XE

●APEX Listener

●Embedded PL/SQL Gateway

●ModPLSQL

●APEX Listener

●Embedded PL/SQL Gateway

●ModPLSQL

Page 5: Oracle Apex   Technical Introduction

mod_plsql?!

htp.print('Hello BOL');

Oracle Web Toolkit

Page 6: Oracle Apex   Technical Introduction

PL/SQL Web Toolkit

Page 7: Oracle Apex   Technical Introduction

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>

Page 8: Oracle Apex   Technical Introduction

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;

Page 9: Oracle Apex   Technical Introduction

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;

Page 10: Oracle Apex   Technical Introduction

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.

Page 11: Oracle Apex   Technical Introduction

ArchitectuurAPEX Listener

●Java based ●Certified against WebLogic, SUNOracle Glassfish, OC4J, Apache (, iAS)

Page 12: Oracle Apex   Technical Introduction

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!!

Page 13: Oracle Apex   Technical Introduction

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

Page 14: Oracle Apex   Technical Introduction

ArchitectuurWorkspace

Page 15: Oracle Apex   Technical Introduction

ArchitectuurIntegrated Applications

Page 16: Oracle Apex   Technical Introduction

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

Page 17: Oracle Apex   Technical Introduction

Departemental DatabaseDecentralized Development, Centralized Management

Page 18: Oracle Apex   Technical Introduction

Rapid Application DevelopmentDesign Develop

Deploy

Page 19: Oracle Apex   Technical Introduction

Target Community

Page 20: Oracle Apex   Technical Introduction

Wat is APEX?

● Administration

● SQL Workshop

● Application Builder

● Team Development

Page 21: Oracle Apex   Technical Introduction

Administration

Page 22: Oracle Apex   Technical Introduction

SQL Workshop

Page 23: Oracle Apex   Technical Introduction

Application Builder

Page 24: Oracle Apex   Technical Introduction

Team Development

Page 25: Oracle Apex   Technical Introduction

Verder nog ...

● SQL Developer Integratie● Runtime Installation● Release Deployment / OTAP / Versiebeheer

Page 26: Oracle Apex   Technical Introduction

SQL Developer Integration

Page 27: Oracle Apex   Technical Introduction

Export/Import1: Application Builder

Page 28: Oracle Apex   Technical Introduction

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

Page 29: Oracle Apex   Technical Introduction

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

Page 30: Oracle Apex   Technical Introduction

APEXExportSplitter

filename

-help : < print this syntax >

-flat : < flat file structure >

-debug : < print debug info >

-update : < create update file >

-nochecksum : < don't check for changes >

Page 31: Oracle Apex   Technical Introduction
Page 32: Oracle Apex   Technical Introduction

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.

Page 33: Oracle Apex   Technical Introduction

?