Sign in
|
Register
|
Mobile
Home
Browse
About us
Help/FAQ
Advanced search
Home
>
Browse
>
Oracle Press
>
Oracle Fusion Developer Guide
CITATION
Nimphius, Frank and
Munsinger, Lynn
.
Oracle Fusion Developer Guide
.
US
: McGraw-Hill Osborne Media, 2009.
Add to Favorites
Email to a Friend
Download Citation
Oracle Fusion Developer Guide
Authors:
Frank Nimphius
and
Lynn Munsinger
Published:
December 2009
eISBN:
9780071622554 0071622551
|
ISBN:
9780071622547
Open eBook
Book Description
Table of Contents
Contents
Foreword
Acknowledgments
Introduction
1 The Quick Learner's Guide to Oracle Fusion Web Application Development
Building Oracle Fusion Applications
Oracle ADF
Building a Fusion Application Workspace in Oracle JDeveloper
ADF Business Components for Quick Learners
Maturity Through History
Framework Classes
Creating a Business Components Model
Entity Objects
Associations
View Objects
View Links
Application Modules
Oracle ADF for Quick Learners
Maturity Through History
Introduction to Data Controls
The Oracle JDeveloper Data Control Palette
The Role of the ADF Binding Layer
ADF Binding Classes
JavaServer Faces for Quick Learners
Architecture Overview
Building Blocks
Expression Language
Context and Application Objects
Configuration Files
Managed Beans and Backing Beans
Events
Navigation
ADF Faces Rich Client for Quick Learners
Maturity Through History
Two More Context Classes
Configuration
Components
ADF Component Binding
Partial Page Rendering
Summary
2 Oracle Application Development Framework (ADF)
The ADF Model Framework
ADF Data Controls
Creating ADF Bindings
Drag-and-Drop Data Bindings
The Page Definition File
Accessing the Binding Layer
Accessing the Binding Layer from Expression Language
Accessing the Binding Layer from Java
Summary
3 The Oracle ADF and ADF Faces Rich Client Lifecycle
JavaServer Faces Lifecycle
Phase Listener
A Close Look at the immediate Attribute
Converter
ADF Faces Rich Client Lifecycle
Partial Page Rendering
Optimized Lifecycle
Client-side Value Lifecycle
Additional Memory Scopes
Subform Component
Oracle ADF Page Lifecycle
About Iterators and Their Refresh
Accessing Oracle ADF Business Components
Oracle Fusion Page Lifecycle
Monitoring the ADF Lifecycle
How to Create a Custom Page Phase Listener
How to Register Global Lifecycle Listeners
How to Register Listeners for a Single ADF Bounded Page
How to Register and Deregister Page Listeners Programmatically
Lifecycle Customization
Global Page Lifecycle Customization
Local Page Lifecycle Customization
Use Case: Form Entry Wizard
Use Case: Using af:subform in ADF Forms
Exception Handling and Error Reporting
Creating a Custom Error Handler Class
Registering a Custom Error Handler with ADF
Summary
4 Introduction to Oracle ADF Task Flows
ADF Controller Overview
ADF Controller Architecture
Two Flavors of Task Flow: Unbounded and Bounded
ADF Controller Configuration Files
ADF Controller Activities and Control Flow Rules
View Activity
Method Call Activity
Router Activity
Task Flow Call Activity
Task Flow Return Activity
URL View Activity
Save Point Restore Activity
Control Flow Rules
Creating Managed Beans in ADF Controller
Memory Scopes
Standard JSF and Servlet Scopes
ADF-specific Scopes
Overview of Common Object Access
Scopes in Action
ADF Binding
Customizing the Lifecycle for Operation, Method, and Router Activities
Task Flow State Tracking
Exception and Error Handling
Save Points and "Save for Later"
Configuring Explicit and Implicit Save Points for Oracle Fusion Web Applications
Save Point Creation and Deletion
Creating and Registering a Custom Save Point Listener
Summary
5 Working with Unbounded and Bounded Oracle ADF Task Flows
Working with Unbounded Task Flows
Creating and Defining an Unbounded Task Flow
Bookmarking
How to Pass Values Between Pages
How to Obtain the Request URL of a View Activity
Working with Multiple Copies of Unbounded Task Flow Definitions
Working with Bounded Task Flows
Creating Bounded Task Flows
Calling a Bounded Task Flow from a Parent Task Flow
Passing Values to and from Bounded Task Flows
Exception Handling
Declarative Transaction Handling
Browser Back Button Handling
Open a Bounded Task Flow in a Dialog
How to Build a Task Flow URL in Java
How to Navigate Programmatically Among View Activities
How to Navigate to a Specific View When Entering a Bounded Task Flow
How to Determine Whether a Task Flow Contains Uncommitted Data
Working with ADF Controller and Model Save Points
ADF Controller Save Points
ADF Model Save Points
Task Flow Templates
Refactoring Gotcha to Avoid
Summary
6 Working with Bounded Task Flows in ADF Regions
Helper Methods Used in This Chapter
Page Fragments: .jsff
The ADF Faces Region Tag
ADF Regions
Adding ADF Regions to a View
Task Flow Binding
How to Declaratively Create a Dynamic Region That Switches Between Displayed Task Flows
RegionNavigationListener
Contextual Event Framework
How Contextual Events Work
How to Create and Publish Events Declaratively
How to Create and Publish Events Manually
How to Create an Event Map
How to Exclude Page Definition Files from Receiving Contextual Event Notifications
Contextual Event Use Cases
Producing Contextual Events from JavaScript
Consuming Contextual Events in Dynamic ADF Regions' Task Flows
ADF Region Interaction Use Cases
Parent View to ADF Region Interaction
ADF Region to Parent View Interaction
ADF Regions in Lightweight Dialogs
Creating the Task Flow and the ADF Region
Creating the Pop-up Launcher in the Table
Creating the Pop-up Dialog
Managed Beans
Use Case Summary
Summary
7 Page Navigation in Oracle ADF
Navigation Components
Command Items
Performing Application Logic Prior to Navigation
Navigation in Fusion Web Applications
Creating Reusable Menus
Working with Train Components
Opening Views in a Browser Dialog
Navigating Programmatically
Partial Page Navigation
Enabling Partial Page Navigation
Summary
8 Working with Input Components
Types of Input Components
Input Forms
The Input Text Component
Input Components for Numbers
The Input Date Component
Uploading Files
Restricting Input
Implementing Password Fields
Easing Navigation Within an Input Form
Converters and Validators
Validating User Input
Deciding Where to Include Validation
Requiring Values
Canceling Validation
Custom Validators
Providing Messages for Validation and Conversion
Converting Input
Creating Custom Converters
Summary
9 Working with Table, Tree, and TreeTable Components
ADF Tree Binding
ADF Faces Table Component
How to Define the Maximum Number of Rows Displayed in a Table
How to Size the Table Height to Fit the Number of Rows
Creating ADF Bound ADF Faces Tables
How to Configure Table Row Selection
How to Create New Table Rows as Copies of an Existing Row
How to Create New Table Rows Using Deep Copy
How to Delete Table Rows
How to Display the Selected Row When the Table Renders
How to Display Row Numbers
How to Create and Customize Table Query Filters
How to Handle Table Events
How to Export Table Data to Excel
How to Exclude Table Columns from Horizontal Scrolling
How to Color Highlight Table Cells Conditionally
How to Implement List of Values
How to Implement a Dependent List of Values
ADF Faces Tree Component
What You Should Know About the ADF Tree Binding
Building ADF Bound Trees
Customizing the Tree Node Display
How to Mark a Node as Selected When Disclosing It
How to Disclose a Tree Node with a Mouse Click
How to Search in Trees
How to Use an Edit Form to Create, Edit, and Delete Tree Nodes
TreeTable Component
Beautifying the ADF TreeTable
How to Display Total and Subtotal Values
Summary
10 Working with Menus, Dialogs, and Pop-ups
Creating Pop-ups
Launching Pop-ups
Controlling the Size and Position of Pop-ups
Including Content in an af:popup
The af:dialog Component
Dialog Buttons and Events
The Dialog Framework
Creating Context Menus
Defining Context Menus in Facets
Summary and Best Practices
11 Looking Up Data
Creating List Objects via ADF Faces
Binding List Objects to ADF List Bindings
Model-driven List Bindings
ADF Faces LOV Components
Creating List of Values Components
Creating Cascading Lists
Multiple Select Components
f:selectItems versus af:selectItem
A Practical Use of the Select Many Components
Creating a Shuttle Component
Building Query Components
Modifying Query Components at Runtime
Summary
12 Working with Images and Media
Including Images and Media
Uploading and Downloading Files
Downloading Files
Uploading Files
Working with Oracle Multimedia Types
Enabling a Project for Use with Oracle Multimedia Attributes
Uploading Image Files to OrdImageDomain Attributes
Reading Files from Oracle Multimedia Attributes
Working with Large Object Types
Reading Images from CLOB and BLOB Types
Summary
13 Visualizing Data with DVT Components
Using DVT Components
Shaping Data for Use in DVT Components
Building Graph Components
Wiring Components to Selected Chart Values
Creating Components Within Tables
Building Pivot Tables
Changing Graphs at Runtime
Adding a Time Selector Component to a Chart
The dvt:graph component
Summary
14 Implementing Drag-and-Drop Functionality
Introduction to Drag-and-Drop in ADF Faces Rich Client
af:attributeDragSource
af:attributeDropTarget
af:dragSource
af:dropTarget
af:collectionDragSource
af:collectionDropTarget
af:componentDragSource
Drag-and-Drop Use Cases
How to Create a Table Row as the Copy of an Existing Row Using Drag-and-Drop
How to Move Tree Nodes Under a New Parent
How to Move/Copy/Link the Dragged Content
Summary
15 Working with Oracle ADF Reusable Components
ADF Library JAR
Creating ADF Libraries
Reusable Components Must Be Given Unique Names
Dependent Third-party Library Handling
How to Import and Use ADF Libraries in the Oracle JDeveloper Resource Palette
What Happens When an ADF Library JAR Is Added to a Project
Page Templates
Developing Page Templates
Using Page Templates in an ADF Faces UI
ADF Faces Declarative Components
Declarative Components
Dynamic Declarative Components
af:declarativeComponent Tag
Building DDCs
Summary
16 Building Custom Look and Feel with Cascading Style Sheets and Skinning
Cascading Style Sheets
CSS Syntax
Applying Styles to HTML Markup Elements
Using CSS in ADF Faces RC
inlineStyle Attribute
styleClass Attribute
ContentStyle Attribute
Conditional Formatting Using Expression Language
Introduction to Skinning in ADF Faces RC
ADF Faces Skinning vs. inlineStyle, contentStyle, and styleClass CSS
Skin Selectors
Overview of Custom Skin Development
Advanced Topics
Working with Scopes
Using Skin Family Names in the Application Code
Handling Client Agents and Operation Systems
Controlling Skin Inheritance
Selecting Skins Dynamically
Deploying Skins in a Library
Skin Debugging
Summary
17 Building Layouts in ADF Faces RC
Building Layouts
Building Stretchable Layouts
Building Flowing Layouts
Conditionally Displaying Content
Laying Out Forms
Layout Considerations for Printing
Adding Headers to a Layout
Organizing Items Within a Layout Container
Recommended Layout Techniques
Creating Bidirectional Components
Summary
18 Internationalization
Creating Internationalizable JSF Applications
Defining Resource Bundles Globally
Using the ADF Bundle to Create Resource Strings
Defining Resource Strings
Internationalizing ADF Business Components
Localizing Applications
Localizing ADF Faces Applications
Localizing ADF BC Applications
Localizing Dates, Numbers, and Currencies
ADF Faces Components Translation
Changing Locales
Localizing an Application Using the Database as a Resource Store
Providing Help Topics
Specifying Help Text
Configuring Components for Use with Help Topics
Providing Help Using Web Documents
Using Oracle Help for the Web (OHW)
Summary
19 Using JavaScript in ADF Faces RC
The ADF Faces RC Client Framework
ADF Faces RC Architecture
ADF Faces Client Component Events
ADF Faces JavaScript Partitioning
Working with JavaScript in ADF Faces Applications
How to Add JavaScript to a Page
The af:clientListener Tag
How to Find Components on a Page
Introduction to the af:serverListener Component
Calling a JavaScript Function from a Managed Bean
JavaScript Programming Use Cases
How to Specify a Form Tab Index
User Input Count
How to Invoke a Command Component Programmatically
How to Change the Disclose State of ADF Faces Components Programmatically
Debugging JavaScript
Summary
20 Active Data Services
Overcoming the Disconnected Web
By Chance Approach
Polling
Long-polling
Push
The Need for Speed
Introduction to Active Data Services
ADS Architecture
Supported Communication Modes
Choosing a Communication Mechanism
Configuring ADS for an Application
Active UI Components
Active Data Services Proxy by Example
Use Case: Displaying Database Change Events in ADF Faces
ADS Proxy Implementation Details
Implementing ADS Using the ADF POJO Data Control
Implementing Database Update Notification Using ADF BC
Refreshing Read-Only Tables
Optimizing the Refresh
Summary
21 Oracle Fusion Web Application Security
Application Security: A Part of the Whole
Guiding Principles for Building a Secure Application
The Java EE Security Platform
Container-Managed Security
Java Authentication and Authorization Service
OPSS: A Hybrid Approach to Web Application Security
ADF Security
ADF Security Architecture
Protection Scope of the ADF Security Runtime
The oracle.security.jps.ee.http.JpsFilter
The ADF Security Design Time
Enabling ADF Security for an Application
Creating Users, Groups, and Roles
Creating and Granting Page and Task Flow Permissions
Security Expression Language
ADF Security in ADF Business Components
Securing Entity Objects
Authorizing Entity Objects
Working with ADF Security in Java
Using Groovy Expressions to Implement Row-Level Security
Virtual Private Database
Testing Secured ADF BC Modules
ADF Security: Advanced Topics
How to Create Login and Logout Links
How to Create a Login Form in JSF
How to Use ADF Security on the Binding Layer
Deploying ADF Security–Protected Applications
Policy Migration
Creating ADF Application Deployment Profiles
Application Deployment with Oracle Enterprise Manager
Managing Application Roles
Password Indirection for Deployed Applications That Use JDBC Data Sources
Summary
Index