You are on page 1of 58

<Insert Picture Here>

Oracle Application Express Rapid Application Development Tool

The following is intended to outline Oracles general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remain at the sole discretion of Oracle.

2009 Oracle Corporation Proprietary

Oracle Application Express (APEX)


Database-centric Web development tool
Unique Rapid Application Development

(RAD) tool for the Oracle Database


Browser based for Development,

Deployment & Use


Declaratively build professional Web 2.0

applications that are fast and secure


Leverages full Oracle database capabilities

and existing SQL & PL/SQL skills


Standard component of the database Fully supported, no-cost option with all

editions of the Oracle Database

Easy to develop Easy to deploy Easy to manage

2009 Oracle Corporation

Oracle Application Express Momentum


Developer community - Estimated at 250k, 100k+ downloads / year apex.oracle.com - 3m page views / week, 16k workspaces Active Discussion Forum - 3.6m views, 41k threads, #3 on OTN 5 Books, 50 BLOGs, 10 Hosting Partners Major Focus of ODTUG including APEXposed Conference

2009 Oracle Corporation

Oracle Technology Network (OTN)


Download latest Release Hosted Environment Getting Started Oracle By Examples Documentation & Tutorials Community & Partners

2009 Oracle Corporation

Community Focus
Strong & Supportive Community Popular OTN Discussion Forum Consulting Companies APEX Practices Commercial Applications Blogs, SIGs

2009 Oracle Corporation

History

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

2008 Oracle Corporation Proprietary

Targets the Rapid Application Development Community

2009 Oracle Corporation

Packaged Applications

Over 30 Packaged Applications and Sample Code Created by APEX Development Team Fully functional solutions Use as is / Customize / Learning tool No Cost Includes source code, DDL, sample data
2009 Oracle Corporation

Out of the Box Development Features


Reports Validations Translation Services Conditional Processing Authentication

Forms

Processes

Charts

Computations

Calendar

Branches

Authorization Session State Management Logging & Monitoring

Templates

Web Services

Navigation

Email Services

2009 Oracle Corporation

Interactive Reports
Out of the box declarative Web 2.0 reporting Dramatically enhances end-user capabilities

2009 Oracle Corporation

Problem: Spreadsheets

Multiple sources of truth Manual collation from different sources Reports generated from partial truth No controls over who sees the information
2009 Oracle Corporation

Problem: Personal Databases

Fragmented Platform dependent Web unfriendly Password Security inadequate Vulnerable Can be easily copied

Backups inconsistent Scattered locations Inefficient utilization of IT resources


2009 Oracle Corporation

Problem: Meeting Business Requirements

Centrally managed Enterprise Database Backed-up Secure Scalable

Gain more data visibility Integrate data silos Additional reporting Increase productivity React to market forces Meet compliance requirements

Need to do more with fewer people and less budget

2009 Oracle Corporation

<Insert Picture Here>

Oracle Application Express Integrated with SQL Developer

SQL Developer and Application Express


Browse your Application Express Applications Manage Applications (Export / Import / Deploy / Drop) Modify Applications Monitor / Tune your Queries Remote Debugging Included APEX Reports Custom Exception Reports

Requires SQL Developer 1.2.1 + and Application Express 3.0.1 +

2009 Oracle Corporation

Oracle SQL Developer


Database Development IDE Popular
Most downloaded Oracle tool 1.5m users #1 Oracle database development IDE

Distribution (No Cost)


With Database All Editions OTN download

Benefits
Productivity Ease of use
Introduced March 2006
2009 Oracle Corporation

Oracle SQL Developer Data Modelling


New SQL Developer graphical data modelling supports
Designing logical Entity Relation Diagrams (ERD) Building relational schema designs Add physical database details Generating and executing DDL scripts Reverse engineering of existing data structures Import of data models from Erwin and Designer

Provides modelling for multiple databases


Oracle Database DB2 (Mainframe & UDB) SQL Server

Supports
Multi-dimensional modelling (incl. cubes and spatial) Multi-level logical and physical design environment Model validation rules

2009 Oracle Corporation

Oracle Improving Developer Productivity


Improving developer productivity over each phase of the database application development life cycle Improving developer productivity with new tools: SQL Developer, and Application Express Introducing database data modeling
* SQL Developer Data Modeling and SQL Developer Unit Testing not yet released

