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.2.1.3.0) 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
New view-object level triggers support expressions that implement business logic to be executed in response to a given trigger point in the view object’s lifecycle. For more information, see section Using View-Level Triggers.
ADF REST
New design time support for declaring a default ADF REST framework version for REST resources allows service clients to utilize new features and enhancements at runtime, such as the advanced query capabilities offered in version 2 of the ADF REST runtime framework. By declaring a default framework version to process requests, REST application developers may opt into the features introduced by a specific ADF REST framework when they are ready. The default ADF REST framework version is defined by the application in the adf-config.xml
file. In JDeveloper release 12.2.1.2.0 and later, framework versions 1, 2, and 3 exist. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. For more information, see Versioning the ADF REST Runtime Framework.
New design time support for enabling fine control over the cache duration of ADF REST resource payload resulting from an ADF REST resource request. You can configure cache control in seconds on the root of the resource in the REST resource overview editor. At runtime, the cache setting can help to avoid intermediate proxies to cache/store the resource payload in the HTTP response. For more information, see How to Control Caching of ADF REST Resources.
Service clients of ADF REST resources may need to pass a different payload format to utilize a new feature or enhancement, such as the advanced query capabilities offered in version 2 of the ADF REST runtime framework. A framework version refers to a specific version of the ADF REST framework available starting in a particular Oracle JDeveloper release. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. For more information, see Working with ADF REST Framework Versions.
A new custom header REST-Framework-Version
allows service clients to specify a particular version of the ADF REST framework to use at runtime to process the request. The ADF REST framework version passed in the version header overrides the default framework declaration defined by the application in the adf-config.xml
file . This feature change was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See section ADF REST HTTP Headers Support.
A new resource tag ServiceConfiguration Visibility
in the ADF REST design time supports hiding ADF REST resources at runtime from the catalog describe. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See section How to Hide a Resource from the Catalog Describe.
A new flag restV1QueryCaseSensitive
in the ADF REST design time supports enforcing case insensitive searches at runtime on GET requests that use the query (q
) parameter. The default behavior enforces case sensitivity of resource item names used in query parameter expressions. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See section What You May Need to Know About Case Sensitivity in Resource Collection Query Operations.
Data Visualization Technology (DVT)
DVT now supports timeline components that rely on the ADF data controls for data binding. A timeline is an interactive data visualization tool that allows users to view date-based events in chronological order and easily navigate forwards and backwards within a defined time range. See section Creating Databound Timelines.
For Release 12c (12.2.1.3.0), this document has been updated in several ways. Following are the sections that have been added or changed.
Part II Building Your Business Services
Revised a section to clarify the use of appendViewCriteria()
API by including its usage in the code sample. See section What You May Need to Know About Creating View Criteria Programmatically Using Groovy Expressions.
Revised a section to add the usage of the buildCriteria()
API by including its usage in the code sample. See section How to Create View Criteria Programmatically.
Revised a section to clarify that view objects with no entity usage definition cannot be changed at a later date to support updating data and must always remain read-only. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See section About View Objects.
Revised a section to describe how custom properties defined by the backing view object attribute of ADF REST resources may be hidden from the resource describe. See section Customizing the ADF REST Resource Representation and Methods.
Revised sections to explain the ADF runtime restriction that requires application developers to use a single SQL flavor to initialize an ADF Business Components project for all ADF applications that need to run on the same managed server. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See sections How to Initialize the Data Model Project With a Database Connection and What You May Need to Know About Application Server or Database Independence.
Revised sections to clarify how to use the annotation @AllowUntrustedScriptAccess
to allow ADF Groovy scripts to invoke custom Java APIs from an ADF Business Components implementation class. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See What You May Need to Know About Untrusted Groovy Expressions and How to Implement Business Rules Using Entity-Level Triggers.
Revised a section to describe the requirement of the ADF REST framework that all LOV attribute view accessors must be based on view objects and not on the attributes of entity objects. See section What You May Need to Know About LOV Accessors in the ADF REST Resource.
Added a section to describe the existing versions of the ADF REST framework and the benefit that each may provide to ADF REST service clients when declared in the ADF REST application. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See section What You May Need to Know About Versioning the ADF REST Framework.
Added a section to describe the advanced query capabilities, also known as rowmatch expression syntax, introduced by version 2 of the ADF REST framework. This feature update was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See section What You May Need to Know About the Advanced Query Syntax in ADF REST Framework Version 2.
Part III Using the ADF Model Layer
Revised a section to describe GET requests that use advanced query capabilities to retrieve ADF REST resource. This query capability, introduced by version 2 of the ADF REST framework, supports rowmatch expressions. This feature change was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See section Filtering a Resource Collection with a Query Parameter.
Revised a section to describe GET requests that retrieve nested child resources using the a payload structure that returns the child resource items as a resource collection, instead of as an array of resource items. This capability, introduced in version 3 of the ADF REST framework, supports pagination of nested child resources. This feature change was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. See section Fetching Nested Child Resources and Querying With Filtering Attributes (Partial Get).
Revised the section GET Method Operations to describe the following changes:
Describe the requirement to delimit string matching filters with a space character specifically when using the query parameter syntax in ADF REST framework version 1. This requirement does not apply to the query syntax in framework version 2 and later.
Describe query parameter syntax changes on GET requests introduced in ADF REST framework version 2 (or later). This feature change was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release.
Describe operators used within the query parameter syntax on GET requests and the valid ADF REST data types supported for each operator. This feature change was first introduced in a refresh of the 12.2.1.2 documentation library and is repeated here for users who may not have seen this information in the 12.2.1.2 release. .
Part IV Creating ADF Task Flows
Revised a section to describe about the configuration property setting required for enforcing nesting of application modules under a root application module when an ADF Controller shares a single transaction between task flows. See section What You May Need to Know About ADF Business Component Database Connections and Task Flow Transaction Options.
Part VI Completing Your Application
Revised a section to clarify that to enable a transient view object to passivate or activate currently, it needs a non-null key attribute value. See section How to Manage the State of Transient View Objects and Attributes.
Added a section to describe the ADF audit rule for code-sharing to inspect the code and to determine if it is multi-tenancy safe. See section What You May Need to Know About Multi-Tenant Server Deployment.
Revised a section to clarify the circumstances with optimistic locking enabled when RowInconsistentException
is thrown. See section How to Confirm That Fusion Web Applications Use Optimistic Locking.