Book description
Master Oracle Fusion Middleware
Successfully design rich enterprise web applications using the detailed information in this Oracle Press volume. Oracle Fusion Developer Guide goes beyond the predominant drag-and-drop methods in Oracle JDeveloper 11g and provides a wealth of examples that address common development scenarios when using Oracle Fusion Middleware. Work with Oracle JDeveloper 11g, define navigation rules, accept and validate user input, build page layouts and skins, and incorporate drag-and-drop functionality into web applications. This authoritative resource also explains how to secure and internationalize your applications.
- Understand the Oracle Application Development Framework and Oracle ADF Faces Rich Client lifestyle
- Construct Oracle ADF data controls, task flows, and dynamic regions
- Graphically represent information with Oracle ADF Faces DVT components
- Modularize applications using Oracle ADF libraries, Oracle ADF task flows, and other reusable components
- Define dynamic navigation rules in Oracle Fusion Middleware web applications
- Leverage Web 2.0 features using Oracle ADF Faces Rich Client components
- Control user access with Oracle WebLogic Server and Oracle ADF security
For a complete list of Oracle Press titles, visit www.OraclePressBooks.com
Table of contents
- Cover Page
- Oracle Fusion Developer Guide
- Copyright Page
- Dedication
- About the Authors
- 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)
-
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
-
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
-
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
-
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
Product information
- Title: Oracle Fusion Developer Guide
- Author(s):
- Release date: November 2009
- Publisher(s): McGraw Hill Computing
- ISBN: 9780071622554
You might also like
book
Advanced Oracle PL/SQL Developer's Guide - Second Edition
Master the advanced concepts of PL/SQL for professional-level certification and learn the new capabilities of Oracle …
book
Quick Start Guide to Oracle Fusion Development
Get Started with Oracle Fusion Development Written by a Group Product Manager at Oracle, this Oracle …
book
Oracle E-Business Suite Development & Extensibility Handbook
Extend and Customize Oracle E-Business Suite Transform your Oracle E-Business Suite infrastructure to suit enterprise requirements …
book
Oracle JET for Developers
Client side JavaScript for enterprise Oracle applications. About This Book Develop resilient and robust client-side applications …