Adf Faq
Adf Faq
Adf Faq
1
Copyright (c) 2021, Oracle. All rights reserved. Oracle Confidential.
In this Document
Purpose
Questions and Answers
Concepts and Architecture
What is ADF?
What is the ADF Architecture?
What is the MVC Architecture? How?
What are ADF UI Components? What is ADF Faces?
What are ADF Business Services/Business Components?
What are ADF Bindings?
What is MDS? How does ADF use it?
What is Partial Page Rendering in ADF Faces?
What is an Application Module?
What version of JavaServer Faces does ADF 11g require?
Development, Deployment and Runtime
Is there any guidance for Forms customer migrating to ADF?
Do I need to know Java to learn and work with ADF?
How flexible is ADF? Can I override code in ADF?
Can I request the source code for ADF?
How can Oracle JDeveloper enhance my ADF Development experience?
Can I upgrade a 10.1.3 ADF application to 11g?
If I upgrade my 10.1.3 ADF application to 11g will I get the new ADF Faces Rich Client components?
Can I deploy my ADF 11g application to Oracle Application Server 10.1.3 (or earlier)?
Where can I deploy & run my ADF Applications?
Download and Additional Resources
Where can I download ADF?
What is a good place to start on learning ADF?
Are there any code examples for ADF?
Where can I find sample applications for ADF?
How can I stay up-to-date with ADF news?
Where can I get help with ADF issues?
References
APPLIES TO:
PURPOSE
https://mosemp.us.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=5ft1iw1ss_267&id=1341160.1 1/7
3/10/2021 Document 1341160.1
This article aims to answer some of the Frequently Asked Questions about the Oracle Application Development Framework
(ADF)
What is ADF?
Oracle ADF is an end-to-end development framework, built on top of the Enterprise Java platform, offering
unparalleled productivity to application developers. The framework provides integrated infrastructure solutions
for the various layers of the application and an easy way to develop on top of them.
ADF includes a set of over a 150 standards-based Java Server Faces (JSF) components with built-in Ajax
functionality. Oracle ADF simplifies Java EE development by minimizing the need to write code that implements
the application's infrastructure allowing the developers to focus on the features of the actual application. Oracle
ADF provides these infrastructure implementations as part of the framework.
To recognize a set of runtime services is not enough, Oracle ADF is also focused on the development experience
to provide a visual and declarative approach to Java EE development through the Oracle JDeveloper 11g
development tool.
The Oracle ADF is based on the Model-View-Controller (MVC) design Pattern. The following figure shows the
bigger picture for ADF :
1. The Business Services layer - provides access to data from various sources and handles
business logic.
2. The Model layer - provides an abstraction layer on top of the Business Services layer, enabling
the View and Controller layers to work with different implementations of Business Services in a
consistent way.
3. The Controller layer - provides a mechanism to control the flow of the Web application.
4. The View layer - provides the user interface of the application.
https://mosemp.us.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=5ft1iw1ss_267&id=1341160.1 2/7
3/10/2021 Document 1341160.1
It's worth noting though that ADF is actually much bigger than the above diagram depicts - it allows you to use
other technologies as well, if needed. For example you can use EJB/JPA for persistence, Web Services as sources
of data etc.
1) A Model layer that handles interaction with data-sources and runs the business logic,
3) A Controller that manages the application flow and acts as the interface between the Model and
the View layers.
1. The Business Services layer - provides access to data from various sources and handles
business logic.
2. The Model layer - provides an abstraction layer on top of the Business Services layer, enabling
the View and Controller layers to work with different implementations of Business Services in a
consistent way.
3. The Controller layer - provides a mechanism to control the flow of the Web application.
Oracle ADF lets developers choose the technology they prefer to use when implementing each of the layers.
The glue that integrates the various components of Java EE applications and makes development so flexible is
the Oracle ADF model layer. EJB, Web Services, JavaBeans, JPA/EclipseLink/TopLink objects and many others
can all be used as Business Services for the Oracle ADF Model. View layers can include Web based interfaces
implemented with JSF, Desktop Swing applications and MS Office front ends, as well as interfaces for mobile
devices.
The ADF UI components are user-interface components with built-in functionality that are configurable, reusable
elements that provide user interfaces such as a simple button or a complex data table.
ADF Faces is a large set of over a 150 UI components built on top of the standard JSF APIs that leverage the
latest technologies, including partial page rendering and Ajax, to provide a rich, interactive user interface.
ADF Business Services manages interaction with persistence data. The Business Services layer provides access to
data from various sources and handles business logic.
The Business Services in Oracle ADF can be implemented in any of the following options: as simple Java classes,
EJB, Web services, JPA objects, and Oracle ADF Business Components. In addition, data can be consumed
directly from files (XML or CSV) as well as REST.
ADF Business Components are "building-blocks" that provide the most productive way to create, deploy, and
maintain a business service. ADF Business Components dramatically simplifies the development, delivery, and
customization of enterprise J2EE business applications by providing you with a set of intelligent software
building-blocks that save development time by making many of the most typical development task declarative.
They provide a foundation of Java classes that allow your business-tier application components to leverage the
functionality provided in the following areas ,Simplifying Data Access , Enforcing Business Domain Validation and
Business Logic, Supporting Sophisticated UIs with Multipage Units of Work, Implementing Best Practice, High-
Performance Service-Oriented Architecture, and Streamlining Application Customization .
https://mosemp.us.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=5ft1iw1ss_267&id=1341160.1 3/7
3/10/2021 Document 1341160.1
The ADF binding layer can be considered as the interface between data and data access. It provides a standard
interface to the data there by giving a consistent data access. The binding layer provides a consistent interface
to the data regardless of where it comes from there by giving freedom to the end users to implement their UI's
based on the binding layer. Oracle ADF Model implements the two concepts that enable decoupling the user
interface technology from the business service implementation: data controls and declarative bindings.
Data controls abstract the implementation technology of a business service by using standard metadata
interfaces to describe the service's operations and data collections, including information about the properties,
methods, and types involved. In an application that uses business components, a data control is automatically
created when you create an application module, and it contains all the functionality of the application module.
Developers can then use the representation of the data control displayed in JDeveloper's Data Controls panel to
create UI components that are automatically bound to the application module. At runtime, the ADF Model layer
reads the information describing the data controls and bindings from appropriate XML files and implements the
two-way connection between the user interface and the business service.
Declarative bindings abstract the details of accessing data from data collections in a data control and of invoking
its operations. There are three basic kinds of declarative binding objects:
Iterator bindings: Simplify the building of user interfaces that allow scrolling and paging through collections of
data and drilling-down from summary to detail information.
Value bindings: Used by UI components that display data. Value bindings range from the most basic variety that
work with a simple text field to more sophisticated list and tree bindings that support the additional needs of list,
table, and tree UI controls.
Action bindings: Used by UI components like hyperlinks or buttons to invoke built-in or custom operations on
data collections or a data control without writing code.
Oracle Metadata Services (MDS) allows the end user to customize their Web application to tailor the UI to meet
their individual needs and desires without programing changes to the base application.
Customization and personalization are dynamic structure and property changes to the metadata of application
documents like views, bindings and task flow definition files. Modifications that, for example, are applied as
customization to a page or a page fragment include the addition, removal or property changes of UI
components.
An application that is customized with MDS consists of a base application and one or many customization layers
that hold the modifications that are applied at runtime. A customization layer is defined by a set of metadata
documents that are stored in a metadata store on the file system or the MDS database repository.
Oracle MDS for Oracle Fusion web applications and all runtime changes of a component that are performed by
the application user, such as reordering of table columns are transient and only last until the page is next
refreshed. To configure component changes to last longer, application developers need to enable change
persistence in Oracle ADF Faces. Change persistence is a component level framework in ADF Faces that tracks
UI changes by the application user or programmatically applied by the application developer in response to a
user action. This allows these changes to persist for the duration of the application user session. Oracle MDS can
then be used to further extend the change persistence behavior to persist changes across application restarts.
This enhanced behavior is enabled through a simple options dialog shown in Figure 4. Under the covers, these
options make changes to the web.xml and the adf-config.xml configuration files for the application.
To know more about building Customizable Oracle ADF Business Applications with Oracle MDS, see
http://www.oracle.com/technetwork/developer-tools/jdev/adfmds-128339.pdf
AJAX (Asynchronous JavaScript and XML) is a web development technique for creating interactive web
applications, where web pages appear more responsive by exchanging small amounts of data with the server
behind the scenes, without the whole web page being rerendered. The effect is to improve a web page's
https://mosemp.us.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=5ft1iw1ss_267&id=1341160.1 4/7
3/10/2021 Document 1341160.1
With ADF Faces, the feature that delivers the AJAX partial page render behavior is called partial page rendering
(PPR). PPR allows certain components on a page to be rerendered without the need to rerender the entire page.
For example, an output component can display what a user has chosen or entered in an input component, or a
command link or button can cause another component on the page to be rerendered, without the whole page
rerendering.
See Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development
Framework 11g Release 1 (11.1.1) Chapter 7 Rerendering Partial Page
Content{http://download.oracle.com/docs/cd/E14571_01/web.1111/b31973/af_ppr.htm#ADFUI386}
An application module is an ADF Business Components component that encapsulates the business service
methods and UI-aware data model for a logical unit of work related to an end-user task.
The application module is the "work unit" container that includes instances of the reusable view objects required
for the use case in question, related through metadata to the underlying entity objects in your reusable business
domain layer whose information the use case is presenting or modifying.
ADF 11.1.2 and later uses JSF version 2.0. JDeveloper provides full support for developing user interfaces with
JSF and facelets technology in accordance with the JSF 2.0 specification found at
http://jcp.org/aboutJava/communityprocess/final/jsr314/index.html.
All other ADF 11g versions prior to 11.1.2 use JSF 1.2.
Yes, the white paper Case Study: Redeveloping an Oracle Forms application using Oracle JDeveloper 11g and
Oracle ADF 11g gives guidance on migrating a Forms application to ADF :
http://www.oracle.com/technetwork/developer-tools/jdev/redeveloping-forms-in-adf-11g-1-133095.pdf
There is also a ODTUG Technical Journal Article: Migrating Oracle Forms to Fusion: Myth or Magic Bullet?
Yes, you need to have an understanding of the basic concepts of Java. The JDeveloper declarative development
approach reduces the learning curve for developers familiar with 4GL-style tools. You can learn and build simple
applications with ADF without an extensive knowledge of Java but more complex applications require knowledge
of Java to take advantage of all the rich capabilities provided by ADF.
Yes, ADF generate code can be overriden to customize and extend it for your needs without changing the core
ADF source code. However, if you wish, you can also requested ADF source code via Oracle support.
Yes, supported customers can request a copy of the source code from Oracle Support. See Note 971256.1 How
to Request the ADF Libraries Source Code .
https://mosemp.us.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=5ft1iw1ss_267&id=1341160.1 5/7
3/10/2021 Document 1341160.1
Many of the other Java EE frameworks lack strong integrated support by development tools. Oracle JDeveloper
provides visual aids and a declarative approach to minimize the need to write framework code, making it a
perfect tool for building Oracle ADF-based applications. This declarative development approach also reduces the
learning curve for developers familiar with 4GL-style tools.
Yes, upgrade from 10.1.3 production releases to 11g is supported as a one way upgrade. Note that any usage of
the ADF Faces JSF components (10.1.3) are automatically migrated to using the Apache MyFaces Trinidad
components as part of this upgrade process. For more information on the migration process please consult this
page on OTN. Once an application has been upgraded it can no longer be deployed to a Java Enterprise Edition
1.4 Application server such as Oracle Application Server 10.1.3.
If I upgrade my 10.1.3 ADF application to 11g will I get the new ADF Faces Rich Client components?
No, upgraded ADF applications undergo a like-for-like migration to the Apache MyFaces Trinidad components
and retain the same functionality as the application in 10.1.3. Taking advantage of new ADF 11g features such
as the Rich Client Components and ADF Task Flows requires a degree of redesign for the application to fully
exploit the new capabilities that are present in this release.
Can I deploy my ADF 11g application to Oracle Application Server 10.1.3 (or earlier)?
No, Oracle AS 10.1.3 only supports version 1.4 of the Java Enterprise Edition standard. ADF 11g applications
require a 1.5 compatible server such as Oracle WebLogic 10gR3. See the section on licensing for the implications
of this if you are currently not licensed for a suite that includes WebLogic.
25. How do I install the ADF Runtime into a stand-alone WebLogic server?
Running the JDeveloper installer on the target application server will provide the option to install just the ADF
runtime libraries into an existing WebLogic home. You can then configure your domain to use this library. For
more information consult the install guide.
26. What Browsers are supported for running ADF Faces Rich Client 11g applications?
The list of supported browsers is here. Please consult the installation guide in the JDeveloper documentation set
for the latest support information.
ADF 11g applications require a Java Enterprise Edition 5 container The Application severs supported and
Certified to run ADF version 11 include weblogic 10.3.x and IBM WebSphere 7 (Please see the certification
matrix for exact versions)
The JDeveloper with ADF can be download from Oracle JDeveloper page on OTN: Latest JDeveloper/ADF version
A runtime version of ADF can be download from the Oracle Application Development Framework page on OTN:
Downloads for Oracle ADF
The Oracle Application Development Framework page on OTN has links to ADF Insider Basics - Recorded
Sessions, Online Demos, Step-by-Step Tutorials and Oracle ADF Insider Essentials.
The Oracle JDeveloper Code Samples page on OTN has many sample ADF applications.
https://mosemp.us.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=5ft1iw1ss_267&id=1341160.1 6/7
3/10/2021 Document 1341160.1
The Fusion Order Demo is a comprehensive integrated sample that showcases many of the key features of the
ADF framework . Many other samples are also available from OTN.
The best places to keep up to date with the latest news on ADF are :
Oracle Application Development Framework page on OTN. It also has links to recent blog entries for ADF
and points to Oracle ADF Books and Trainings.
Like us on the Oracle JDeveloper Facebook page
Follow us on Oracle JDeveloper Twitter
ADF blogs from Oracle Product Management etc :
Grant Ronald's Blog, Oracle ADF PM
Didier's Blog, Oracle ADF Support Blog
The GroundBlog, byDuncan Mills, OracleADF Product Management
ADF Code Corner, by Frank Nimphius, ADF PM
Dive into ADF, by Steve Muench Senior Architect, Oracle
ADF Adventures, Juan Camilo Ruiz, Oracle ADF PM
Oracle ADF Mobile, Oracle PM
ADF Unleashed, by the Oracle ADF Community
JDeveloper PMs Blog
ADF Redefined, Oracle Fusion Development
Oracle Fusion Middleware Security, by the Oracle A-Team
JDeveloper 11g comes with a large and comprehensive set of documentation covering both the development
environment and the frameworks. Additionally the product includes a set of cue cards on the product help menu
which will step you through features in an interactive manner.
If you still have questions, these can be asked in the My Oracle Support Community Forum or a Service Request
can be created via My Oracle Support.
Join the Java Development MOS community Forum for general discussions, questions, best practices, and other valuable
information on : Oracle JDeveloper and ADF, Oracle WebLogic - JEE Programming (EJB, JMS etc), Oracle JDBC, Oracle
Web Services (incl. DBWS Callout Utility), Oracle Web Services Manager (OWSM), Oracle Service Registry (OSR), Oracle
Toplink (EclipseLink), Sun NetBeans IDE / Java Studio Creator & Java Studio Enterprise, OC4J, KODO.
REFERENCES
Document Attributes
Author: JHPIERCE.US; Status: PUBLISHED(EXTERNAL)
Owner: WPEREZS.US Publisher: RBECKETT.US
Alias: Content Type: TEXT/X-HTML
Distribution: EXTERNAL Visibility: EXTERNAL
Created By: JHPIERCE.US Created: Jul 25, 2011
Modified By: RBECKETT.US Modified: Mar 3, 2021
Reviewed By: RBECKETT.US Reviewed: Jan 21, 2012
Source: AWIZ Exception: No
Priority: 1
https://mosemp.us.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=5ft1iw1ss_267&id=1341160.1 7/7