The following topics introduce the new and changed features of Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) and other significant changes, which are described in this guide. This document in previous JDeveloper releases had been titled Fusion Developer's Guide for Oracle Application Development Framework.
Oracle Fusion Middleware Release 12c (12.1.3) of Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) includes the following new and changed development features, which are described in this guide.
ADF Business Components
You can now use the Test Query dialog to test the compatibility of your view object's custom query statement with Oracle Database change notification. The Change Notification tab in the Test Query dialog will confirm whether the query can be registered for change notification or whether you need to modify the query for compatibility. For more information, see Section 5.12.7, "How to Automatically Refresh the View Object of the View Accessor."
You can now shape the URI of the generated SDO schema and SOAP web service target namespace by setting a default namespace prefix and by specifying the names of packages that you want to exclude from the URI. For more information, see Section 15.2.15, "How to Set Preferences for Generating the ADF Web Service Interface."
You can now enable a Display Name UI hint when the SOAP web service client needs to programmatically generate a user interface and needs to display the service view instance and its attributes with the correct identifying labels. For more information, see Section 15.2.16, "How to Set Display Names for Service View Instances and Attributes."
You can now use a Groovy expression to define UI hints. All UI hints displayed on the UI Hints tab of the Attributes page in the overview editor for entity objects and view objects allow you to specify an expression. For more information, see Section 4.6, "Defining Attribute Control Hints for Entity Objects."
You can publish SDO-based SOAP web services that include ClobDomain
attributes converted from base64
binary stream to a character stream with a specific character encoding. For more information, see Section 15.2.21, "How to Specify Character Encoding for ClobDomain Type Attributes."
You can set breakpoints for debugging in your Groovy script used to define business rules and attribute default values. For more information, see Section 42.10.1, "How to Set Breakpoints in Groovy Script."
ADF Task Flows
You can now minimize the number of active root view ports in an application by specifying a value for the <max-root-view-ports>
property in the adf-config.xml
file of your application. For more information, see Section 24.8, "Minimizing the Number of Active Root View Ports in an Application."
You can configure the <debug-history-size>
element in your application's adf-config.xml
file to stop the collection of events or modify the number of events that the ADF Controller collects to report to the Diagnostic Framework if an incident occurs in your application. For more information, see Section 24.12, "Reporting Incidents to the Oracle Fusion Middleware Diagnostic Framework."
ADF Data Visualization components
You can now create the user interface using new client-side charts: area, bar, bubble, combination, horizontal bar, line, pie, scatter, spark. The charts replace the server-side area, bar, bubble, combination, horizontal bar, line, pie, scatter and spark graphs. For more information, see Section 35.2, "Creating Databound Charts."
You can also use client-side dial, LED, rating, and status meter gauges. The gauges replace the server-side dial, LED, status meter, and vertical status meter gauges. For additional information, see Section 35.4, "Creating Databound Gauges."
You can now configure markers in thematic maps to use an image file to display data and rotate the images to display direction. For additional information, see Section 37.3.4.5, "How to Use Images to Display Data."
For Release 12c (12.1.3), this document has been updated in several ways. Following are the sections that have been added or changed.
Part II Building Your Business Services
Added new sections to describe how to avoid dependencies on application modules and view objects in the methods that you implement in custom entity object, view object, and view row classes. See Section 4.14.9, "What You May Need to Know About Custom Entity Object Methods" and Section 10.1.3.4, "Avoid Creating Dependencies on Parent Application Module Types."
Revised sections to clarify use of batch update with regard to using batch with composite entity relationships. See Section 4.9.3, "How to Use Update Batching" and Section 4.10.13.7, "Using Batch Update with Composition Entity Objects."
Revised the chapter on defining view objects to emphasize declarative SQL mode as the new default for all view objects that you create in the Create View Object wizard. See Section 5.3, "Working with View Objects in Declarative SQL Mode."
Revised the chapter on defining view objects to replace references to expert mode with custom SQL mode. The overview editors and wizards no longer refer to editing view object by mode names, but the same functionality remains as in previous releases. See Section 5.8, "Working with View Objects and Custom SQL."
Added a new section to explain the relationship of row finders to view criteria. See Section 5.11.3, "What You May Need to Know About View Criteria and Row Finder Usage."
Revised the section on setting the Auto Refresh property to explain that you need to test the query for compatibility with the Oracle database query result change notification feature before you enable auto refresh on the view object. See Section 5.12.7, "How to Automatically Refresh the View Object of the View Accessor."
Revised the chapter to add more detailed instructions for working with polymorphic view objects in JDeveloper. See Chapter 7, "Defining Polymorphic View Objects"
Revised the section on creating view objects from alternative data sources like a REF CURSOR to explain how to enable the view object for alternative data sources. See Section 10.5, "Using Programmatic View Objects for Alternative Data Sources."
Revised the section on working with results of a query that is encapsulated within a stored procedure to caution users not to assume that the populateAttributeForRow()
method will populate attributes on the view object with the desired data types. See Section 10.5.4, "How to Create a View Object on a REF CURSOR."
Added a section to provide guidelines for choosing what type of validation to implement. See Section 11.2, "Determining Where to Implement Validation."
Renamed the chapter on publishing a SDO-based service interface to make view instances of application modules available as external SOAP web services. See Chapter 15, "Creating SOAP Web Services with Application Modules."
Revised the section on enabling the application module service interface to describe built-in methods that can be optionally added to the client service interface and to describe limitation for working with polymorphic subtype view objects. See Section 15.2.1, "How to Enable the Application Module Service Interface."
Added a section to describe what happens when a view object subtype extends a view instance in the SDO-based service interface to support polymorphic view collections. See Section 15.2.3, "What Happens When You Create an Application Module Service Interface With Polymorphic View Objects."
Added a section to describe how to work with polymorphic view collections that are exposed through the SDO service interface. See Section 15.4, "Accessing Polymorphic Collections in the Consuming Application."
Revised the section on extending ADF business components to explain why the extended component inherits the attributes and attribute properties of the parent component. See Section 16.8.3.1, "Attributes in an Extended Component Inherited from the Parent Component."
Part III Using the ADF Model Layer
Added a section to clarify the behavior of the default error handling mechanism for ADF Controller. See Section 18.2.3, "What You May Need to Know About Default Error Handling."
Part IV Creating ADF Task Flows
Revised a section to clarify that a task flow for which you choose the No Controller Transaction option from a task flow's overview editor does not perform a transaction operation (begin, commit, or roll back a transaction). See Section 24.3, "Managing Transactions in Task Flows."
Added a section to describe the interactions that occur when you isolate two bounded task flow transactions completely so that they can be committed or rolled back separately. See Section 24.3.3.1, "Creating Completely Separate Transactions."
Added a section to describe the interactions that occur when you configure two bounded task flows to share a transaction to save connection resources and stop the transaction if the called bounded task flow cannot join the transaction of the calling bounded task flow. See Section 24.3.3.2, "Guaranteeing a Called Bounded Task Joins an Existing Transaction."
Added a section to describe the interactions that occur when you call a bounded task flow that joins the transaction of the calling bounded task flow if one exists and, if not, creates its own transaction. See Section 24.3.3.3, "Using an Existing Transaction if Possible."
Added a section that describes the configuration changes to make if you want to have separate root application modules connect to different data sources within the same data model project. See Section 24.3.4, "What You May Need to Know About ADF Business Component Database Connections and Task Flow Transaction Options."
Part V Creating a Databound Web User Interface
Added a new section to describe how to use the listView
component when you need to display a collection of objects in a list. For more information, see Section 29.5, "Creating a List View of a Collection."
Added a new section to describe how to use the ADF Faces listView
component to display a hierarchy of master-detail collections in a simple tree table. For more information, see Section 31.6, "Using List Views to Display Master-Detail Objects."
Revised the section on creating databound graphs to remove references to legacy pie and bar graphs which have been replaced with pie and bar charts. For additional information, see Section 35.3, "Creating Databound Graphs" and Section 35.2, "Creating Databound Charts."
Revised the section on creating databound gauges to remove references to gauge sets which are not supported by the client-side gauges. For additional information, see Section 35.4, "Creating Databound Gauges."
Revised the section on creating databound pivot tables to remove references to live data preview, no longer supported in the data binding wizard. For additional information, see Section 36.2, "Creating Databound Pivot Tables."
Revised the section on creating databound hierarchy viewers to reflect that attributes are now automatically assigned to the title and first two panel cards only during creation. For additional information, see Section 39.2, "Creating Databound Hierarchy Viewers."
Revised the section on creating databound treemaps and sunbursts to reflect that attributes are not included in the page binding unless they are explicitly set during creation. For additional information, see Section 39.3, "Creating Databound Treemaps and Sunbursts."
Added a new section to describe how to create contextual events with Plain Java Objects (POJOs). See Section 40.5, "Creating Contextual Events Using Plain Java Objects (POJOs)."
Part VI Completing Your Application
Added a new section to describe ways to redirect the user to a different host server when the user logs out of the Fusion web application. See Section 41.7.7, "What You May Need to Know About Redirecting to a Different Host Server."
Added a new section to describe how to use entity row API and ADF Security EL methods to test user permission for secured entity object operations. See Section 41.11.3, "How to Perform Authorization Checks for Entity Object Operations."
Revised a section to remove legacy gauge and graph components from the list of ADF Data Visualization (DVT) components with active data service support. For the list of supported components, see Section 47.1.1, "Active Data Service Use Cases and Examples."
Revised a section to remove limitations around using Active Data Service (ADS) with components that are added dynamically (using PPR) or when invoking a web page or region from a task flow call activity. Both of these limitations no longer exists and ADS now functions with PPR and task flow call activities. For the current list of ADS limitations, see Section 47.1.2, "Limitations of the Active Data Service Framework."
Added a new chapter to describe how to integrate the Fusion web application into a high availability environment. See Chapter 48, "Configuring High Availability for Fusion Web Applications."
Revised a section to add information about enabling Click History for an application to monitor user actions. See Section 49.3.3.5, "Enabling the Application for RUEI and Click History."
Revised sections to remove best practice recommendations from previous releases that had favored server environments where RAM was a limitation and the ADF Business Components passivation/activation cycle was used to reduce memory usage. See revised sections throughout Chapter 50, "Using State Management in a Fusion Web Application" and Chapter 51, "Tuning Application Module Pools."
For a discussion about the importance of minimizing application module passivation/activation in today's systems, see Section 50.2, "Managing When Passivation and Activation Occurs" and Section 51.2.5.1, "Pool Behavior Parameters."
Added a section that describes about how the ADF application module pool configuration parameters can be set at design time to affect the behavior of the application module pool, see Section 51.2.5, "What You May Need to Know About Application Module Pool Configuration Parameters."
Removed sections that described the ADF application module pool configuration parameters in Chapter 50, "Using State Management in a Fusion Web Application."
Note that these parameters are now exclusively described in the "Tuning Oracle Application Development Framework" chapter of Tuning Performance as mentioned in Section 51.2.1, "How to Set Configuration Properties Declaratively."
Removed sections that described ADF database connection pool configuration parameters in Chapter 51, "Tuning Application Module Pools."
Note that these parameters are no longer described in Developing Fusion Web Applications with Oracle Application Development Framework, since ADF database connection parameters do not support the only preferred connection type for ADF Business Component Model projects (data source connections). If your application defines a JDBC URL connection type (legacy only), refer to the 11g release version of this guide to obtain documentation on the ADF database connection pool configuration parameters.
Part VII Appendices
Revised a section to describe the allow-unbounded-task-flow-customizations
property that can be configured to disable support for user specific seeded customization or design time at runtime customization of unbounded task flow metadata in your application. See Section A.11, "adf-config.xml."