2009 Oracle Corporation

<Insert Picture Here>

Oracle Application Express Consolidation / Migrations / Conversions

MS Access to APEX Migration


Drivers
Consolidation of departmental applications to centrally managed IT Some applications have grown and become mission critical Web unfriendly Platform dependent Poor security Limited scalability / excessive network traffic

Challenges
Effort / business knowledge required to migrate Poor data model design No documentation

2009 Oracle Corporation

MS Access Migration - SQL Developer and Oracle APEX


Export MS Access metadata Migrate the Microsoft Access database to Oracle Create an Oracle Application Express Workspace Create a migration project Analyze the Microsoft Access application Generate the Oracle Application Express Application Customize your Application Express application

2009 Oracle Corporation

Oracle Forms to APEX Conversion


Drivers
Modernization of software / hardware Incorporate Web 2.0 capabilities Deliver greater user interactivity Utilize existing Database objects Can re-use existing IT developer skill-set Difficulty finding new Oracle Forms developers

Challenges
Availability of IT application matter experts Conversion is non-trivial, requiring significant effort and resources APEX application will not look nor feel like Forms application

2009 Oracle Corporation

Oracle APEX Forms Conversion Overview

2009 Oracle Corporation

Load Oracle Forms Source


Run Forms2XML Utility Create APEX Project Upload Source Files

Forms2XML Utility:
Available with Forms 9i & 10g May convert Forms 4.x & 6i If conversion fails will need to manually upgrade first

2009 Oracle Corporation

Step 1: Identify Components to be Generated


Browse Components
Blocks
Select / Deselect Enhance SQL Query

Items
Select / Deselect Review Prompts

Annotate
Triggers, Program Units, Alerts, etc.
Is it Applicable? Document post-generation requirements

2009 Oracle Corporation

Step 2: Automatically Generate Components


Blocks
Form Interactive Report & Form Master / Detail Tabular Form

Items
Date Pickers HTML Editors Checkboxes Radio Groups Select Lists Pop-up List of Values

List of Values Reports Interactive Reports

2009 Oracle Corporation

Step 3: Manual Post-Generation Tasks


Make same width as box below

Application Logic

User Interface

Annotate
Update Completion Increases % complete

2009 Oracle Corporation

Track Conversion Progress

2009 Oracle Corporation

<Insert Picture Here>

Oracle Application Express Architecture

Architectural Overview

Integrated within the database 9iR2, 10g, 11g, XE Meta data driven Uses APEX Listener, Embedded Gateway or ModPLSQL
2009 Oracle Corporation

Multi-Tenant SaaS

Single Oracle Database for multiple applications Provides virtual private databases Self-service or IT managed provisioning

2009 Oracle Corporation

Oracle APEX Deployment Options


Deployable on any Oracle Database accessed using only a Web browser

Cloud / Hosted

On Premise In Datacenter

On Premise - Departmental Server

Personal Database

2009 Oracle Corporation

Oracle APEX and Amazon Cloud

2009 Oracle Corporation

Oracle APEX and Amazon Cloud

2009 Oracle Corporation

Why APEX makes sense for the Cloud


Very few moving parts Simple to manage Browser based development / deployment / runtime No client-side dependencies Multi-Tenant SaaS provides multiple workspaces Applications easy to migrate to other deployments Database Backups also backup application source Oracle AMI includes APEX (may require upgrade) Webservice Support

2009 Oracle Corporation

Building Integrated Applications

2009 Oracle Corporation

Oracle APEX Listener Available Soon


The APEX listener will support popular versions of Apache, Web Logic, Tomcat and OC4J. The Oracle Application Express Listener is a Java based mod_plsql replacement for all Oracle APEX releases. The java based listener will support file system caching, FOP transformations to PDF and improved file upload with Oracle APEX 4.0. The Java based listener is also extensible.

2009 Oracle Corporation

<Insert Picture Here>

Oracle Application Express Security

Authentication
Out-of-the-Box Pre-Configured Schemes
LDAP Directory credentials Oracle Application Server Single-Sign On Open door credentials Application Express accounts Database Account credentials No Authentication

Custom Authentication
Customizable session management logic
Use or modify (session verification function) built-in page sentry Develop custom sentry (examples provided)

