Shay Shmeltzer's Oracle Development Tools Tips

Can ADF be used with Oracle E-Business Suite / Siebel/ Peoplesoft

Shay Shmeltzer
Director of Product Management - Oracle

Update May-2011 - a little more up-to-date info on using ADF with EBS here.

Whenever I finish showing an ADF 11g demo to people who are working on enterprise applications like Oracle E-Business Suite or Peoplesoft or Siebel - the first question I get is "can we use ADF with our existing application".

Basically they would like to build new UIs on top of their existing systems - and leverage the cool new Ajax based functionality in ADF Faces.

The short answer is YES.

There are two ways of doing this.

One is just build an ADF application directly accessing the database underlying your application.

All you need is the DB connection info and an understanding of the underlying tables.

However one thing to note here is that Oracle EBS and other applications usually use roles when they are accessing the DB from UIs - and using the above approach you are not using the roles/security that are set in the applications.

(update 2010 - you can now use the EBS Datasource to do this - here is a bit more info on the JAAS for EBS solution)

So the more "correct" way of accessing these enterprise systems would be to use SOA - or basically access the applications through the official interfaces they expose. These would basically be web services that allow you to interact with the system using correct roles and security.

A very basic way of doing this from ADF is to use the Web Service Data Control - or just create a java class that access the Web Service and then expose it as a data control.

You can also of course bring in the full Oracle SOA Suite with its set of adapters into the picture.

Some other questions you might have are:
Is this recommended by Apps?

Yes it is one of the top ways they tell you to prepare for Fusion apps. See the "Highlight" section of this page.

Do you have samples/demos?

A newer sample using PSFT that also show mobile UIhere

Here's one for PeopleSoft.

Here's a how-to for Siebel.

Do you have customers doing this?

The answer is yes - we have several customers doing it (for example see Viewsonic story) and we also have Oracle products doing this (Siebel Self Service 8.1). Also see this document for more examples.

Where do I get more info?

Choose the link that match your application:

EBS - http://www.oracle.com/technetwork/middleware/index-098944.html

PSFT - http://www.oracle.com/technetwork/middleware/index-101014.html

Siebel - http://www.oracle.com/technetwork/middleware/index-095206.html

JD Edwards - http://www.oracle.com/technetwork/middleware/index-088030.html

Join the discussion

