Grant Ronald Principal Product Manager JDeveloper and ADF for Forms Developers: Taking it to the next level Agenda • What you should know • What this presentation is • What this presentation isn’t! • Getting into the code • Extending the business logic • Common “Forms trigger” points • Searching and querying • Calling a stored procedure from ADF BC • Extending the user interface • Conditional page flow • Stacked canvases What You Should Know • • • • JDeveloper ADF ADF Business Components JSF ADF Architecture ADF Swing JSP JSF/ADF Faces View Struts JSF Controller ADF Data Binding/ Data Control Model (JSR 227) EJB Java Classes ADF Business Components Web Services Portlets JSR-168 WSRP Metadata Services (MDS Toplink Business Services Data Source Relational Data XML Data Legacy Data Packaged Apps ADF Business Components CustView CustView OrdView OrdView Customer Order OrdView LineItem Application Module View Objects Entity Objects Getting into the code • ADF BC doesn’t “generate code” • “default” XML definition • Allows you to expose more and more of the implementation code Getting into the code • Exposing code in the Entity Object Getting into the code • Exposing code in the View Object Getting into the code • Exposing code in the Application Module Common “Forms Trigger” points • Validation • When-Validate-Item, When-Validate-Record • Query • Pre-Query, Post-Query • Transaction • Pre-Commit, On-Commit, Post-Commit • Pre-Insert, On-Insert, Post-Insert • Pre-Delete, On-Delete, Post-Delete Validation Triggers • When-Validate-Item • When-Validate-Record Query Triggers • Post-Query • Non-base table population • Running totals • Pre-Query • Modify query Transactional Triggers • Insert, Delete, Update • Pre• Post• On- The Best of the Rest • When-Create-Record • When-Remove-Record • When-Button-Pressed (UI processing – later) D E M O N S T R A T I O N Adding “trigger” code Searching and Querying • Parameterize search form • ADF Search Form • ADF provides option to “ExecuteWithParams” • Execute Query D E M O N S T R A T I O N Adding search code D E M O N S T R A T I O N Calling a stored procedure Next Level – UI Processing • Auto Submit • Conditional UI processing • Expression Language validation • Backing/Managed Beans • “Stacked canvases” • Conditional page flow Auto Submit • HTML UI validates only on POST • ADF Faces provides Partial Page Rendering • AutoSubmit submits page when field changed • PartialTrigger defines fields that re-act to changes D E M O N S T R A T I O N Auto Submit Conditional UI Processing • JSF Expression Language (EL) • Backing/Managed Beans Stacked Canvas • <af:switcher> • Number of facets • Each facet is a “canvas” • Property to defines which canvas to render D E M O N S T R A T I O N Stacked Canvas Conditional Page Flow • Button action returns a string • When-Button-Pressed • Define page flow based on runtime criteria D E M O N S T R A T I O N Conditional Page Flow Summary • ADF provides Forms developers with • All your favorite triggers • Many of the common Forms concepts • Stacked canvases • Defining search criteria • Conditional page flow • And a lot more besides! • JDeveloper and ADF continue to provide more and more productivity features for Forms developers otn.oracle.com Join Over 4,500,000 Developers! Free Technical Advice Free Software Downloads otn.oracle.com/formsdesignerj2ee Oracle ADF Productivity with Choice