I'm back from the Collaborate 2012 conference - a conference that
brings together several Oracle user groups, including the Oracle
Application User Group. It was nice to see a growing interest in ADF
sessions this year, with many of the attendees actually coming from
an Oracle E-Business Suite (EBS for short) background. One question that came up
several times from this audience in different forms was "Should I
use/learn OAF or ADF for my future development".
The answer is "it depends on what you want to do".
Let me explain. If what you need to do is modify an existing EBS
form/page - then you'll need to do it with the tool that this Form
was built with. This means you'll use OAF (or in some cases Oracle
Forms) and change the metadata that defines the page. This is true
for the scenarios commonly referred to as "customization" or"personalization" in the EBS world.
However there are situations where what you want to do is not modify
an existing page but rather develop a new user interface that
drastically change the interaction with the system or provides new
functionality that doesn't exist right now in EBS.
Maybe you want to build a Mobile UI for EBS? Maybe you need a rich
dashboard with lots of interactive graphs? Maybe you need to build a system that brings together
data from both EBS as well as other sources of data?
In these cases OAF probably won't cut it, and ADF is probably the right choice for you.
After all ADF is what
Oracle used when we needed to build a new set of functionality for
our enterprise applications - the result is Fusion Applications that
are built from the ground up with Oracle ADF.
Does knowledge in OAF helps with ADF?
If you are already familiar with OAF, some concepts in ADF will be
easy for you to learn. For example OAF uses an older version of ADF
Business Components - so you'll be familiar with key concepts such
as Entity Objects and View Objects etc - although you'll have many new
features that you'll be able to leverage when using ADF 11g.
You'll also be familiar with the component approach to UI design
that is common to OAF and ADF - although ADF has a vastly richer set
of UI components and a much more visual approach for screen
development.
If you haven't seen how ADF development looks like yet, have a look
at this demo - hopefully it will show you why we think this is a
better development experience than we had in the past.
How do you do the integration between ADF and EBS?
If you just need "read only" access to EBS than you can use direct
access to the database using JDBC and potentially the AppsDataSource
(more on that component -https://blogs.oracle.com/stevenChan/entry/appsdatasource_jaas_ebs) and a demo is here.
If you also need to do update/insert/delete of if you need to invoke
more complex processes in EBS than you can use the service
interfaces EBS offers either with the built in integration
functionality in EBS through the Integrated SOA Gateway .
ADF makes it quite easy to build UIs on top of Web services too.
As far as security integration, today you can use the users/roles
defined in EBS to secure your ADF application using the EBS JAAS
solution as explained here.
[Update July 2011] - The EBS team just released Oracle E-Business Suite Java SDK version 2, which now also offer session management and other features.
To call an ADF from an EBS application - that's just a matter of
adding a menu option in EBS that calls out to the URL of your ADF
pages.
For smooth single-sign-on between the two application you should be
looking at Oracle Access Manager which is certified with both
platforms.
There is more work being done on integrating the two platforms at
Oracle - so expect more functionality to become available in future
versions.
If you are interested in exploring this area - Juan has several
blog entries that will show you some integration techniques.