Oracle Application Development Framework Overview: An Oracle White Paper July 2009
Oracle Application Development Framework Overview: An Oracle White Paper July 2009
Introduction ......................................................................................... 1
Oracle ADF – Making Java EE Development Simpler .................... 2
THE ORACLE ADF ARCHITECTURE ................................................ 3
The Business Services Layer .......................................................... 4
The Controller Layer ....................................................................... 4
The View Layer ............................................................................... 5
The Model Layer ............................................................................. 5
Productivity with Choice .................................................................. 6
ORACLE ADF BENEFITS ................................................................... 6
Visual and Declarative Java EE Development ................................ 6
Benefits Over Other Frameworks .................................................... 8
CONCLUSION .................................................................................. 10
Oracle White Paper—Oracle Application Development Framework Overview
Introduction
Java EE is a standard, robust, scalable, and secure platform that forms the basis for
many of today’s enterprise applications. Java EE provides a set of specifications for
building multi-tier applications using the JavaTM language. In the past, there was a direct
correlation between the robust nature of an application to the complexity required to
achieve it. However, with the advent of the Oracle ADF framework, you are able to
provide the implementation of extremely rich Java EE applications, adhering to standard
patterns and practices with greatly reduced effort.
Additionally, the increased need for organizations to build composite applications that
utilize Service Oriented Architecture (SOA) principles has forced developers to create
applications that are extremely agile. Implementing these best practices in agile
applications usually involves writing a significant amount of infrastructure code, adding
another obstacle for developers building their first Java EE application.
1
Oracle White Paper—Oracle Application Development Framework Overview
2
Oracle White Paper—Oracle Application Development Framework Overview
By using Oracle ADF, the implementation details of these services are stored in metadata in the
ADF Model layer. This enables developers to exchange services without modifying the user
interface, making the application extremely agile. Additionally, the developer creating the user
interface does not need to bother with business service access details. Instead they can focus on
developing the application interface and interaction logic.
3
Oracle White Paper—Oracle Application Development Framework Overview
Oracle ADF lets developers choose the technology they prefer to use when implementing each
of the layers. The diagram above shows the various options available for developers when
building Oracle ADF applications. 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, and JPA/EclipseLink/TopLink objects and many others can all be used as
Business Services for the Oracle ADF Model. View layers can include Swing applications and
MS Office integration as well as HTML interfaces using JSP, Java Server Faces (JSF) and ADF
Faces.
4
Oracle White Paper—Oracle Application Development Framework Overview
There are three controller options for web-based applications in JDeveloper: Oracle ADF
Controller, which provides the most functionality; the unaugmented JSF controller or the
Apache Struts. Whichever controller you use, you will typically design your application flow by
laying out pages and navigation rules on a diagram. Using ADF controller you can break your
application's flow into smaller, reusable task flows; include non-visual components such as
method calls in your flow; and create "page fragment" flows that run inside a region of a single
containing page. This approach encourages maximum reusability for user interface fragments and
simplified integration into portals and mashup applications.
5
Oracle White Paper—Oracle Application Development Framework Overview
Oracle JDeveloper includes a variety of ways to construct business services including: EJB/JPA,
web services, simple Java objects, and ADF BC, among others. “Productivity with Choice” is a
cornerstone to this approach. When generating these, it is possible to make use of a wizard-
driven approach to generate Business Services that provide Java interfaces to these tables. With
simply a right-click these interfaces can then be exposed as web services, including SDO based
6
Oracle White Paper—Oracle Application Development Framework Overview
web services. Additionally, keeping with the theme of being visual and declarative, it is also
possible to accomplish the same thing via visual modeling to generate these interfaces.
Oracle ADF Business Components is a framework focused on creating objects, which
implement the Business Services layer on top of a data source, in a more declarative way. It
provides out-of-the-box services such as transaction management, resource pooling, locking,
declarative validation rules, translation, and object-relational mapping. Oracle ADF BC should
feel familiar to developers with a background in 4gl declarative database driven development,
offering such features as defining java objects based on SQL, declarative definition of validation
rules, and pre-defined events where code can be injected into the business service life cycle. ADF
BC development is done through declarative dialogs and property inspectors. With built-in
implementation of common JAVA EE design patterns in the framework, the performance and
scalability of the application is assured.
Visual and declarative development features of the View and Controller layers of an application
are plentiful in Oracle JDeveloper:
• A page flow modeler for the ADF controller, the basic JSF framework page flow controller
and the open-source Apache Struts framework, providing visual page flow modeling using
simple drag and drop of components onto a diagram.
• A visual editor for JSP, JSF, HTML, Swing, and Wireless based user interfaces, allowing
WYSIWYG development for all types of components.
• Declarative development tools for adding components to the user interface, including the
creation of declarative components, a property inspector, extensible component palette, and
data control palette.
• Reusability features – several features for maximizing reusability, including the creation of task
flows, ADF Libraries, and declarative components.
• ADF Faces - a large set of 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.
7
Oracle White Paper—Oracle Application Development Framework Overview
The visual and declarative development tools are synchronized in the JDeveloper IDE so that
the visual editor, property inspector, and modelers are synchronized with the source code at all
times. Thus, developers can choose their development style – drag and drop, declaratively define
properties, or edit source code directly.
Oracle JDeveloper provides a very easy way to bind components from the Business Services
layer to your Controller and View layers using an innovative implementation of the JSR-227 data
control. The Data Control Palette provides a view into the Business Services layer. Developers
can simply drag-and-drop data objects and bind them to their user interface implementation. The
same mechanism enables an easy binding of controller actions to methods defined in the
Business Services layer. All using purely visual and declarative gestures.
8
Oracle White Paper—Oracle Application Development Framework Overview
9
Oracle White Paper—Oracle Application Development Framework Overview
Support - Oracle ADF is an official Oracle product and as such is serviced by the Oracle
Support organization. This provides around the clock support from an established organization.
Training - Oracle University offers regular instructor lead courses on Oracle ADF and
JDeveloper.
CONCLUSION
Oracle ADF makes Java EE development simpler by providing out of the box implementation
of design patterns and infrastructure code. ADF provides a choice of development approach,
technologies used, and deployment platform. Combining the advanced architecture of Oracle
ADF with the visual development environment of Oracle JDeveloper 11g provides a perfect
solution for both novice and experienced developers looking to be more productive when
developing Java applications.
More resources about Oracle ADF and Oracle JDeveloper can be found on the Oracle
Technology Network (OTN), at http://otn.oracle.com/products/jdev.
10
Oracle Application Development Framework
Overview
July 2009
Author: Shaun O’Brien
Contributing Authors: Shay Shmeltzer
Copyright © 2009, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and
the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
Oracle Corporation
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
World Headquarters
fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are
500 Oracle Parkway
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
Redwood Shores, CA 94065
means, electronic or mechanical, for any purpose, without our prior written permission.
U.S.A.
Worldwide Inquiries: Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective
Phone: +1.650.506.7000 owners.
Fax: +1.650.506.7200
oracle.com 0109