Table of Contents
- Title and Copyright Information
- Preface
- What's New in This Guide for Release 12c (12.2.1.4.0)
-
Part I Getting Started with Fusion Web Applications
-
1
Introduction to Building Fusion Web Applications with Oracle ADF
- Introduction to Oracle ADF
- Oracle ADF Architecture
-
Overview of Building an Application with Oracle ADF
- Creating an Application Workspace
- Modeling with Database Object Definitions
- Creating Use Cases
- Designing Application Control and Navigation Using ADF Task Flows
- Identifying Shared Resources
- Creating a Data Model to Access Data with ADF Business Components
- Implementing the User Interface with JSF
- Data Binding with ADF Model
- Validation and Error Handling
- Adding Security
- Testing and Debugging the Web Client Application
- Refactoring Application Artifacts
- Deploying a Fusion Web Application
- Integrating a Fusion Web Application
- Working Productively in Teams
- Generation of Complete Web Tier Using Oracle JHeadstart
- Other Resources for Learning Oracle ADF
-
2
Introduction to the ADF Sample Application
- About the Summit Sample Applications for Oracle ADF
- Setting Up the Summit Sample Applications for Oracle ADF
- Running the Core Summit ADF Sample Application in the SummitADF Workspace
- Running the Standalone Samples from the SummitADF_Examples Workspace
- Running the Sample Application in the SummitADF_TaskFlows Workspace
- Running the Standalone Samples in the SummitADF_DVT Workspace
-
1
Introduction to Building Fusion Web Applications with Oracle ADF
-
Part II Building Your Business Services
-
3
Getting Started with ADF Business Components
- About ADF Business Components
-
Creating the ADF Business Components Data Model Project
- How to Create a Data Model Project for ADF Business Components
- How to Create a Data Model Project for ADF REST Web Applications
- How to Add an ADF Business Components Data Model Project to an Existing Application
- How to Initialize the Data Model Project With a Database Connection
- How to Change the Data Model Project to Work With Offline Database Objects
- What You May Need to Know About Application Server or Database Independence
- What You May Need to Know About ADF Business Components Data Types
- What You May Need to Know About Displaying Numeric Values
- How to Customize Model Project Properties for ADF Business Components
- How to Customize ADF Business Components Preferences
-
Creating and Editing Business Components
- How to Create New Components Using Wizards
- How to Create New Components Using the Context Menu
- What Happens When You Create Business Components
- What You May Need to Know About the Model Project Organization
- What You May Need to Know About Package Naming Conventions
- What You May Need to Know About Renaming Components
- How to Edit Components Using the Component Overview Editor
-
Testing, Refactoring, and Visualizing Business Components
- How to Use the Oracle ADF Model Tester
- What You May Need to Know About Obtaining Oracle ADF Source Code
- How to Find Business Component Usages in the Data Model Project
- How to Explorer Business Component Dependencies in the Data Model Project
- How to Refactor Business Components in the Data Model Project
- How to Refactor Offline Database Objects and Update Business Components
- How to Display Related Business Components Using Diagrams
- What You May Need to Know About Using UML Diagrams
- Customizing Business Components
-
Using Groovy Scripting Language With Business Components
- How to Enter Groovy Expressions on Business Components
- What Happens When You Enter Expressions
- What You May Need to Know About Groovy Project Settings
- What You May Need to Know About Where Groovy Expressions Can Be Used
-
What You May Need to Know About Groovy Expression Syntax
- What You May Need to Know About Referencing Business Components in Groovy Expressions
- What You May Need to Know About Untrusted Groovy Expressions
- What You May Need to Know About Referencing Custom Business Components Methods and Attributes in Groovy Expressions
- What You May Need to Know About Manipulating Business Component Attribute Values in Groovy Expressions
- What You May Need to Know About Migrating Groovy Snippets
- How to Create a Script Expression Class File
-
4
Creating a Business Domain Layer Using Entity Objects
- About Entity Objects
-
Creating Entity Objects and Associations
- How to Create Multiple Entity Objects and Associations from Existing Tables
- How to Create Single Entity Objects Using the Create Entity Wizard
- What Happens When You Create Entity Objects and Associations from Existing Tables
- What Happens When You Create an Entity Object for a Synonym or View
- How to Edit an Existing Entity Object or Association
- How to Create Database Tables from Entity Objects
- How to Synchronize an Entity with Changes to Its Database Table
- How to Store Data Pertaining to a Specific Point in Time
- What Happens When You Create Effective Dated Entity Objects
- What You May Need to Know About Creating Entities from Tables
-
Creating and Configuring Associations
- How to Create an Association
- What Happens When You Create an Association
- How to Change Entity Association Accessor Names
- How to Rename and Move Associations to a Different Package
- What You May Need to Know About Using a Custom View Object in an Association
- What You May Need to Know About Composition Associations
- Creating a Diagram of Entity Objects for Your Business Layer
- Defining Property Sets
- Defining Attribute Control Hints for Entity Objects
- Working with Resource Bundles
- Defining Business Logic Groups
- Configuring Runtime Behavior Declaratively
-
Setting Attribute Properties
- How to Set Database and Java Data Types for an Entity Object Attribute
- How to Indicate Data Type Length, Precision, and Scale
- How to Control the Updatability of an Attribute
- How to Make an Attribute Mandatory
- How to Define the Primary Key for the Entity
- How to Define a Static Default Value
- How to Define a Default Value Using an Expression
- What Happens When You Create a Default Value Using a Groovy expression
- How to Synchronize with Trigger-Assigned Values
- How to Get Trigger-Assigned Primary Key Values from a Database Sequence
- What You May Need to Know About Changing the Value of Primary Keys
- How to Protect Against Losing Simultaneously Updated Data
- How to Protect Against Truncated Attribute Values at Runtime
- How to Track Created and Modified Dates Using the History Column
-
How to Configure Composition Behavior
- Orphan-Row Protection for New Composed Entity Objects
- Ordering of Changes Saved to the Database
- Cascade Update of Composed Details from Refresh-On-Insert Primary Keys
- Cascade Delete Support
- Cascade Update of Foreign Key Attributes When Primary Key Changes
- Locking of Composite Parent Entity Objects
- Using Batch Update with Composition Entity Objects
- Updating of Composing Parent History Attributes
- How to Set the Discriminator Attribute for Entity Object Inheritance Hierarchies
- How to Define Alternate Key Values
- What Happens When You Define Alternate Key Values
- What You May Need to Know About Alternate Key Values
- Adding Transient and Calculated Attributes to an Entity Object
-
Creating Business Events
- Introducing Event Definitions
- Introducing Event Points
- What You May Need to Know About Event Points
- How to Create a Business Event
- What Happens When You Create a Business Event
- What You May Need to Know About Payload
- How to Define a Publication Point for a Business Event
- How to Subscribe to Business Events
- Generating Custom Java Classes for an Entity Object
-
Working Programmatically with Entity Objects and Associations
- How to Find an Entity Object by Primary Key
- How to Access an Associated Entity Using the Accessor Attribute
- How to Update or Remove an Existing Entity Row
- How to Create a New Entity Row
- Assigning the Primary Key Value Using an Oracle Sequence
- How to Update a Deleted Flag Instead of Deleting Rows
- How to Control Entity Posting Order to Prevent Constraint Violations
- Advanced Entity Association Techniques
- What You May Need to Know About Custom Entity Object Methods
- Working Programmatically with Custom Data Sources and the Framework Base Class ProgrammaticEntityImpl
-
Creating Custom, Validated Data Types Using Domains
- How to Create a Domain
- What Happens When You Create a Domain
-
What You May Need to Know About Domains
- Domains as Entity and View Object Attributes
- DataCreationException in Custom validate() Method
- String Domains and String Value Aggregation
- Simple Domains and Built-In Types
- Simple Domains As Immutable Java Classes
- Creating Domains for Oracle Object Types When Useful
- Domains Packaged in the Common JAR
- Custom Domain Properties and Attributes in Entity and View Objects
- Inherited Restrictive Properties of Domains in Entity and View Objects
- Creating New History Types
- Basing an Entity Object on a PL/SQL Package API
- Basing an Entity Object on a Join View or Remote DBLink
- Using Inheritance in Your Business Domain Layer
-
5
Defining SQL Queries Using View Objects
- About View Objects
- Populating View Object Rows from a Single Database Table
-
Working with View Objects in Declarative SQL Mode
- How to Create Declarative SQL View Objects
- How to Filter Declarative SQL-Based View Objects When Table Joins Apply
- How to Filter Master-Detail Related View Objects with Declarative SQL Mode
- How to Support Programmatic Execution of Declarative SQL Mode View Objects
- What Happens When You Create a View Object in Declarative SQL Mode
- What Happens at Runtime: Declarative SQL Mode Queries
- What You May Need to Know About Working Programmatically with Declarative SQL Mode View Objects
- Creating View Objects Populated With Static Data
-
Adding Calculated and Transient Attributes to a View Object
- How to Add a SQL-Calculated Attribute
- What Happens When You Add a SQL-Calculated Attribute
- What You May Need to Know About SQL-Calculated Attributes
- How to Add a Transient Attribute
- How to Add a Transient Attribute Defined by an Entity Object
- How to Add a Validation Rule to a Transient Attribute
- What Happens When You Add a Transient Attribute
- What You May Need to Know About Transient Attributes and Calculated Values
- What You May Need to Know About View Object Queries with Primary Keys Defined by Transient Attributes
-
Limiting View Object Rows Using Effective Date Ranges
- How to Create a Date-Effective View Object
- How to Create New View Rows Using Date-Effective View Objects
- How to Update Date-Effective View Rows
- How to Delete Date-Effective View Rows
- What Happens When You Create a Date-Effective View Object
- What You May Need to Know About Date-Effective View Objects and View Links
-
Working with Multiple Tables in Join Query Results
- How to Create Joins for Entity-Based View Objects
- How to Modify a Default Join Clause to Be an Outer Join When Appropriate
- How to Select Additional Attributes from Reference Entity Usages
- How to Remove Unnecessary Key Attributes from Reference Entity Usages
- How to Hide the Primary Key Attributes from Reference Entity Usages
- What Happens When You Reference Multiple Entities in a View Object
- What You May Need to Know About Outer Joins
- What You May Need to Know About Entity Based Joins and Entity Cardinality
- What You May Need to Know About Entity Based Joins and Participates in Row Delete
- What You May Need to Know About Composition Associations and Joins
- How to Create Joins for Read-Only View Objects
- How to Test the Join View
- How to Use the SQL Statement Dialog with Read-Only View Objects
-
Working with View Objects and Custom SQL
- How to Create a Custom SQL Mode View Object
- What Happens When You Create a Custom SQL View Object
- How to Customize SQL Statements in Custom SQL Mode
- What Happens When You Enable Custom SQL Mode
-
What You May Need to Know About Custom SQL Mode
- Attribute Names for Calculated Expressions in Custom SQL Mode
- Attribute Mapping Assistance in Custom SQL Mode
- Custom Edits in Custom SQL Mode
- Changes to SQL Expressions in Custom SQL Mode
- SQL Calculations that Change Entity Attributes in Custom SQL Mode
- Formatting of the SQL Statement in Custom SQL Mode
- Query Clauses in Custom SQL Mode
- Inline View Wrapping at Runtime
- Custom SQL Affect on Dependent Objects
- Custom SQL Affect on View Object Query Auto Refresh
- SQL Types of Attributes in Custom SQL Mode
-
Working with Named View Criteria
- How to Create Named View Criteria Declaratively
- What Happens When You Create a Named View Criteria
- What You May Need to Know About Bind Variables in View Criteria
- What You May Need to Know About Nested View Criteria Expressions
- How to Set User Interface Hints on View Criteria to Support Search Forms
- How to Test View Criteria Using the Oracle ADF Model Tester
- How to Use View Criteria to Filter a View Object for the Current User
- How to Create View Criteria Programmatically
- What Happens at Runtime: How the View Criteria Is Applied to a View Object
-
What You May Need to Know About the View Criteria API
- Referencing Attribute Names in View Criteria
- Referencing Bind Variables in View Criteria
- Searching for a Row Whose Attribute Is NULL
- Searching for Rows Using a Date Comparison
- Searching for Rows Whose Attribute Value Matches a Value in a List
- Searching Case-Insensitively
- Clearing View Criteria in Effect
- Altering Compound Search Conditions Using Multiple View Criteria
- What You May Need to Know About Query-by-Example Criteria
-
Working with Bind Variables
- How to Add View Criteria Bind Variables to a View Object Definition
- How to Add WHERE Clause Bind Variables to a View Object Definition
- What Happens When You Add Named Bind Variables
- How to Test Named Bind Variables
- How to Add a WHERE Clause with Named Bind Variables at Runtime
- How to Set Existing WHERE Clause Bind Variable Values at Runtime
- What Happens at Runtime: Dynamic Read-Only View Object WHERE Clause
- What You May Need to Know About Named Bind Variables
- Working with Row Finders
-
Working with List of Values (LOV) in View Object Attributes
- How to Define a Single LOV-Enabled View Object Attribute
- How to Define Cascading Lists for LOV-Enabled View Object Attributes
- How to Specify Multiple LOVs for a Single LOV-Enabled View Object Attribute
- How to Define an LOV to Display a Reference Attribute
- How to Set User Interface Hints on a View Object LOV-Enabled Attribute
- How to Handle Date Conversion for List Type UI Components
- How to Automatically Refresh the View Object of the View Accessor
- How to Test LOV-Enabled Attributes Using the Oracle ADF Model Tester
- What Happens When You Define an LOV for a View Object Attribute
- What Happens at Runtime: How an LOV Queries the List Data Source
- What You May Need to Know About Lists
- Defining UI Hints for View Objects
-
6
Defining Master-Detail Related View Objects
- About Master-Detail View Objects
-
Working with Multiple Tables in a Master-Detail Hierarchy
- How to Create a Master-Detail Hierarchy Based on Entity Associations
- How to Create a Master-Detail Hierarchy Based on View Objects Alone
- What Happens When You Create Master-Detail Hierarchies Using View Links
- How to Enable Active Master-Detail Coordination in the Data Model
- How to Test Master-Detail Coordination
- How to Access the Detail Collection Using the View Link Accessor
- What You May Need to Know About View Link Accessors Versus Data Model View Link Instances
- How to Create a Master-Detail Hierarchy With Multiple Masters
- How to Create a Master-Detail Hierarchy for Entity Objects Consisting of Transient-Only Attributes
- How to Find Rows of a Master View Object Using Row Finders
- Working with a Single Table in a Recursive Master-Detail Hierarchy
- Working with Master-Detail Related View Objects in View Criteria
-
7
Defining Polymorphic View Objects
- About Polymorphic View Objects
- Working with Polymorphic Entity Usages
- Working with Polymorphic View Rows
- What You May Need to Know About the Discriminator Attribute
- Updating the Application Module to Expose Subtype Usages
-
8
Testing View Instance Queries
- About View Instance Queries
- Creating an Application Module to Test View Instances
-
Testing View Object Instances Using the Oracle ADF Model Tester
- How to Run the Oracle ADF Model Tester
- How to Run the Oracle ADF Model Tester Using Configurations
- How to Test Language Message Bundles and UI Hints
- How to Test Entity-Based View Objects Interactively
- How to Update the Oracle ADF Model Tester to Display Project Changes
- What Happens When You Use the Oracle ADF Model Tester
- How to Simulate End-User Interaction in the Oracle ADF Model Tester
- How to Test Multiuser Scenarios in the Oracle ADF Model Tester
- How to Customize Configuration Options Before Running the Tester
- How to Enable ADF Business Components Debug Diagnostics
-
What Happens at Runtime: How View Objects and Entity Objects Cooperate
- What Happens at Runtime: After a View Object Executes Its Query
- What Happens at Runtime: After a View Row Attribute Is Modified
- What Happens at Runtime: After a Foreign Key Attribute is Changed
- What Happens at Runtime: After a Transaction is Committed
- What Happens at Runtime: After a View Object Requeries Data
- What You May Need to Know About Optimizing View Object Runtime Performance
-
Testing View Object Instances Programmatically
- ViewObject Interface Methods for Working with the View Object's Default RowSet
- How to Create a Command-Line Java Test Client
- What Happens When You Run a Test Client Program
- What You May Need to Know About Running a Test Client
- How to Count the Number of Rows in a Row Set
- How to Access a Detail Collection Using the View Link Accessor
- How to Iterate Over a Master-Detail-Detail Hierarchy
- How to Find a Row and Update a Foreign Key Value
- How to Create a New Row for a View Object Instance
- How to Retrieve the Row Key Identifying a Row
- What You May Need to Know About Using Partial Keys with findByKey()
- How to Authenticate Test Users in the Test Client
-
9
Tuning View Object Performance
- About View Object Tuning
-
Maintaining New Row Consistency Between View Objects Based on the Same Entity
- What Happens at Runtime: When View Link Consistency is Enabled
- What You May Need to Know About Changing the Default View Link Consistency Setting
- Using RowMatch to Qualify Which New, Unposted Rows Get Added to a Row Set
- What You May Need to Know About the Dynamic WHERE Clause and View Link Consistency
- Using Bind Variables for Parameterized Queries
- Working with Multiple Row Sets and Row Set Iterators
- Using Entity-Based View Objects for Read-Only Data
- Using SQL Tracing to Identify Ill-Performing Queries
- Using the Appropriate View Object Tuning Settings
- Using Fetch Size to Limit the Maximum Number of Records Fetched for a View Object
- Using Range Size to Present and Scroll Data a Page at a Time
-
Using Range Paging to Efficiently Scroll Through Large Result Sets
- Understanding How Oracle Supports "TOP-N" Queries
- How to Enable Range Paging for a View Object
- What Happens When You Enable Range Paging
- What Happens When View Rows are Cached When Using Range Paging
- How to Scroll to a Given Page Number Using Range Paging
- How to Estimate the Number of Pages in the Row Set Using Range Paging
- Understanding the Tradeoffs of Using a Range Paging Mode
- Using Forward Only Mode to Avoid Caching View Rows
- Using Retain Row Set to Optimize View Link Accessor Access
- Using Dynamic Attributes On View Objects to Store UI State
-
10
Defining Validation and Business Rules Declaratively
- About Declarative Validation
- Determining Where to Implement Validation
- Understanding the Validation Cycle
-
Adding Validation Rules to Entity Objects and Attributes
- How to Add a Validation Rule to an Entity or Attribute
- How to View and Edit a Validation Rule on an Entity Object or Attribute
- What Happens When You Add a Validation Rule
- What You May Need to Know About Entity and Attribute Validation Rules
- What You May Need to Know About List of Values and Attribute Validation Rules
-
Using the Built-in Declarative Validation Rules
- How to Ensure That Key Values Are Unique
- What Happens When You Use a Unique Key Validator
- How to Validate Based on a Comparison
- What Happens When You Validate Based on a Comparison
- How to Validate Using a List of Values
- What Happens When You Validate Using a List of Values
- What You May Need to Know About the List Validator
- How to Make Sure a Value Falls Within a Certain Range
- What Happens When You Use a Range Validator
- How to Validate Against a Number of Bytes or Characters
- What Happens When You Validate Against a Number of Bytes or Characters
- How to Validate Using a Regular Expression
- What Happens When You Validate Using a Regular Expression
- How to Use the Average, Count, or Sum to Validate a Collection
- What Happens When You Use Collection Validation
- How to Determine Whether a Key Exists
- What Happens When You Use a Key Exists Validator
- What You May Need to Know About Declarative Validators and View Accessors
- Using Entity-Level Triggers
- Using Groovy Expressions For Business Rules and Triggers
- Triggering Validation Execution
- Creating Validation Error Messages
- Setting the Severity Level for Validation Exceptions
- Bulk Validation in SQL
-
11
Working Programmatically with View Objects
- Generating Custom Java Classes for a View Object
- Working Programmatically with Multiple Named View Criteria
- Performing In-Memory Sorting and Filtering of Row Sets
-
Reading and Writing XML
- How to Produce XML for Queried Data
- What Happens When You Produce XML
-
What You May Need to Know About Reading and Writing XML
- Controlling XML Element Names
- Controlling Element Suppression for Null-Valued Attributes
- Printing or Searching the Generated XML Using XPath
- Using the Attribute Map For Fine Control Over Generated XML
- Use the Attribute Map Approach with Bi-Directional View Links
- Transforming Generated XML Using an XSLT Stylesheet
- Generating XML for a Single Row
- How to Consume XML Documents to Apply Changes
- What Happens When You Consume XML Documents
-
Working Programmatically with Custom Data Sources and the Framework Base Class ProgrammaticViewObjectImpl
- How to Create a View Object Class Extending ProgrammaticViewObjectImpl
- Key Framework Methods to Override for ProgrammaticViewObjectImpl Based View Objects
- What You May Need to Know About Programmatic View Object Triggers
- Key Framework Methods to Override for ProgrammaticViewRowImpl Based View Objects
- Using Classic Style Programmatic View Objects for Alternative Data Sources
- Creating a View Object with Multiple Updatable Entities
- Programmatically Creating View Definitions and View Objects
- Declaratively Preventing Insert, Update, and Delete
- What You May Need to Know About Programmatic View Object Triggers
- Defining Triggers for Programmatic View Objects
-
12
Implementing Validation and Business Rules Programmatically
- About Programmatic Business Rules
- Using Method Validators
- Assigning Programmatically Derived Attribute Values
- Undoing Pending Changes to an Entity Using the Refresh Method
- Using View Objects for Validation
- Accessing Related Entity Rows Using Association Accessors
- Referencing Information About the Authenticated User
- Accessing Original Attribute Values
- Storing Information About the Current User Session
- Accessing the Current Date and Time
- Sending Notifications Upon a Successful Commit
- Conditionally Preventing an Entity Row from Being Removed
- Determining Conditional Updatability for Attributes
- Implementing Custom Validation Rules
-
13
Implementing Business Services with Application Modules
- About Application Modules
-
Creating and Modifying an Application Module
- How to Create an Application Module
- What Happens When You Create an Application Module
- How to Add a View Object Instance to an Application Module
- What Happens When You Add a View Object Instance to an Application Module
- How to Edit an Existing Application Module
- How to Change the Data Control Name Before You Begin Building Pages
- What You May Need to Know About Application Module Granularity
- What You May Need to Know About View Object Components and View Object Instances
- Configuring Your Application Module Database Connection
- Defining Nested Application Modules
-
Creating an Application Module Diagram for Your Business Service
- How to Create an Application Module Diagram
- What Happens When You Create an Application Module Diagram
- How to Use the Diagram to Edit the Application Module
- How to Control Diagram Display Options
- How to Filter Method Names Displayed in the Diagram
- How to Show Related Objects and Implementation Files in the Diagram
- How to Publish the Application Module Diagram
- How to Test the Application Module from the Diagram
- Supporting Multipage Units of Work
-
Customizing an Application Module with Service Methods
- How to Generate a Custom Class for an Application Module
- What Happens When You Generate a Custom Class for an Application Module
- What You May Need to Know About Default Code Generation
- How to Add a Custom Service Method to an Application Module
- How to Test the Custom Application Module Using a Static Main Method
- What You May Need to Know About Programmatic Row Set Iteration
- Customizing Application Module Message Strings
-
Publishing Custom Service Methods to UI Clients
- How to Publish a Custom Method on the Application Module's Client Interface
- What Happens When You Publish Custom Service Methods
- How to Generate Client Interfaces for View Objects and View Rows
- How to Test Custom Service Methods Using the Oracle ADF Model Tester
- What You May Need to Know About Method Signatures on the Client Interface
- What You May Need to Know About Passing Information from the Data Model
- Working Programmatically with an Application Module's Client Interface
- Overriding Built-in Framework Methods
- Calling a Web Service from an Application Module
-
14
Sharing Application Module View Instances
- About Shared Application Modules
-
Sharing an Application Module Instance
- How to Create a Shared Application Module Instance
- What Happens When You Define a Shared Application Module
- What You May Need to Know About Design Time Scope of the Shared Application Module
- What You May Need to Know About the Design Time Scope of View Instances of the Shared Application Module
- What You May Need to Know About Managing the Number of Shared Query Collections
- What You May Need to Know About Shared Application Modules and Connection Pooling
-
Defining a Base View Object for Use with Lookup Tables
- How to Create a Base View Object Definition for a Lookup Table
- What Happens When You Create a Base View Object
- How to Define the WHERE Clause of the Lookup View Object Using View Criteria
- What Happens When You Create a View Criteria with the Editor
- What Happens at Runtime: How a View Instance Accesses Lookup Data
-
Accessing View Instances of the Shared Service
- How to Create a View Accessor for an Entity Object or View Object
- How to Validate Against the Attribute Values Specified by a View Accessor
- What Happens When You Define a View Accessor Validator
- What You May Need to Know About Dynamic Filtering with View Accessors
- How to Create an LOV Based on a Lookup Table
- What Happens When You Define an LOV for a View Object Attribute
- What Happens at Runtime: How the Attribute Displays the List of Values
- What You May Need to Know About Displaying List of Values From a Lookup Table
- What You May Need to Know About Programmatically Invoking Database Change Notifications
- What You May Need to Know About Inheritance of AttributeDef Properties
- What You May Need to Know About Using Validators
- Testing View Object Instances in a Shared Application Module
-
15
Creating SOAP Web Services with Application Modules
- About Service-Enabled Application Modules
-
Publishing Service-Enabled Application Modules
- How to Enable the Application Module Service Interface
- What Happens When You Create an Application Module Service Interface
- What Happens When You Create an Application Module Service Interface With Polymorphic View Objects
- What You May Need to Know About Method Signatures on the ADF Web Service Interface
- What You May Need to Know About Row Finders and the ADF Web Service Operations
- How to Service-Enable Individual View Objects
- How to Customize the SDO Properties of Service-Enabled View Objects
- How to Support Nested Processing in Service-Enabled Master-Detail View Objects
- What Happens When You Create SDO Classes
- How to Expose a Declarative Find Operation Filtered By a Required Bind Variable
- How to Expose a Custom Find Method Filtered By a Required Bind Variable
- How to Generate Asynchronous ADF Web Service Methods
- What Happens When You Generate Asynchronous ADF Web Service Methods
- What Happens at Runtime: How the Asynchronous Call Is Made
- How to Set Preferences for Generating the ADF Web Service Interface
- How to Set Display Names for Service View Instances and Attributes
- How to Secure the ADF Web Service for Access By SOAP Clients
- How to Secure the ADF Web Service for Access By RMI Clients
- How to Grant Test Users Access to the Service
- How to Enable Support for Binary Attachments for SOAP Clients
- How to Specify Character Encoding for ClobDomain Type Attributes
- How to Test the Web Service Using Integrated WebLogic Server
- How to Prevent Custom Service Methods from Timing Out
- How to Deploy Web Services to Oracle WebLogic Server
-
Accessing Remote Data Over the Service-Enabled Application Module
- How to Use Service-Enabled Entity Objects and View Objects
- What Happens When You Create Service-Backed Business Components
- How to Update the Data Model for Service-Backed Business Components
-
How to Configure the Service-Backed Business Components Runtime
- Adding the SDO Client Library to the Classpath
- Registering the ADF Business Components Service in the Consuming Application's connections.xml for the EJB RMI Protocol
- Registering the ADF Business Components Service in the Consuming Application's connections.xml for the SOAP Protocol
- Registering the ADF Business Components Service in the Consuming Application's connections.xml for Fabric SDO Binding
- How to Test the Service-Backed Components in the Oracle ADF Model Tester
- How to Invoke Operations of the Service-Backed Components in the Consuming Application
- What You May Need to Know About Creating Service Data Objects in the Consuming Application
- What You May Need to Know About Invoking Built-In Service Methods in the Consuming Application
- What Happens at Runtime: How the Application Accesses the Published Application Module
- What You May Need to Know About Service-Backed Entity Objects and View Objects
-
Accessing Polymorphic Collections in the Consuming Application
- How to Generate Web Service Client Proxy Classes From the Service-Enabled Application Module
- How to Invoke Operations of Polymorphic View Object Using Generated Proxy Classes
- What Happens When You Generate Java Proxy Classes With the SDO Schema
- What You May Need to Know About Invoking Service Methods in the Client Application
- Working with the Find Method Filter Model in the Consuming Application
-
16
Creating ADF RESTful Web Services with Application Modules
- About RESTful Web Services and ADF Business Components
-
Creating ADF REST Resources Using the Application Module
- How to Create ADF REST Resources Using the Create Business Components from Tables Wizard
- How to Create ADF REST Resources from View Object Instances
- What Happens When You Create REST Resources in the ADF Business Components Project
- How to Edit the ADF REST Resource Definition
- How to Expose Child Resources in the ADF REST Resource
- What You May Need to Know About Optimizing Child Resource Database Queries
- How to Add and Remove Resources Based on the Same View Instance
- How to Hide a Resource from the Catalog Describe
- How to Rename the ADF REST Resource
- What You May Need to Know About Naming ADF REST Resources
- How to Hide and Expose Attributes in the ADF REST Resource
- What You May Need to Know About ADF REST Attribute Hints
- How to Control the ADF REST Response Payload Fields
- What You May Need to Know About Response Payload When a Shape is Defined on a Resource
- What You May Need to Know About Modifying the ADF REST Resource Structure
- What You May Need to Know About ADF REST Resources and LOB Attributes
- What You May Need to Know About LOV Accessors in the ADF REST Resource
- What You May Need to Know About Mandatory Attributes in the ADF REST Resource
- What You May Need to Know About Case Sensitivity in Resource Collection Query Operations
-
Customizing the ADF REST Resource Representation
- How to Expose Canonical Resources in the ADF REST Resource
- How to Support Create Operations on ADF REST Resources with LOV Attributes
- How to Enable Row Finder Keys in the ADF REST Resource
- What You May Need to Know About Configuring LOV Resources for Row Finders
- What You May Need to Know About Row Finders in ADF REST Resource Requests
- How to Expose Subtype View Objects in the ADF REST Resource
- How to Expose Standard HTTP Actions in the ADF REST Resource
- What You May Need to Know About Optimizing ADF REST Resource Get Operations
- How to Control Caching of ADF REST Resources
- What You May Need to Know About the Cache-Control Header
- How to Control the Format of the ADF REST Response
- Versioning the ADF REST Resource
- Versioning the ADF REST Runtime Framework
- Granting Client Access to the ADF REST Resource
-
Deploying the ADF REST Resource
- How to Deploy the ADF REST Resource to Integrated WebLogic Server
- How to Configure the ADF REST Resources Deployment Profile For Standalone Oracle WebLogic Server Deployment
- How to Deploy the ADF REST Resource to Standalone Oracle WebLogic Server
- What You May Need to Know About Modifying the Target URL Used by Service Clients
- What You May Need to Know About Deploying ADF REST Resources With MDS Customization Support
- Testing the ADF REST Resources Using Integrated WebLogic Server
-
17
Extending Business Components Functionality
- About Extending Business Components Functionality
-
Creating ADF Business Components Extension Classes
- How To Create a Framework Extension Class
- What Happens When You Create a Framework Extension Class
- What You May Need to Know About Customizing Framework Extension Bases Classes
- How to Base a Business Component on a Framework Extension Class
- How to Define Framework Extension Classes for All New Components
- How to Define Framework Extension Classes for All New Projects
- What Happens When You Base a Component on a Framework Extension Class
- What You May Need to Know About Updating the Extends Clause in Custom Component Java Files
- How to Package Your Framework Extension Layer in a JAR File
- How to Create a Library Definition for Your Framework Extension JAR File
-
Customizing Framework Behavior with Extension Classes
- How to Access Runtime Metadata For View Objects and Entity Objects
- How to Implement Generic Functionality Using Runtime Metadata
- How to Implement Generic Functionality Driven by Custom Properties
- What You May Need to Know About the Kinds of Attributes
- What You May Need to Know About Custom Properties
- Creating Generic Extension Interfaces
- Invoking Stored Procedures and Functions
- Accessing the Current Database Transaction
-
Customizing Business Components Error Messages
- How to Customize Base ADF Business Components Error Messages
- What Happens When You Customize Base ADF Business Components Error Messages
- How to Display Customize Error Messages as Nested Exceptions
- How to Customize Error Messages for Database Constraint Violations
- How to Implement a Custom Constraint Error Handling Routine
- Creating Extended Components Using Inheritance
- Substituting Extended Components in a Delivered Application
-
3
Getting Started with ADF Business Components
-
Part III Using the ADF Model Layer
-
18
Using ADF Model in a Fusion Web Application
- About Using ADF Model in a Fusion Web Application
- Additional Functionality for ADF Model Layer
-
Exposing Application Modules with ADF Data Controls
-
How an Application Module Data Control Appears in the Data Controls Panel
- How the Data Model and Service Methods Appear in the Data Controls Panel
- How Transaction Control Operations Appear in the Data Controls Panel
- How View Objects Appear in the Data Controls Panel
- How Nested Application Modules Appear in the Data Controls Panel
- How a Row Finder Appears in the Data Controls Panel
- How to Open the Data Controls Panel
- How to Refresh the Data Controls Panel
- Packaging a Data Control for Use in Another Project
-
How an Application Module Data Control Appears in the Data Controls Panel
- Using the Data Controls Panel
- Working with the DataBindings.cpx File
- Configuring the ADF Binding Filter
- Working with Page Definition Files
- Creating ADF Data Binding EL Expressions
- Using Simple UI First Development
- 19 Using Validation in the ADF Model Layer
-
20
Designing a Page Using Placeholder Data Controls
- About Placeholder Data Controls
- Creating Placeholder Data Controls
-
Creating Placeholder Data Types
- How to Create a Placeholder Data Type
- How to Add Attributes and Sample Data to a Placeholder Data Type
- What Happens When You Create a Placeholder Data Type
- How to Configure a Placeholder Data Type Attribute to Be a List of Values
- How to Create Master-Detail Data Types
- What Happens When You Create a Master-Detail Data Type
- Using Placeholder Data Controls
- 21 Creating ADF REST Data Controls from ADF RESTful Web Services
-
22
Consuming ADF RESTful Web Services
- About the ADF REST Framework
- Understanding ADF Business Components Resources
- Retrieving the ADF REST Catalog Describe
- Retrieving the ADF REST Resource Describe
- Retrieving Resource Versions
-
Retrieving the ADF REST Resource
- Fetching a Resource Collection
- Paging a Resource Collection
- Filtering a Resource Collection with Primary Key Values
- Filtering a Resource Collection with a Query Parameter
- Fetching a Resource Item
- Fetching Nested Child Resources
- Sorting a Resource Collection
- Fetching a Resource with Grouped Context Information
- Creating a Resource Item
- Updating a Resource Item
- Updating or Creating Resource Items (Upsert)
- Deleting a Resource Item
- Checking for Data Consistency
- Working with Attachments
- Working with LOV
- Working with ADF REST Framework Versions
- Working with Warning and Error Responses
- Advanced Operations
- ADF REST Framework Reference
-
18
Using ADF Model in a Fusion Web Application
-
Part IV Creating ADF Task Flows
-
23
Getting Started with ADF Task Flows
- About ADF Task Flows
- Creating a Task Flow
- Adding Activities to a Task Flow
- Adding Control Flow Rules to Task Flows
-
Testing Task Flows
- How to Run a Bounded Task Flow That Contains Pages
- How to Run a Bounded Task Flow That Uses Page Fragments
- How to Run a Bounded Task Flow That Has Parameters
- How to Run a JSF Page When Testing a Task Flow
- How to Run an Unbounded Task Flow
- How to Set a Run Configuration for a Project
- What Happens at Runtime: Testing Task Flows
- Refactoring to Create New Task Flows and Task Flow Templates
-
24
Working with Task Flow Activities
- About Task Flow Activities
- Using View Activities
- Using URL View Activities
- Using Router Activities
- Using Method Call Activities
-
Using Task Flow Call Activities
- How to Call a Bounded Task Flow Using a Task Flow Call Activity
- What Happens When You Call a Bounded Task Flow Using a Task Flow Call Activity
- How to Specify Input Parameters on a Task Flow Call Activity
- How to Call a Bounded Task Flow Using a URL
- What Happens When You Configure a Bounded Task Flow to be Invoked by a URL
- What You May Need to Know About Calling a Bounded Task Flow Using a URL
- How to Specify Before and After Listeners on a Task Flow Call Activity
- What Happens When You Add a Task Flow Call Activity
- What Happens at Runtime: How a Task Flow Call Activity Invokes a Task Flow
- Using Task Flow Return Activities
- Using Task Flow Activities with Page Definition Files
- 25 Using Parameters in Task Flows
-
26
Using Task Flows as Regions
- About Using Task Flows in ADF Regions
- Creating an ADF Region
- Specifying Parameters for an ADF Region
- Specifying Parameters for ADF Regions Using Parameter Maps
- Configuring an ADF Region to Refresh
- Configuring Activation of an ADF Region
- Navigating Outside an ADF Region's Task Flow
- Configuring Transaction Management in an ADF Region
- Creating ADF Dynamic Regions
- Adding Additional Task Flows to an ADF Dynamic Region
- Configuring a Page To Render an Unknown Number of Regions
- Handling Access to Secured Task Flows by Unauthorized Users
-
Creating Remote Regions in a Fusion Web Application
- How to Configure an Application to Produce Task Flows for Use in Remote Regions
- What Happens When You Produce Task Flows for Use in Remote Regions
- What You May Need to Know About Securing Remote Regions
- How to Configure an Application to Render Remote Regions
- What Happens When You Configure an Application to Render Remote Regions
- What Happens at Runtime: How an Application Renders Remote Regions
- How to Add Custom Error Messages for Remote Regions
- What You May Need to Know About ADF Skins and Remote Regions
-
27
Creating Complex Task Flows
- About Creating Complex Task Flows
- Sharing Data Controls Between Task Flows
- Managing Transactions in Task Flows
- Reentering Bounded Task Flows
-
Handling Exceptions in Task Flows
- How to Designate an Activity as an Exception Handler
- What Happens When You Designate an Activity as an Exception Handler
- How to Designate Custom Code as an Exception Handler
- What Happens When You Designate Custom Code as an Exception Handler
- What You May Need to Know About Handling Exceptions During Transactions
- What You May Need to Know About Handling Validation Errors
- Configuring Your Application to Use Save Points
-
Using Save Points in Task Flows
- How to Add a Save Point to a Task Flow
- What Happens When You Add Save Points to a Task Flow
- How to Restore a Save Point
- What Happens When You Restore a Save Point
- How to Use the Save Point Restore Finalizer
- What Happens When a Task Flow Invokes a Save Point Restore Finalizer
- How to Enable Implicit Save Points
- What You May Need to Know About Enabling Implicit Save Points
- What You May Need to Know About the Time-to-Live Period for a Save Point
- Minimizing the Number of Active Root View Ports in an Application
- Using Train Components in Bounded Task Flows
- Creating Task Flow Templates
- Creating a Page Hierarchy Using Task Flows
- Reporting Incidents to the Oracle Fusion Middleware Diagnostic Framework
-
28
Using Dialogs in Your Application
- About Using Dialogs in Your Application
- Running a Bounded Task Flow in a Modal Dialog
-
Using the ADF Faces Dialog Framework Instead of Bounded Task Flows
- How to Define a JSF Navigation Rule for Opening a Dialog
- How to Create the JSF Page That Opens a Dialog
- How to Create the Dialog Page and Return a Dialog Value
- What Happens at Runtime: How to Raise the Return Event from the Dialog
- How to Pass a Value into a Dialog
- What Happens at Runtime: How the LaunchEvent is Handled
- How to Handle the Return Value
- What Happens at Runtime: How the Launching Component Handles the ReturnEvent
-
23
Getting Started with ADF Task Flows
-
Part V Creating a Databound Web User Interface
- 29 Getting Started with Your Web Interface
- 30 Understanding the Fusion Page Lifecycle
-
31
Creating a Basic Databound Page
- About Creating a Basic Databound Page
- Creating Text Fields Using Data Control Attributes
- Creating Basic Forms Using Data Control Collections
- Creating Command Components Using Data Control Operations
- Incorporating Range Navigation into Forms
- Creating a Form to Edit an Existing Record
- Using Parameters to Create a Form
- Creating an Input Form
-
Creating a Form with Dynamic Components
- About Dynamic Components
- How to Create a Dynamic Form
- What Happens When You Create Dynamic Forms
- What Happens at Runtime: How Attribute Values Are Dynamically Determined
- How to Apply Validators and Converters to a Dynamic Component
- What You May Need to Know About Mixing Dynamic Components with Static Components
- How to Programmatically Set Dynamic Component Behavior
- How to Access a Dynamic Component Programmatically
- How to Access a Dynamic Component's Binding Instance Programmatically
- Modifying the UI Components and Bindings on a Form
-
32
Creating ADF Databound Tables
- About Creating ADF Databound Tables
- Creating a Basic Table
- Creating an Editable Table
-
Creating an Input Table
- How to Create an Input Table
- What Happens When You Create an Input Table
- What Happens at Runtime: How CreateInsert and Partial Page Refresh Work
- What You May Need to Know About Creating a Row and Sorting Columns
- What You May Need to Know About Create and CreateInsert
- What You May Need to Know About Saving Multiple Rows in a JPA-Based Data Control
- Creating a List View of a Collection
- Creating a Table with Dynamic Components
- Modifying the Attributes Displayed in the Table
-
33
Using Command Components to Invoke Functionality in the View Layer
- About Command Components
- Creating Command Components to Execute Methods
- Setting Parameter Values Using a Command Component
- Overriding Declarative Methods
-
34
Displaying Master-Detail Data
- About Displaying Master-Detail Data
- Prerequisites for Master-Detail Tables, Forms, and Trees
-
Using Tables and Forms to Display Master-Detail Objects
- How to Display Master-Detail Objects in Tables and Forms Using Master-Detail Widgets
- How to Create Master-Detail Forms from Separate Components
- What Happens When You Create Master-Detail Tables and Forms
- What Happens at Runtime: ADF Iterator for Master-Detail Tables and Forms
- How to Display Master-Detail Components on Separate Pages
- Using Trees to Display Master-Detail Objects
- Using Tree Tables to Display Master-Detail Objects
- Using List Views to Display Master-Detail Objects
- About Selection Events in Trees and Tree Tables
-
35
Creating Databound Selection Lists and Shuttles
- About Selection Lists and Shuttles
-
Creating List of Values (LOV) Components
- How to Create an LOV
- How to Configure an LOV Attribute as inputSearch
- What Happens When You Create an inputSearch Component
- How to Provide af:inputSearch LOV Component the REST URL
- What Happens When You Create an LOV
- What You May Need to Know About List Validators and LOV
- What You May Need to Know About InputComboboxListOfValues and Null Values
-
Creating a Selection List
- How to Create a Model-Driven List
- What Happens When You Create a Model-Driven Selection List
- How to Create a Selection List Containing Fixed Values
- What Happens When You Create a Fixed Selection List
- How to Create a Selection List Containing Dynamically Generated Values
- What Happens When You Create a Dynamic Selection List
- What You May Need to Know About Values in a Selection List
- Creating a List with Navigation List Binding
- Creating a Databound Shuttle
-
36
Creating ADF Databound Search Forms
- About Creating Search Forms
-
Creating Query Search Forms
- How to Create a Query Search Form with a Results Table or Tree Table
- How to Create a Query Search Form and Add a Results Component Later
- How to Persist Saved Searches into MDS
- What You May Need to Know About Named Bind Variables in Search Forms
- What You May Need to Know about Default Search Binding Behavior
- What You May Need to Know About Dependent Criterion
- What Happens When You Create a Query Form
- What Happens at Runtime: Search Forms
- Setting Up Search Form Properties
- Creating Quick Query Search Forms
- Creating Standalone Filtered Search Tables from Named View Criteria
- 37 Creating Databound Calendar and Carousel Components
-
38
Creating Databound Chart, Picto Chart, and Gauge Components
- About ADF Data Visualization Chart, Picto Chart, and Gauge Components
-
Creating Databound Charts
- How to Create an Area, Bar, Combination, Horizontal Bar, or Line Chart Using Data Controls
- What Happens When You Use the Data Controls Panel to Create a Chart
- How to Create Databound Funnel Charts
- How to Create Databound Pie Charts
- Creating a Databound Spark Chart Using Data Controls
- How to Create Databound Bubble and Scatter Charts
- How to Create Databound Polar and Radar Charts
- How to Create Databound Stock Charts
- What You May Need to Know About Using Attribute Labels
- Creating Databound Gauges
- Creating Databound Picto Charts
- 39 Creating Databound NBox Components
-
40
Creating Databound Pivot Table and Pivot Filter Bar Components
- About ADF Data Visualization Pivot Table and Pivot Filter Bar Components
-
Creating Databound Pivot Tables
- How to Create a Pivot Table Using ADF Data Controls
- What Happens When You Use the Data Controls Panel to Create a Pivot Table
- What You May Need to Know About Aggregating Attributes in the Pivot Table
- What You May Need to Know About Specifying an Initial Sort for a Pivot Table
- What You May Need to Know About Configuring Editable Data Cells
-
41
Creating Databound Geographic and Thematic Map Components
- About ADF Data Visualization Map Components
-
Creating Databound Geographic Maps
- How to Configure a Geographic Base Map
- How to Create a Geographic Map with a Point Theme
- How to Create Point Style Items for a Point Theme
- What Happens When You Create a Geographic Map with a Point Theme
- What You May Need to Know About Adding Custom Point Style Items to a Map Point Theme
- How to Create a Geographic Map with a Color Theme
- What Happens When You Add a Color Theme to a Geographic Map
- What You May Need to Know About Customizing Colors in a Map Color Theme
- How to Create a Geographic Map with a Pie or Bar Graph Theme
- What Happens When You Add a Pie or Bar Graph Theme to a Geographic Map
-
Creating Databound Thematic Maps
- How to Create a Thematic Map Using ADF Data Controls
- What Happens When You Use Data Controls to Create a Thematic Map
- How to Add Data Layers to Thematic Maps
-
Styling Areas, Markers and Images to Display Data
- How to Style Areas to Display Data
- How to Style Markers to Display Data using a Default Stamp
- How to Style Markers to Display Data using Categorical Groups
- What You May Need to Know About Styling Markers
- What You May Need to Know About Default Style Values for Attribute Groups
- How to Use Images to Display Data
- How to Use a Marker Image Source to Display Data
- What You May Need to Know About Base Map Location Ids
- What You May Need to Know About Configuring Master-Detail Relationships
- How to Define a Custom Map Layer
- How to Configure Drilling in Thematic Maps
- Creating Databound Legends
-
42
Creating Databound Gantt Chart and Timeline Components
- About ADF Data Visualization Components
-
Creating Databound Gantt Charts
- How to Create a Databound Project Gantt Chart
- What Happens When You Create a Project Gantt Chart from a Data Control
- How to Create a Databound Resource Utilization Gantt Chart
- What Happens When You Create a Resource Utilization Gantt Chart
- How to Create a Databound Scheduling Gantt Chart
- What Happens When You Create a Scheduling Gantt Chart
- What You May Need to Know About Data Change Event Handling
- Creating Databound Timelines
-
43
Creating Databound Hierarchy Viewer, Treemap, and Sunburst Components
- About ADF Data Visualization Components
- Creating Databound Hierarchy Viewers
- Creating Databound Treemaps and Sunbursts
- 44 Creating Databound Diagram Components
- 45 Creating Databound Tag Cloud Components
-
46
Using Contextual Events
- About Creating Contextual Events
- Creating Contextual Events Declaratively
- Creating Contextual Events Manually
- Creating Contextual Events Using Managed Beans
- Creating Contextual Events Using Plain Java Objects (POJOs)
- Creating Contextual Events Using JavaScript
- Creating the Event Map Manually
- Registering a Custom Dispatcher
-
Part VI Completing Your Application
-
47
Enabling ADF Security in a Fusion Web Application
- About ADF Security
- ADF Security Process Overview
-
Enabling ADF Security
- How to Enable ADF Security
- What Happens When You Enable ADF Security
- What Happens When You Generate a Default Form-Based Login Page
- What You May Need to Know About the Configure ADF Security Wizard
- What You May Need to Know About ADF Authentication
- What You May Need to Know About the Built-In test-all Role
- What You May Need to Know About the valid-users Role
- Creating Application Roles
-
Defining ADF Security Policies
- How to Make an ADF Resource Public
- What Happens When You Make an ADF Resource Public
- What Happens at Runtime: How the Built-in Roles Are Used
- How to Define Policies for ADF Bounded Task Flows
- How to Define Policies for Web Pages That Reference a Page Definition
- How to Define Policies to Control User Access to ADF Methods
- What Happens When You Define the Security Policy
- What Happens at Runtime: How ADF Security Policies Are Enforced
- What You May Need to Know About Defining Policies for Pages with No ADF Bindings
- How to Use Regular Expressions to Define Policies on Groups of Resources
- How to Define Policies for Data
- How to Aggregate Resource Grants as Entitlement Grants
- What Happens After You Create an Entitlement Grant
- Creating Test Users
-
Creating a Login Page
- How to Create a Login Link Component and Add it to a Public Web Page for Explicit Authentication
- How to Create a Login Page Specifically for Explicit Authentication
- How to Ensure That the Custom Login Page's Resources Are Accessible for Explicit Authentication
- How to Create a Public Welcome Page
- How to Redirect a User After Authentication
- How to Trigger a Custom Login Page Specifically for Implicit Authentication
- How to Ensure That the Redirect Destination Page is Available
- What You May Need to Know About Redirecting to a Different Host Server
- What You May Need to Know About Fusion Web Application Logout and Browser Caching
- What You May Need to Know About Displaying Error Pages in Internet Explorer
-
Testing Security in JDeveloper
- How to Configure, Deploy, and Run a Secure Application in JDeveloper
- What Happens When You Configure Security Deployment Options
- How to Use the Built-In test-all Application Role
- What Happens at Runtime: How ADF Security Handles Authentication
- What Happens at Runtime: How ADF Security Handles Authorization
- Preparing the Secure Application for Deployment
- Disabling ADF Security
- Advanced Topics and Best Practices
-
48
Testing and Debugging ADF Components
- About ADF Debugging
- Correcting Simple Oracle ADF Compilation Errors
- Correcting Simple Oracle ADF Runtime Errors
- Reloading Oracle ADF Metadata in Integrated WebLogic Server
- Validating ADF Controller Metadata
-
Using the ADF Logger
- How to Set ADF Logging Levels
- How to Create an Oracle ADF Debugging Configuration
- How to Turn On Diagnostic Logging for Non-Oracle ADF Loggers
- How to Use the Log Analyzer to View Log Messages
- What You May Need to Know About ADF Loggers and Log Levels
- What You May Need to Know About ADF Logging and Log Output
- What You May Need to Know About ADF Logging and Oracle WebLogic Server
-
Using the Oracle ADF Model Tester for Testing and Debugging
- How to Run in Debug Mode and Test with the Oracle ADF Model Tester
- How to Run the Oracle ADF Model Tester and Test with a Specific Application Module Configuration
- What Happens When You Run the Oracle ADF Model Tester in Debug Mode
- How to Verify Runtime Artifacts in the Oracle ADF Model Tester
- How to Refresh the Oracle ADF Model Tester with Application Changes
- Using the ADF Declarative Debugger
-
Setting ADF Declarative Breakpoints
- How to Set and Use Task Flow Activity Breakpoints
- How to Set and Use Page Definition Executable Breakpoints
- How to Set and Use Page Definition Action Binding Breakpoints
- How to Set and Use Page Definition Value Binding Breakpoints
- How to Set and Use Page Definition Contextual Event Breakpoints
- How to Set and Use ADF Lifecycle Phase Breakpoints
- How to Use the ADF Structure Window
- How to Use the ADF Data Window
- What Happens When You Set an ADF Declarative Breakpoint
-
Setting Breakpoints in Java Code and Groovy Script
- How to Set Breakpoints in Groovy Script
- How to Set Java Breakpoints on Classes and Methods
- How to Optimize Use of the Source Editor
- How to Set Breakpoints and Debug Using ADF Source Code
- How to Use Debug Libraries for Symbolic Debugging
- What You May Need to Know About Setting Java Code Breakpoints
- How to Edit Breakpoints for Improved Control
- How to Filter Your View of Class Members
- What You May Need to Know About Oracle ADF Breakpoints
- Debugging Groovy Expressions in Business Components
- Regression Testing with JUnit
-
49
Refactoring a Fusion Web Application
- About Refactoring a Fusion Web Application
- Renaming Files
- Moving JSF Pages
- Refactoring pagedef.xml Bindings Objects
- Refactoring ADF Business Components
- Refactoring ADF Business Component Object Attributes
- Refactoring Named Elements
- Refactoring ADF Task Flows
- Refactoring the DataBindings.cpx File
- Refactoring Limitations
- Moving the ADF Business Components Project Configuration File (.jpx)
-
50
Reusing Application Components
-
About Reusable Components
- Creating Reusable Components
- Reusable ADF Components Use Cases and Examples
- Additional Functionality for Reusable ADF Components
- Common Functionality of Reusable ADF Components
- Packaging a Reusable ADF Component into an ADF Library
-
Adding ADF Library Components into Projects
- How to Add an ADF Library JAR into a Project using the Resources Window
- How to Add an ADF Library JAR into a Project Manually
- What Happens When You Add an ADF Library JAR to a Project
- What You May Need to Know About Using ADF Library Components
- What You May Need to Know About Differentiating ADF Library Components
- What Happens at Runtime: How ADF Libraries are Added to a Project
- Removing an ADF Library JAR from a Project
-
About Reusable Components
-
51
Customizing Applications with MDS
- About Customization and MDS
-
Developing a Customizable Application
- How to Create Customization Classes
- What You May Need to Know About Customization Classes
- How to Consume Customization Classes
- How to Enable Seeded Customizations for User Interface Projects
- How to Enable Seeded Customizations in Existing Pages
- How to Enable Customizations in Resource Bundles
- How to Configure the adf-config.xml File
- What Happens When You Create a Customizable Application
- What You May Need to Know About Customizable Objects and Applications
-
Customizing an Application
- Introducing the Customization Developer Role
- How to Switch to the Customization Developer Role in JDeveloper
- Introducing the Tip Layer
- How to Configure Customization Layers
- How to Customize Metadata in JDeveloper
- What Happens When You Customize an Application
- How to Customize ADF Library Artifacts in JDeveloper
- How to View ADF Library Runtime Customizations from Exported JARs
- What Happens When You Customize ADF Library Artifacts
- What Happens at Runtime: How Customizations are Applied
- What You May Need to Know About Customized Applications
- How to Package and Deploy Customized Applications
- Extended Metadata Properties
- Enabling Runtime Modification of Customization Configuration
- 52 Allowing User Customizations at Runtime
-
53
Using the Active Data Service
- About the Active Data Service
- Configuring the Active Data Service
-
Configuring Components to Use the Active Data Service
- How to Configure Components to Use the Active Data Service Without the Active Data Proxy
- How to Configure Components to Use the Active Data Service with the Active Data Proxy
- What You May Need to Know About Displaying Active Data in ADF Trees
- What Happens at Runtime: How Components Render When Bound to Active Data
- What You May Need to Know About Running ADS in a Google Chrome Browser
- Using the Active Data Proxy
- What You May Need to Know About Maintaining Read Consistency
- Using the Active Data with a Scalar Model
-
54
Configuring High Availability for Fusion Web Applications
- About Oracle ADF High Availability
-
Configuring Oracle ADF for High Availability
- How to Configure Application Modules for High Availability
- How to Enable Support for Replicating HTTP Session State
- How to Ensure Oracle ADF Receives Notifications From Managed Bean Changes
- What You May Need to Know About Using Application Scoped Managed Beans in a Clustered Environment
- How to Disable Design Time Optimizations
- Troubleshooting Fusion Web Applications for High Availability
-
55
Deploying Fusion Web Applications
- About Deploying Fusion Web Applications
- Running a Fusion Web Application in Integrated WebLogic Server
-
Preparing the Application
- How to Create a Connection to the Target Application Server
- How to Create Deployment Profiles
- How to Create and Edit Deployment Descriptors
- How to Deploy Applications with ADF Security Enabled
- How to Replicate Memory Scopes in a Clustered Environment
- How to Enable the Application for ADF MBeans
- What You May Need to Know About JDBC Data Source for Oracle WebLogic Server
-
Deploying the Application
- How to Deploy to the Application Server from JDeveloper
- How to Create an EAR File for Deployment
- How to Deploy New Customizations Applied to ADF Library
- What You May Need to Know About ADF Libraries
- What You May Need to Know About EAR Files and Packaging
- How to Deploy the Application Using Scripts and Ant
- How to Deploy ADF Faces Library JARs with the Application
- What You May Need to Know About JDeveloper Runtime Libraries
- Postdeployment Configuration
- Testing the Application and Verifying Deployment
-
56
Using State Management in a Fusion Web Application
- About Fusion Web Application State Management
- Managing When Passivation and Activation Occurs
- Testing to Ensure Your Application Module is Activation-Safe
- Controlling Where Model State Is Saved
- Cleaning Up the Model State
- Managing the HttpSession in Fusion Web Applications
- Managing Custom User-Specific Information During Passivation
-
Managing the State of View Objects During Passivation
- How to Manage the State of View Objects
- What You May Need to Know About Passivating View Objects
- How to Manage the State of Transient View Objects and Attributes
- What You May Need to Know About Passivating Transient View Objects
- How to Use Transient View Objects to Store Session-level Global Variables
-
57
Tuning Application Module Pools
- About Application Module Pooling
-
Setting Pool Configuration Parameters
- How to Set Configuration Properties Declaratively
- What Happens When You Set Configuration Properties Declaratively
- How to Programmatically Set Configuration Properties
- What You May Need to Know About Configuration Property Scopes
- What You May Need to Know About Application Module Pool Configuration Parameters
- What You May Need to Know About Optimizing Application Module Pooling
- Initializing Database State and Pooling Considerations
-
47
Enabling ADF Security in a Fusion Web Application
-
Appendixes
- A Oracle ADF XML Files
- B Oracle ADF Binding Properties
- C ADF Security Permission Grants
-
D
Most Commonly Used ADF Business Components Methods
- Methods for Creating Your Own Layer of Framework Base Classes
- Methods Used in the Client Tier
- Methods Used in the Business Service Tier
- E ADF Business Components Java EE Design Pattern Catalog
- F ADF Equivalents of Common Oracle Forms Triggers
-
G
Performing Common Oracle Forms Tasks in Oracle ADF
- Concepts Familiar to Oracle Forms Developers
- Performing Tasks Related to Data
-
Performing Tasks Related to the User Interface
- How to Lay Out a Page
- How to Stack Canvases
- How to Implement a Master-Detail Screen
- How to Implement an Enter Query Screen
- How to Implement an Updatable Multi-Record Table
- How to Create a Popup List of Values
- How to Implement a Dropdown List as a List of Values
- How to Implement a Dropdown List with Values from Another Table
- How to Implement Immediate Locking
- How to Throw an Error When a Record Is Locked
-
H
Deploying ADF Applications to GlassFish
- About Deploying ADF Applications to GlassFish Server
- Running an ADF Application in Integrated WebLogic Server
- Preparing the Application
-
Deploying the Application
- How to Deploy to the Application Server from JDeveloper
- What You May Need to Know About Deploying from JDeveloper
- How to Create an EAR File for Deployment
- What You May Need to Know About ADF Libraries
- What You May Need to Know About EAR Files and Packaging
- How to Deploy to the Application Server using asadmin Commands
- How to Deploy the Application Using Scripts and Ant
- Testing the Application and Verifying Deployment