Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 8

10 Reasons to choose ADF Faces

In February 2006, Oracle changed the world of Java programming by


announcing the production release of ADF Faces (for Application
Development Framework) and JDeveloper 10g release 3. ADF Faces, that is
a part of the ADF architecture, is the framework that Oracle provides for
simplifying Java Web development. I have ten years of IT experience, six of
which working with Java. During these six years, I’ve had the chance to
work with many tools like Eclipse, IBM WebSphere, Sun Microsystem’s
NetBeans, Borland JBuilder and, of course, Oracle JDeveloper. It’s the first
time in all my career I can say that building Java Web applications will now
be fast and easy, with a shorter learning curve for Java developers with or
without any Java development experience.

Here are ten reasons that have convinced me that choosing ADF Faces and
JDeveloper 10g release 3 (10.1.3) for your Java development platform will
reduce your development and maintenance costs.

1- Simplicity

ADF Faces (that is the name of the Oracle JSF (for Java Server Faces)
components) is based on an intuitive programming model similar to Oracle
Forms and Microsoft Visual Basic to simplify Java Web development. It’s a
component model approach that uses events. ADF Faces is very easy to
learn and requires minimal Java knowledge to use it. You no longer have to
know the Java programming language since JDeveloper will generate the
code you need through its multiple wizards. JDeveloper has simple, intuitive
interfaces and provides online assistance with complete documentation and
tutorials to simplify its use and Java Web development.

ADF Faces + JDeveloper 10g = reduced learning curve

2- Facility
ADF Faces is a library containing more than a hundred visual components
with events and properties. With JDeveloper, you click a component in the
component palette, drag and drop it into a Web page, modify its appearance
using properties and change its behavior defining events. For example, you
can define a “button_onclick” event that will be executed when the user
clicks the button component on the Web page at runtime. This is similar to
Forms triggers. Combined to the ADF Business Components framework
(another part of the ADF architecture), ADF Faces offers multiple out-of-the-
box unit validations that you no longer have to code, such as validating a
date format or a required field.

ADF Faces + JDeveloper 10g = reduced complexity

3- Flexibility

ADF Faces is built on an open architecture that lets you extend it easily to
address your project’s specific requirements. For example, if the component
you’re looking for is not in the ADF Faces component list, it’s possible to
create one or add an existing component from a third party. You can modify
the behavior of the framework to extract error messages and labels from a
database table (many DBs are supported) instead of using a properties file
(default behavior). You can also change the appearance of all your Web
pages in one click (using the skin feature). Combined to ADF, you get a plug
and play framework in the sense that it allows you to use your preferred
business logic or data access framework such as EJB 3.0 (Enterprise
JavaBeans) or Spring, a well-known Open Source Java framework used for
its AOP (Aspect Oriented Programming) features.

4- Reusability

Most businesses have invested considerable sums in their existing


infrastructures, which they want to reuse. With ADF (where ADF Faces
reside), you don’t need to rewrite everything because you’re doing Java
programming. Since ADF Faces is J2EE compliant, you can connect to
existing systems in one of the following ways:
• exchange data with mainframes using JCA (for Java Connector
Architecture);

• exchange data with existing systems and external partners using


Web services;

• exchange data with mixed technologies using JMS (for Java


Message Service).

Plus, if your business logic is contained in Oracle PL/SQL packages, you can
reuse it in your ADF applications by using Oracle SQL/J. This framework
generates Java classes based on PL/SQL functions, procedures and
packages, so you can easily call them in your Java application without coding
the JDBC (Java DataBase Connectivity).

ADF Faces = return on investment

5- Service Oriented Architecture (SOA)

Most of you have no doubt heard about SOA architectures that consist of
modeling your business services to reuse them in your enterprise. You can
easily create a business service with ADF Business Components (part of the
ADF architecture) and JDeveloper: you create a component called an
Application Module that will automatically be generated by JDeveloper. The
component will talk with your persistence layer implemented using the
business components View and Entity objects (that will also be automatically
generated by JDeveloper) for example, and will handle transaction
management and concurrency issues.

Using the Application Module properties window, you can publish it as a Web
service without coding a single line of Java code or XML. Creating business
services using ADF Business Components is very easy. Using ADF Model
(that is also part of the ADF architecture), you can bind an application
module with the ADF Faces components in a single click. By using the latest
version of JDeveloper (release 10.1.3.1 – available since October 2006), you
can orchestrate your services and create business processes (both simple
and complex) using the BPEL (Business Process Execution Language) editor
without writing a single line of Java code!

6- Usability

Creating simple, usable Web pages is also very straightforward since most
ADF Faces visual components are so easy to use. They also behave the same
way in the popular Web browsers that are currently available. You no longer
have to do extra work to make a Web page behave the same in IE and
Firefox for example. ADF Faces contains simple components (buttons, lists of
values, labels, menus, date pickers, etc.) and complete components
(master/details, search components with search results and paging
navigation, complete tables, charts, tabs, etc.) that share a common
appearance with the skin feature, which you can use to change the
appearance of all your Web pages in a single click.

