Вы находитесь на странице: 1из 51

<Insert Picture Here>

Michael Hichwa
VP Database Development Tools
michael.hichwa@oracle.com
Stuttgart September 18, 2007
Hamburg September 20, 2007
Oracle Application Express

• Introduction

• Architecture

• Why Application Express

• Futures
Application Express
• Is a unique Mass Market Web Application
Development tool for the Oracle Database
• Fills void between Access and Java
• SQL Centric
• No DB Cost Feature (requires 9iR2 or better)
• APEX 3.0 Provides
• Declarative database centric web application development
tool
• PDF Printing
• MS Access Application Migration Tool
• Flash Charting
• Improved Web Services (Complements BPEL & Jdev)
• Distributed with 11g
Application Express – Browser Based
• Browser Based
Application
Development
• No Client Software to
Develop, Deploy, or
Run Applications
• Full Service:
Application Building,
SQL Workshop,
Utilities
Application Express Use Cases
• Interactive Internet Applications
• Tactical Intranet Applications
• Empower departments to create their own applications
• Fill in gaps in commercial off the shelf software
• Data Collection
• Data Reporting
• Span spectrum from small department to enterprise
Application Express Use Cases
• Internet
• http://asktom.oracle.com
• http://metalink.oracle.com
• http://www.odtug.com
• http://www.ioug.com
• http://promedmail.org
• http://www.lereve.com.au
• http://northstarbmw.org
• http://www.iadvise.be/xtra4o
• http://www.priceblog.it
• Oracle Internal
• Multiple groups within Oracle have groups to write and maintain APEX
Applications (Sales, Consulting, Apps IT, Development)
• Typically tracking and reporting applications
History
2007 Application Express 3.0
Flash Charts, PDF Printing,
Access Aplication 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
Oracle Application Express

• Introduction

• Architecture

• Why Application Express

• Futures
Application Express – Architecture

Databases: 9iR2, 10g; XE, SE, EE


Features: Analytics, Text , Spatial, XML, RAC, VPD / RLS,
interMedia, AQ, Jobs, Distributed DB, Replication
Fully database encapsulated
Application Express - Architecture
• Web clients connect to a pool of connections
• Each connection from the pool maintains a dedicated connection to the database
• Only active database sessions consume database resources
Application Express - Architecture
• Only active page requests are consume resources
• Inactive database sessions are idle
• DB client Information identifies user, application and page

*
Application Express - Architecture
• Application Express 3.0 – PDF Printing via
BI Publisher or Apache FOP
Application Express - Architecture

• Use Embedded PL/SQL Gateway with XE and 11g, 100% database encapsulated.

• Or use Apache and mod_plsql. With apache static images, CSS and javascript are
served from the file system.
Oracle Application Express

• Introduction

• Architecture

• Why Application Express

• Futures
Why Application Express?

• Rapid Web Application Development


• Leverage your Oracle SQL Skills
• Database Encapsulated
• Fast and Scalable
• 100% Browser Based Development, Deployment, & Runtime
• Declarative; no scripting, no 3GL code, no compiling, no files
• Single File Deployment
• SaaS Enabled
• Transition non-web Application to the Web
• Unique product with Robust Community and High Adoption

http://www.oracle.com/technology/products/database/application_express/index.html
Why Application Express?
• Rapid Web Application Development
• Wizards to create Forms, Reports, Calendars and Charts
• Advanced Web Technologies Built In
• Robust library of item types (select list, radio group, calendars,
shuttles, text areas, checkboxes, …)
• Partial Page Refresh (PPR) Report Pagination
• Separation of HTML UI from Application Development
• 18 Themes each with 70 or more templates
• Creating HTML, CSS, Javascript is optional
• Integrated PDF Reporting and Charting
• 25 Packaged / Sample Applications Provide Examples
• Oracle APEX ships with a large repository of artwork (images)
allowing attractive and consistent applications to be developed
rapidly.
Why Application Express?
• Rapid Web Application Development
• Robust framework makes development easier, more standardized
Why Application Express?
• Rapid Web Application Development (continued)
• Declarative Framework
• Automatic Session State Management
• Session State referenced in SQL using bind variable syntax
• Automatic Table DML
• 60 Built in Item Display Types (text, checkbox, shuttle, date, file upload...)
• Abstracted from Complex & Fluid AJAX, JS, XML, CSS Technologies
• Granular UI Control via Templates (aggregated into Themes)
• Authentication and Authorization Controls
• Fully Exploits both SQL and PL/SQL
• Database Encapuslated (everything is in the database)
• Declarative, no 3GL code, no code generation, no scripting
• Hacker Hardened: URL Tampering, CSS, SQL Injection, DOS
• Integrated Reporting and Charting Services
Why Application Express?
• Leverage your Oracle SQL Skills
• Write SQL Queries to produce Reports, Charts and Calendars
• Use PL/SQL to Process Data
• Use PL/SQL to generate HTML using htp.p(‘hello world’); sytnax
• Use SQL or PL/SQL for conditionality checks and security
• Reference session state using bind variables (…where ename like
:p1_search)
• You can create usable applications without coding JavaScript, CSS
or HTML

