Book Image

Oracle ADF Real World Developer's Guide

By : Jobinesh Purushothaman
Book Image

Oracle ADF Real World Developer's Guide

By: Jobinesh Purushothaman

Overview of this book

Oracle ADF in combination with JDeveloper IDE offers visual and declarative approaches to enterprise application development. This book will teach you to build scalable rich enterprise applications using the ADF Framework, with the help of many real world examples. Oracle ADF is a powerful application framework for building next generation enterprise applications. The book is a practical guide for the ADF framework and discusses how to use Oracle ADF for building rich enterprise applications. "Oracle ADF Real World Developer's Guide" discusses ADF framework in detail. This book contains a lot of real life examples which will help developers to design and develop successful enterprise applications. This book starts off by introducing the development environment and JDeveloper design time features. As you read forward, you will learn to build a full stack enterprise application using ADF. You will learn how to build business services using ADF, enable validation for the data model, declaratively build user interfaces for business service and enable security across application layers.
Table of Contents (20 chapters)
Oracle ADF Real World Developer's Guide
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Comparing the Fusion web application technology stack to the Java EE web application


ADF is built on top of the Java and Java EE stack. If you are familiar with Java EE, this topic is for you. Let us take a quick look at the basic building blocks of these two technologies to see what they have in common:

View layer

JSF is a request-driven MVC web framework, which intends to standardize the development of web-based user interface in a Java EE web applications. ADF Faces forms the view layer of a Fusion web application. This is built on top of JSF with lots of extra features, such as graphs and charts, a dialog framework, declarative components, data streaming, embeddable task flows, and rich AJAX-enabled UI components.

Controller layer

In a Java EE web application, it is the JSF controller that intercepts all the page requests and dispatches them to the appropriate view along with the necessary data. The JSF Controller also controls the page navigation. The ADF Controller is extended from the JSF Controller to support modular web application development by decomposing the single monolithic application into multiple reusable web modules, termed as ADF task flows. Each task flow can have its own transaction attributes, resource management, managed bean definitions, and navigation cases.

Data binding layer

The data binding layer of ADF (also known as ADF Model) is quite unique in nature and does not have any real counterparts in the Java EE world. The ADF Model decouples the UI from the business service implementation and provides a generic binding behavior for the collection returned from the business services.

Conceptually, Context and Dependency Injection (CDI) does a similar welding job for Java EE web applications, however, feature wise there are many differences, which we will discuss in the coming chapters.

Business service layer

ADF Business Components simplifies the business services implementation by freeing the developer from writing infrastructural code required by enterprise applications. ADF Business Components mainly constitutes of the entity object, view object, and application module.

The ADF entity objects are similar to the Java Persistence API (JPA) entities, however functionality wise the former scores. The major advantages of the ADF entity object are out-of-the-box support for caching of data in middle tier, matured transaction management, declarative validation support, and the ability to triggerthe SOA process during the transaction post cycle.

The ADF view objects are data shaping components. The ADF view objects are similar to Java Persistence Query Language (JPQL) in the Java EE stack. Some of the advantages of ADF view objects over JPQL are the visual and declarative development experience, support for building model-driven UI, and declarative state management.

The ADF application module is the transaction component that wraps your business service—conceptually similar to a session facade built using a session bean in an EJB application. However, we need to keep in mind that these two technologies are in no way related in their underlying implementation, though at the end of the day everything boils down to Java binaries and JDBC calls.