7- Collaboration

One of the most important improvements in JDeveloper 10g release 3 is the


development life cycle support it provides for developers. With JDeveloper, it
doesn’t matter how big your development team will be because it will give
its members the functions they need to be productive. The following diagram
illustrates the places in the development life cycle that JDeveloper will help
developers in their day-to-day work.
JDeveloper supports most configuration management tools available on the
market including the two most popular Open Source tools: CVS and
Subversion. JDeveloper lets the developer use the navigation window to
check out the project he needs to work on. Once the project is checked out,
the developer will be able to edit, add and delete source files. At the end of
his work, the developer will be able to synchronize his files with the
repository and commit his changes using a single click.

JDeveloper provides many easy-to-use functions that let the developer


debug, unit test and optimize his code. Once the developer has completed
his work and committed the modified files to the repository, he can deploy
the whole application or parts of it (using the patch feature) to the
application server (many ASs are supported).

8- Complete toolbox

JDeveloper is a complete toolbox. Its modeling functions support many UML


diagrams, including sequence and class diagrams (sequence diagrams can
be generated dynamically by the debugger to better understand what
happens when you debug a specific chuck of your code). It also provides
many code refactoring features. When you create Web pages, it has
functions that let you drag and drop components into a Web page, modify
their appearance using the properties window and modify their behavior
using events (where wizards will help you create and manage your events).
On the business logic layer, it provides simple interfaces that let you publish
a business service in a Web service without writing a single line of code. For
the data access layer, it will automatically generate objects in front of your
relational database tables and will handle transaction and concurrency
management without coding a SQL query. You can create your own simple
or very complex query, or ask the framework to handle SQL queries for you.

JDeveloper has complete debugging features. You can debug your Java code
and PL/SQL code in the same transaction using the debugger. Another cool
feature is that the embedded OC4J J2EE container of JDeveloper 10g is the
same container as the one embedded in Oracle Application Server 10g. The
two of them behave identically. You can run or debug your Web application
with a single click (no extra configuration required). You can also use the
profiling tools in JDeveloper to optimize your Web application and find
bottlenecks before going into the production environment. Finally, you can
use JUnit to unit test your project’s Java classes, and JDeveloper will
automatically generate the JUnit Java classes for you.

9- Reliability

ADF Faces is a fast, robust framework with no bad surprises because it is


industry tested. If the load increases on the application server where your
Web application is deployed, you can easily run many instances of your Web
application at the same time and share the load between them without
changing a single line of code. ADF Faces has been built by Oracle
employees, and part of it comes from the Open Source world. In Spring
2006, Oracle donated the visual components of ADF Faces to the Open
Source community. Since then, many new features have been implemented
by the community including new components (see the Apache Trinidad
project). At Fujitsu Consulting, we have been part of this work, since one of
our employees is a committer and takes part in the decisions being made on
the Apache Trinidad project.

10- Compatibility matters

Regarding Java, Oracle follows the same philosophy as Sun Microsystems in


the sense that Oracle does all it can to keep the different available ADF
versions compatible. An application that works with a previous ADF
framework version will still work in ADF Faces. Migrating to ADF Faces will let
you exploit in your Web application the new functions it provides. You don’t
have to completely rewrite your Java code because you’re migrating to ADF
Faces. Since ADF Faces is built on J2EE, it also supports applications built on
J2EE (including Java applications built on Apache Struts).

Oracle plans to announce ADF Faces RIA (Rich Internet Applications) in


Summer 2007 (not confirmed yet) that will contain a new AJAX
(Asynchronous JavaScript And XML) render kit and some new components
also. These new features will let you build new kinds of Web applications
that will behave like client/server applications but over the Web with a very
cool look and feel. The features you’ve been wanting for a very long time
(since the beginning of the Web) will then be available (drag and drop
features, dynamic data modifications without reloading the entire Web page,
etc.).

Conclusion

Combined with JDeveloper 10g release 3, ADF Faces is the easiest


development framework ever released. Developing a Web application has
never been simpler. For example, at Fujitsu Consulting, we built a Java Web
application for La Capitale General Insurance, one of our clients, in 90 days!
It took us just three months to design, develop, test and deliver into
production this Web application, which is used by more than 600 people a
week. This is something I had never done before using any other
technology. Without Oracle ADF Faces and JDeveloper 10g, this would never
have been done so fast and so easily.

By choosing ADF Faces as their Java development platform, La Capitale


General Insurance got a significant return on their investment, reduced
complexity and a shorter learning curve (because most of their programmers
were new to Java), which let them cut their development and maintenance
costs. Now, few months later, their development team has released four new
Java Web applications into production, which they built by themselves based
on the experience they acquired from their first ADF Faces project.

You might also like