http://www.oracle.com/technology/products/database/application_express/index.html
Why Application Express?
• Database Encapsulated
• Oracle APEX does not require any other services other then an
Oracle database, resulting in fewer moving parts to configure,
manage, upgrade, backup etc.
• Managing just an Oracle Database increases availability and
performance by reducing the number of components that require
management
Why Application Express?
• Fast and Scalable
• APEX supports more users on less hardware then synchronous
technologies such as Oracle Forms. APEX is asynchronous
therefore the only sessions on APEX are active sessions
• Reduced network chat as compared with three tier architecture, with
APEX web pages are generated directly from the database reducing
network latency
• Easy to calculate hardware requirements using published formula
• Session architecture is ideal for Oracle RAC since each page view
can be served from any RAC node
• Tuning your applications is simplified since Oracle APEX is database
encapsulated. You can use conventional database tuning tools
including trace, ASH and AWR.
• Running an APEX application in debug mode provides instance
performance feed back to developers on the time required to
generate each component / region on a page
• Oracle APEX is supplied with numerous performance reports which
can be used to track performance by application, page, and user.
Why Application Express?
• Fast and Scalable (continued)
• Internal Oracle employee directory application daily page views
Why Application Express?
• Fast and Scalable (continued)
• Internal Oracle employee directory application hourly page views
Why Application Express?
• Fast and Scalable (continued)
• Example of employee directory application
Why Application Express?
• Fast and Scalable (continued)
• Internal Oracle employee directory application hourly page views
Why Application Express?
• Fast and Scalable (continued)
• Internet Hosted Service apex.oracle.com
• Over 10,000 workspaces, over 27,000 distinct applications
• 1,400,000 page views/week
• Dell PowerEdge 1950 – with 2 dual core 2.33GHz processors
• 16GB RAM
• ~$5,000
• Internal Employee Directory Application
• ~400,000 page views per day
• ~7 page views per second for busiest hour
• Intranet Hosted APEX Services
• 1,600 Workspaces
• 5,300 Applications
• 271,000 Weekly Page Views
• 11g improves Oracle APEX performance
• Overall Improved Performance of PL/SQL
• Use of the /* result_cache */ query hint internally within Oracle APEX
• Improved SQL Performance
Why Application Express?
• 100% Browser Based Development, Deployment, & Runtime
• Brings the same advantage the web provides end-users to developers. Any
computer is an APEX development workstation.
• APEX highly declarative framework is well suited for web based user interface
• APEX is written in itself which affords developers extensive exposure to using APEX
• Works well for hosted activities since you only need to open a web port. Work from
home, work on a internet hosted service
Why Application Express?
• Highly Declarative
• No Scripting, not a scripting language like PHP or PERL
• No 3GL Coding, not a code generation framework based on C# or
Java
• No Compiling; No code is generated or compiled when deploying an
Oracle APEX based application, Oracle APEX renders pages in real
time from attributes stored in database tables
• No Files; Oracle APEX can use files to back and deploy APEX
applications, however no files are required at runtime.
• Database Encapsulated; Declarative Attributes are stored in
database tables and exposed as documented database views which
allows developers to document and cross check application
functionality using SQL queries.
Why Application Express?
• Single File Deployment
• Verify Install Pre-requisites
• Install Database Objects
• Install Application Definition
• Load custom Images, CSS and JavaScript if needed
• Deinstall of supporting objects and application
• Oracle distributes over 30 applications via OTN
Why Application Express?
• Software as a Service (SaaS)
Enabled
• Allows IT department to host a
development service, allowing
the IT department to manage the
data and the database.
• Hosted APEX allows
departmental developers the
freedom to build the applications
they need to quickly and easily.
• Oracle APEX was designed from
the beginning to be multitenant
allowing a single Oracle
database to provide a “virtual
private database” to thousands
of customers.
Why Application Express?
• Transition non-web applications to the web
• When excel spreadsheets need concurrent user access, database capabilities,
and web deployment the data can be moved into an Oracle database with an
Oracle APEX user interface (UI).
• Microsoft Access applications have insufficient security and performance for
some applications, moving these applications to Oracle APEX provides a
modern web UI and an enterprise class database.
Why Application Express?
• Unique product with Robust Community and High Adoption
• 28 Consulting Companies (12 US / 16 European)
• 6 Hosting Companies
• 27 Blogs
• 3 books available with 2 under development
• 18 Packaged Applications
• 3rd most popular discussion forum on the Oracle Technology Network
Oracle Application Express

