<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 3 rd 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