Credentials verification custom PL/SQL


Accepts user name and password; Returns Boolean Only executed once per session
2009 Oracle Corporation

Managing User Access


Authorization
Pass / Fail checks cached to improve performance Can associate to any component (e.g. Application, page, button, validation, item, etc.) Various types (e.g. Exists, SQL Query, PL/SQL Function, etc.)

Session State Protection


Prevent URL Tampering Utilizes MD5 checksum

Agnostically use Database Security Features


Fine Grained Access Control (aka VPD); Transparent Data Encryption; Database Vault; Advanced Security Option; etc. No APEX development effort required

2009 Oracle Corporation

Administrator Best Practices


Considerations with Embedded PL/SQL Gateway Uses XMLDB HTTP Protocol Listener Part of the Database Not recommended for internet facing applications Configuring Oracle HTTP Server with mod_plsql Configured using Database Access Descriptors (DADs) Use PlsqlRequestValidationFunction to allow specified procedures Utilizing Secure Sockets Layer (SSL) Implemented using the HTTPS protocol encrypts sent / received packets Prevents data from being sent over unprotected communication channel APEX Runtime-Only Environment Scripts provided to completely remove / re-install Application Builder Removes Web interface for administration and application development Setting Password Complexity Rules Can set multiple complexity rules / re-use rules across instance Using Session Timeout Set maximum session length and idle time for APEX developer log-ins
2009 Oracle Corporation

Developer Best Practices


Understand Items of type Password Dont emit entered text to screen Should not save-state or should use Item encryption if saving to the DB Reports provided to identify at-risk Password items Using Zero as Session ID Critical for PUBLIC applications to ensure no cross-user contamination Session Id not included in application URL Cross-Site Scripting Protection Protect HTML Regions and other static areas
Use &ITEM. notation to reference session state variables Select best Item types based on protection required Protect Dynamic Output Explicitly use escape code when emitting session state {e.g. htp.p(htf.escape_sc(v('SOME_ITEM'))); } Protect Report Regions References in headings and messages escaped based on Item type

2009 Oracle Corporation

Developer Best Practices


Session State Protection
Clear session state of unneeded values using Clear Cache built-ins Enable Session State Protection to prevent URL tampering Set appropriate protection for Pages, Items and Application Items using built-ins

Utilize Application Session Time-Outs


Build public page for users to land on when session expired Set Maximum Session Length and Maximum Session Idle times

Save State before Branching Use Branch checkbox to save session state values prior to branching Session state values will not be displayed in the Branch URL Saving sensitive Item values (e.g. SSN) Use Item checkbox to store value encrypted in session state Stores values encrypted in APEX session state table For storing sensitive data in the database should encrypt the table columns Encrypting table columns completely independent of APEX

2009 Oracle Corporation

<Insert Picture Here>

Oracle Application Express Customer Surveys / Profiles

Customer Surveys

2009 Oracle Corporation

Oracle APEX Customer Profiles


Modernization of Legacy Applications
Paetec Software Corp
20 year old application Converted from Omni Software Required Web capabilities Engineers skilled in PL/SQL and no Web experience

Large UK based ISV


Currently converting 5,000 Oracle Forms Required Web 2.0 capabilities to be competitive Very extensive re-use of existing Database objects

Integrated Solutions
InterVarsity Christian Fellowship/USA
Integrated with eBusiness Suite

Roman Incorporated
Integrated with ERP and used on Handhelds

Harvard Pilgrim Health Care


Online application for individuals integrated with existing system for employees

2009 Oracle Corporation

Oracle APEX Customer Profiles


Reporting Applications
Oracle Audit Vault 10.2.3
Replaced 100s of individual reports with 30 Interactive Reports

Iron Mountain
Monitor over 60 databases from one application Evaluate disc usage and predict future requirements

Targeted Solutions
PGA Golf
Tournament purse management and payment system

BMW / Oracle Racing


Provide analytics on data obtained from yacht sensors

AskTom
Tom Kytes highly popular discussion forum

CERN
Training & safety registration applications

2009 Oracle Corporation

Oracle APEX Customer Profiles


Departmental Applications
Deutsche Telecom
Physical stores sales tracking application