• Introduction

• Architecture

• Why Application Express

• Futures
Application Express 3.1
• Release 3.1
• Optional Runtime-Only installation
• Small footprint least privileged installation
• Supported and Documented JavaScript Libraries
• Lightweight plumbing to integrate with other web libraries or to build
custom AJAX functionality
• PL/SQL API to manage Application Express
• Enhanced integration with Oracle SQL Developer for MS Access to
Application Express migration
• Bug fixes and minor improvements
• Improved SQL Editor
• Improved data loading (no size limits)
Application Express 4.0
• Release 4.0
• Dynamic Query Regions
• Interactive reporting region types which natively integrate Web 2.0 features to
filter, break, sort data, etc.
• Extensible Item Framework
• Allow developers to "plug in" their own custom item types
• Declarative AJAX validations
• Declarative cascading select lists and other similar item types
• Improved tabular forms
• Validations, integration with collections, and additional item types
• New item/region types
• Partial Page Refresh (PPR) support for Calendars
• AJAX tree control
• Improved PDF Report Printing
• Improved Error Message Handling
• Developer control over constraint violation and lost update detection …
• Numerous functional and performance improvements
Application Express 4.0

• Dynamic Query Regions


• Like a Report Region type in that it can report data
• Region may be based on a Table/View or SQL Query
• Developer may customize
• Initial configuration ( the default report )
• Full domain of columns and column groups
• Functionality to be exposed by region
• End user customizable
• Column Order, Columns to Display, Control Breaks, Filters
• Users may save reports
• Designed to provide productive query capabilities to end users declaratively
• Create attractive sophisticated AJAX enabled applications in seconds
• Avoids building many reports on the same data
• Avoids building custom filtering controls
Application Express 4.0

• Demonstration of Dynamic Query Region


Application Express 4.0
• Dynamic Query Region implemented as single page region
Application Express 4.0
• Single search field can search all or selected columns
Application Express 4.0

• Pull Down Column Sorting, Filtering, Display Control


Application Express 4.0

• User may customize report including control breaks


Application Express 4.0
• Actions menu allows for additional functionality
Application Express 4.0
• Example of Row Highlighting
Application Express 4.0
• Create complex filers using filter control
Application Express 4.0
• End user control over column display and display order
Application Express 4.0
• Both single and multi row views
Application Express 4.0
• Filters are specific to datatype, for example dates
Application Express 4.0
• Users can create charts and calendars based on report data
SQL Developer Integration
• SQL Developer is a Database
development tool for all frameworks
• Improves DBA Developer Productivity
• Browse database objects
• Run SQL and SQL scripts
• Edit and debug PL/SQL
• Browse APEX Applications
• Install APEX Applications
• APEX Meta Data Reporting
Resurgence in Database Tools
• Oracle now has a new group within the database
organization responsible for Database Development
tools. This has resulted in:
• Increased integration of Oracle APEX with the Oracle
database 11g and XE. Development of an embedded
PL/SQL gateway.
• Integration of Oracle APEX with other Oracle Database
Server projects
• Introduction of Oracle SQL Developer
• Increased focus and multiple future projects to further
enhance database tools