Beruflich Dokumente
Kultur Dokumente
Michael Hichwa
VP Database Development Tools
michael.hichwa@oracle.com
Stuttgart September 18, 2007
Hamburg September 20, 2007
Oracle Application Express
• Introduction
• Architecture
• 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
• Introduction
• Architecture
• Futures
Application Express – Architecture
*
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
• Futures
Why Application Express?
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
• 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