By Shay Shmeltzer-Oracle on May 04, 2012
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.