WaMu
Standard corporate development tool

US Army
Property planning and inventory management system

Consolidation Projects
Telstra
18,000 Access Applications causing major network load Banned Access and consolidated into APEX

Tennessee Department of Environment & Conservation


Power users trained in APEX (no IT required) Consolidating spreadsheets and Access into Oracle

Lansing Community College


Microsoft Access and Microsoft Excel consolidation
2009 Oracle Corporation

Oracle APEX Customer Profiles


Commercial Applications
Paetec Pinnacle Communications Management Suite
Integrated Service Lifecycle Management (SLM) application Available licensed, hosted, or managed

Insum
Association Management - Software as a Service (SaaS)

Neoface
CRM for the SMB market

Internet Applications
ProMED-Mail
Rapid global dissemination of information on outbreaks of infectious diseases and acute exposures to toxins that affect human health

Utah Department of Transport (UDOT)


Content management application and the public facing application

endlichferien GbR
High traffic portal to connect vacationers with cottage owners, travel agencies, etc.

2009 Oracle Corporation

<Insert Picture Here>

Oracle Application Express Summary

Oracle APEX Roadmap


APEX 3.1.2
Introduced Interactive Reports Basis for Audit Vault Reporting

APEX 3.2 Latest Production Release


Forms Conversion Enhanced Security features

Download from OTN

APEX 4.0
Websheets Oracle APEX Listener Improved Tabular Forms Dynamic Actions

2009 Oracle Corporation

Latest APEX Features


Forms Conversion [3.2] Enables the loading of Oracle Forms source into an Oracle
Application Express project and generate an initial APEX application.

Interactive Reports [3.1] An innovative new technology that allows end users to
customize reports. By putting more power in the hands of users it reduces development time and effort while simultaneously enhancing application functionality.

Web Services Integration [3.1] Ability to easily integrate with services through either
built-in Web service support or through lower level PL/SQL UTL_HTTP package calls.

Optional Runtime-Only Deployment [3.1] Ability to install just a runtime APEX


environment via SQL scripts for production environments, minimizing installed footprint and increasing security.

PDF Printing [3.0] Integrate with Report Server (Oracle BI Publisher, Apache FOP,
or XSL-FO) to produce PDF, XLS, HTML outputs. Can define multiple report queries and load custom RTF or XSL-FO templates.

Flash Charts [3.0] Create professional charts using Adobe Flash MS Access Migration [3.0] Use SQL Developer Migration Workshop to migrate the
Access schema and data. Then migrate the Access Forms, Reports and Queries using APEX to generate a first-cut design
2009 Oracle Corporation

Oracle Application Express


Oracle 11g differentiator (Application Development framework) Large and Rapidly growing APEX community Dominating Oracle RAD development (Fast and easy) Capitalizes on SQL and PL/SQL knowledge and popularity Driving legacy conversion / consolidation Web 2.0 capabilities Interactive Reports, Flash, AJAX Empowering technology Scalable, Integrated and Secure Integration EBS, CRM On-Demand, etc.

2009 Oracle Corporation

Oracle Application Express FUD


Only good for Excel / Access replacement
Successfully used to meet a large variety of use cases from small to very large, from simple to very complex

Simple architecture wont scale


Single tier architecture results in fewer network traversals and CPU cycles per page request Takes full advantage of Oracle Database capabilities and features as built 100% inside database Proven by countless customer success stories and sites like ARIA, AskTom, ThinkQuest

APEX is not here to stay


APEX 3.2 represents the 8th major release since 2004 Integrated into Oracle 11gR1 Seed Database (Part of the core database as a standard feature) Oracle increasingly relies on APEX for internal applications to improve business processes

Its free so it cant be


Oracle provides APEX, SQL Developer, etc. at no-cost to encourage development in Oracle Technologies and increase utilization of the Oracle Database Dedicated APEX Oracle Support team available as part of standard Oracle Database license

Oracle will charge for APEX in the future


Oracle has no plans to charge for APEX No precedent exists for Oracle charging for a database feature that is currently no-cost

2009 Oracle Corporation

Next Steps

Information: http://otn.oracle.com/apex Hosted Development: http://apex.oracle.com

2009 Oracle Corporation

2009 Oracle Corporation

2009 Oracle Corporation

You might also like