Comments ( 29 )
  • Pradip Thursday, August 14, 2008
    I have a question or two here.
    1. Doesnt it affect the overall performance of the application given that the UI access all the backend via web services.
    2. Doesnt it affect the transaction management . I feel that the now this would be completely 2 transactions and not one ie in in the user side and another in the server side.
  • shay Thursday, August 14, 2008
    1. Yes there is some overhead in using Web Services for operations. However this is a common practice now in many systems.
    I guess at the end of the day the question becomes how much interaction are you doing.
    The SOA approach probably lands itself to doing occasional access to the enterprise system.
    I wouldn't build an OLTP system that does all its db access on top of Web services.
    But if I build a new system (on my own DB) and from time to time I need to get some info from my enterprise application to integrate into my application - this is a valid approach.
    2. I'm not sure I completely understand your point. Generally, transactions are managed on the server side - you finish your business step and you commit - that's it.
  • Siva Sunday, October 10, 2010
    Hi Shay,
    Very Nice article indeed. I am not able to view the following Siebel section:
    Here's a how-to for Siebel.
    in the above page.
    Do you have any demo attached for it.can you please send the details.
    I could understand that it would be similar to peoplesoft demo from the ADF perspective right.
    For the first query from Pradip: Is there anyother new approach available or is it still valid to have webservices doing the operations incase there are many OLTP requests from the oracle ADF to an enterprise system based on Siebel.
    Please let me know your comments..
  • shay.shmeltzer Monday, October 11, 2010
    I updated the entry with the new URLs to the how-to after the OTN migration.
    Check them out now.
    Siebel now also offers a bunch of new REST based web services that you can use - and keep an eye open for the upcoming Oracle Application ToolKit - which adds wizards in JDeveloper to work with those services.
  • Steve Monday, October 11, 2010
    Generallly we recommend eBiz installed base users use OAF for their web-based UI development (even when based on custom schema objects) due to a lack of support out of the box for ADF using SSO and also for a lack of ADF of having an awareness of users and roles bound to the current session e.g. for auditing and security purposes.
    While acknowledging the fact that you may lose flex fields, personalisations etc if you go with ADF is this a good way to prepare for Fusion Apps and is now a good time to switch from a focus on OAF to a focus on ADF ?
  • shay.shmeltzer Tuesday, October 12, 2010
    There is a new solution that allows you to use the same users/roles as EBS in an ADF application - read more about the JAAS adaptor here:
  • Srinivas Wednesday, August 3, 2011


    is there a way in ADF to call/submit a concurrent program in eBiz ?

    Please let me know.



  • Shay Wednesday, August 3, 2011

    Srini - I'm not familiar with what is an eBiz concurrent program - but assuming it has some API that allows you to call it (either PL/SQL or Java) then you should be able to invoke it from an ADF application.

    If it needs to do batch processing you can use some batch engine like the ones in WLS or the Oracle Database, or you can use the SOA suite to do that.

  • Ara Wednesday, August 3, 2011

    Easiest way to invoke a concurrent program from ADF is to write a little PL/SQL wrapper and call that, or alternatively to invoke a workflow (if I remember correctly, Oracle Workflow has a Java API that you can call; if not, it certainly has a PL/SQL API).

  • Srinivas Wednesday, August 3, 2011

    Thank you Shay!

    Thank you Ara!



  • Ara Thursday, August 11, 2011

    I have been playing with Patch 9863609 ("Oracle E-Business Suite Development Kit for Java"), which includes the AppsDataSource and JAAS EBS plugin. My goal was to try to use it to secure my ADF applications using the EBS security model. However, at the beginning of Section 3 of the accompanying note (Metalink Doc ID 974949.1), it states "This feature is not intended for use with Oracle ADF 11g applications, because ADF applications use an ADF-specific JAAS-compliant security setup").

    Any clue to what this is referencing? And is there a "blessed" mechanism for securing ADF 11g applications using EBS R12 as the identity provider?


  • Shay Thursday, August 11, 2011


    The 974949.1 note on metalink is due for an update, it is a bit misleading.

    There was a small problem with using pipe "|" in user names/roles in the file that defines users/roles in WebLogic/JDeveloper (jazn-data.xml).

    This has been fixed in recent WebLogic versions.

    Right now JDeveloper still checks this in the code editor and flags it as an error (this will be fixed in the next JDev patch). The simple workaround is to edit that file outside of JDeveloper.

    Then you can use the EBS security with ADF without any issues.

  • Roop Tuesday, January 3, 2012


    I came across your forum post regarding invoking ADF from E-business suite.


    I have a very similar requirement

    1>User logs into Ebiz

    2>Clicks on a function menu

    3>On clicking the function user navigates to ADF application page.

    I have got some idea about how to link the ADF page to the OAF function menu. I plan to write code in the OAF page controller to redirect the navigation to the ADF url. I am also planning to encrypt the user id, role, session id etc and pass it in the url(i.e url rewriting).

    But I have no idea how to handle the session management on the ADF side.

    Can you please help me with this....I am totally lost.

    I am willing to try any approach, would appreciate any inputs on this.

    Thanks a lot


  • Shay Tuesday, January 10, 2012


    Right now there is no out-of-the-box feature that supports session sharing between the applications.

    For username/role you can use the EBS Java SDK support for JAAS to share the same user/role definition between ADF and EBS.

    Another option is to use Oracle Access Manager (OAM) to implement single-sign-on across both EBS and ADF.

  • William Tuesday, April 10, 2012


    i am interesting on detail how communication between adf and peoplesoft.

    1.How about communication on the signon peoplesoft pages? Can adf authenticate user and password from the peoplesoft?

    2.if i am creating personal data pages from adf,how about the authentication for user login? for example,if im hit personal data adf pages,it will be message/redirect error.

    Can you share ideas or example for this?


  • shay Tuesday, April 10, 2012


    ADF has a full security framework that will allow you to define user/roles and privileges.

    The repository of users/roles can be delegated to any LDAP repository or anything that that the WebLogic security system can work with.

    If you want to have one login that will work across a peoplesoft and an ADF application then looking into single-sign-on through Oracle Access Manager is probably the way to go. Google for "peoplesoft OAM 11g" for some more info.

  • William Wednesday, April 11, 2012

    Hi Shay,

    The reason im asking this,i want to try creating mobile peoplesoft application. So im creating new login pages on the adf. And when user clicking login button,i want to authenticate user login password into peoplesoft table. is there any other solution besides using OAM? because there will be another expenses to buy license OAM. Can we authenticate using peoplesoft signon function?

    Also,how to validating session in ADF?

    -If we are using OAM,we will get the new session from OAM. and how to validate this?

    -If we are not using OAM,How can we generate and validate the session?

  • Shay Wednesday, April 11, 2012

    William, I'm not too familiar with what API Peoplesoft exposes to do authentication - but assuming you can access it from Java then you should be able to use that from ADF to authenticate too.

    This might be a better question directed at the Peoplesoft group.

    Just as an example you can look at this video that shows how I built a mobile UI to PSFT using a web service interface - that WS uses a user/pass that you can pass to it from your ADF applicaiton:


  • guest Wednesday, May 30, 2012

    Hi Shay,

    I'm currently working as a PeopleSoft HCM technical developer. I would like to know the advantage of start learning Oracle ADF. How will it help me in my PeopleSoft career? I'm hearing that PeopleSoft will slowly get replaced by Oracle fusion in the future. I'm not sure if this is true.

    Thanks in advance for your response.


  • Shay Wednesday, May 30, 2012

    Tom - in the Fusion generation of the application JDeveloper and ADF were the

    tool and framework that were used to develop the application. So getting a

    headstart on learning these technologies today can better prepare you for the

    day when your organization will decide to move from PSFT to Fusion or if they

    decide to uptake parts of Fusion apps in parallel to running PSFT.

    Also there are things that ADF does that PeopleTools doesn't - for example

    building mobile interfaces or graphically rich dashboards - so you might want

    to consider learning ADF for building these type of UIs.

    For example see this: https://blogs.oracle.com/shay/entry/using_adf_with_peoplesoft_-_we

  • Tom Thursday, May 31, 2012

    Hi Shay,

    I'm pretty comfortable with core java, servlets and web services. Do I need to have a good understanding of JSF and EJB also before start learning ADF? Most of the ADF tutorials that I saw uses JSF and EJB.

    Thanks in advance for your response.


  • Shay Thursday, May 31, 2012

    You don't have to learn EJB - it all depends on how you access your data - most of the ADF applications out there actually use ADF Business Components which is not based on EJB.

    The ADF view and controller are based on JSF - so having some knowledge in JSF will be helpful, but note that with ADF you can do more with JSF and code less.

    At the end of the day I would say that if you have a basic knowledge of core Java and Web basics, the next step is to learn ADF itself - it will guide you in the direction of which other technologies you need to deepen your knowledge in.

  • guest Monday, August 20, 2012

    Hi Shay,

    i have Oracle report, the output of the report is in pdf format.

    The requirement is we need to call the concurrent program(of report) from adf and show the pdf output to the user on button click on adf page.

    Thanks in advance.

  • Shay Tuesday, August 28, 2012

    guest - You can open the URL to the report with a goLink or goButton and target a separate frame. Or you could use an inlineFrame component and set the URL for it to point to the URL for running the report.

  • Anshoo Mehra Friday, September 21, 2012

    Hey Shay - Thanks for this article and many more on ADF. I have become fan of your posts and videos -- keep up the great work.

    Q - I guess it will appear as repeat, but I am attempting again as I see responses given were in 2010 and hoping there might be better / easier routes now.

    We are on Oracle EBS 11.5.10, and approx 1-2 yrs away from R12.2. We have huge practice of OAF and we have been building extension, customizations using OAF from many year. We loved ADF capabilities and want to build new business functions ideally meant for EBS using ADF in place of OAF. Hence below questions -

    1. Is it possible now to build standalone ADF Applications hosted on Weblogic to be invoked from EBS Security Model, i.e. Menu >Function based security model. In essence we are expecting ADF standalone application to delegate security to be managed by EBS and once user login to EBS and has access to needed function, on launch of ADF page from there - ADF should not ask user again for Authentication and Authorization.

    2. Once the work is done on ADF page, if we can route user back to EBiz Suite Home Page that will be super awesome.

    If above are possibility and you can do video or written blog with detailed steps that will be great.

    Thanks in advance,


  • Shay Friday, September 21, 2012


    The answer to both your questions is yes you can!

    Have a look at the new EBS Java SDK that provides those capabilities.

    An updated entry on EBS and ADF integration is here:


    And you can also take a look at this collection of blog entries:


  • Ara Friday, September 21, 2012

    Anshoo, since you're on 11.5.10 you will need to build a piece that already comes with R12. In R12 there is a Jsp page called GWY.jsp that redirects your call to weblogic and (this is important) adds the encrypted ICX session cookie to the request. This allows for SSO. In 11.5.10 that JSP does not exist and you have to build it yourself.

    I suggest you do two things: 1) do a search on Oracle support to understand what GWY.jsp does and 2) download R12 and look for that page in the OA_HTML directory. Then you can customize it for your environment. This all strictly unsupported of course but relatively straightforward.

  • guest Thursday, July 18, 2013

    how to add propmt values and translate values in ADF mobile page from peoplsoft database?

  • guest Thursday, July 18, 2013

    guest - you'll need to do another WS call to get translated values.

    I would suggest having a java class as part of your application that gets those values once and store it in its memory - then you can expose that class as a data control and access those values.

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.