Friday Nov 30, 2012

ADF and Oracle E-Business Suite Integration Series Index

I'm creating this entry with the purpose of keeping one page that lists all the past and future entries on the series of integration of ADF with Oracle E-Business Suite, you can access all the articles and reference information that resides in other places too. Also this would the one link that I can reference while presenting about this topic. Here is the list of individual entries from the series: Bonus Material:

If you have any further questions about integrating Oracle ADF and E-Business Suite - please post them on the ADF discussion forum on OTN.

Tuesday Nov 20, 2012

Embedding ADF UI Components into OAF regions

Having finished the 2 Webcasts on ADF integration with Oracle E-Business Suite, Sara Woodhull, Principal Product Manager on the Oracle E-Business Suite Applications Technology team and I are going to continue adding entries to the series on this topic, trying to cover as many use cases as possible. In this entry, Sara created an overview on how Oracle ADF pages can be embedded into an Oracle Application Framework region. This is a very interesting approach that will enable those of you who are exploring ADF as a technology stack to enhanced some of the Oracle E-Business Suite flows and leverage your skill on Oracle Application Framework (OAF). In upcoming entries we will start unveiling the internals needed to achieved session sharing between the regions. Stay tuned for more entries and enjoy this new post.  

Document Scope

This document only covers information that is specific to embedding an Oracle ADF page in an Oracle Application Framework–based page. It assumes knowledge of Oracle ADF and Oracle Application Framework development. It also assumes knowledge of the material in My Oracle Support Note 974949.1, “Oracle E-Business Suite SDK for Java” and My Oracle Support Note 1296491.1, "FAQ for Integration of Oracle E-Business Suite and Oracle Application Development Framework (ADF) Applications".

Prerequisite Patch

Download Patch 12726556:R12.FND.B from My Oracle Support and install it. The implementation described below requires Patch 12726556:R12.FND.B to provide the accessors for the ADF page. This patch is required in addition to the Oracle E-Business Suite SDK for Java patch described in My Oracle Support Note 974949.1.

Development Environments

You need two different JDeveloper environments: Oracle ADF and OA Framework.

Oracle ADF Development Environment

You build your Oracle ADF page using JDeveloper 11g. You should use JDeveloper 11g R1 (the latest is 11.1.1.6.0) if you need to use other products in the Oracle Fusion Middleware Stack, such as Oracle WebCenter, Oracle SOA Suite, or BI. You should use JDeveloper 11g R2 (the latest is 11.1.2.3.0) if you do not need other Oracle Fusion Middleware products. JDeveloper 11g R2 is an Oracle ADF-specific release that supports the latest Java EE standards and has various core improvements.

Oracle Application Framework Development Environment

Build your OA Framework page using a development environment corresponding to your Oracle E-Business Suite version. You must use Release 12.1.2 or later because the rich content container was introduced in Release 12.1.2. See “OA Framework - How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12.x” (My Oracle Support Doc ID 416708.1).

Building your Oracle ADF Page

Typically you build your ADF page using the session management feature of the Oracle E-Business Suite SDK for Java as described in My Oracle Support Note 974949.1. Also see My Oracle Support Note 1296491.1, "FAQ for Integration of Oracle E-Business Suite and Oracle Application Development Framework (ADF) Applications".

Building an ADF Page with the Hierarchy Viewer

If you are using the ADF hierarchy viewer, you should set up the structure and settings of the ADF page as follows or the hierarchy viewer may not fill the entire area it is supposed to fill (especially a problem in Firefox).

  1. Create a stretchable component as the parent component for the hierarchy viewer, such as af:panelStretchLayout (underneath the af:form component in the structure). Use af:panelStretchLayout for Oracle ADF 11.1.1.6 and earlier. For later versions of Oracle ADF, use af:panelGridLayout.

  2. Create your hierarchy viewer component inside the stretchable component.

Create Function in Oracle E-Business Suite Instance

In your Oracle E-Business Suite instance, create a function for your ADF page with the following parameters. You can use either the Functions window in the System Administrator responsibility or the Functions page in the Functional Administrator responsibility.

  1. Function

  2. Function Name

  3. Type=External ADF Function (ADFX)

  4. HTML Call=GWY.jsp?targetPage=faces/<your ADF page>

    ">You must also add your function to an Oracle E-Business Suite menu or permission set and set up function security or role-based access control (RBAC) so that the user has authorization to access the function. If you do not want the function to appear on the navigation menu, add the function without a menu prompt. See the Oracle E-Business Suite System Administrator's Guide Documentation Set for more information.

    Testing the Function from the Oracle E-Business Suite Home Page

    It’s a good idea to test launching your ADF page from the Oracle E-Business Suite Home Page. Add your function to the navigation menu for your responsibility with a prompt and try launching it. If your ADF page expects parameters from the surrounding page, those might not be available, however.

    Setting up the Oracle Application Framework Rich Container

    Once you have built your Oracle ADF 11g page, you need to embed it in your Oracle Application Framework page.

    Create Rich Content Container in your OA Framework JDeveloper environment

    In the OA Extension Structure pane for your OAF page, select the region where you want to add the rich content, and add a richContainer item to the region.

    Set the following properties on the richContainer item:

    1. id

    2. Content Type=Others (for Release 12.1.3. This property value may change in a future release.)

    3. Destination Function=[function code]

    4. Width (in pixels or percent, such as 100%)

    5. Height (in pixels)

    6. Parameters=[any parameters your Oracle ADF page is expecting to receive from the Oracle Application Framework page]

      Parameters

      In the Parameters property, specify parameters that will be passed to the embedded content as a list of comma-separated, name-value pairs. Dynamic parameters may be specified as paramName={@viewAttr}.

      Dynamic Rich Content Container Properties

      If you want your rich content container to display a different Oracle ADF page depending on other information, you would set up a different function for each different Oracle ADF page. You would then set the Destination Function and Parameters properties programmatically, instead of setting them in the Property Inspector. In the processRequest() method of your Oracle Application Framework page controller, where OAFRichContentPage is the ID of your richContainer item and the parameters are whatever parameters your ADF page expects, your code might look similar to this code fragment:

      OARichContainerBean richBean = (OARichContainerBean) webBean.findChildRecursive("OAFRichContentPage");
          if(richBean != null){
              if(isFirstCondition){
                  richBean.setFunctionName("ADF_EXAMPLE_EMBEDDED");      
              richBean.setParameters("ParamLoginPersonId="+loginPersonId
                +"&ParamPersonId="+personId+"&ParamUserId="+userId
                +"&ParamRespId="+respId+"&ParamRespApplId="+respApplId
                +"&ParamFromOA=Y"+"&ParamSecurityGroupId="+securityGroupId);
              }
          else if(isSecondCondition){
               richBean.setFunctionName("ADF_EXAMPLE_OTHER_FUNCTION");
               richBean.setParameters("ParamLoginPersonId="
                 +loginPersonId+"&ParamPersonId="+personId
                 +"&ParamUserId="+userId+"&ParamRespId="+respId
                 +"&ParamRespApplId="+respApplId
                 +"&ParamFromOA=Y"
                 +"&ParamSecurityGroupId="+securityGroupId);
                }
          } 

Tuesday Oct 30, 2012

Using Oracle ADF with Oracle E-Business Suite Webcast - Nov 2

If you are using Oracle ADF with Oracle E-Business Suite or ar thinking on embarking on a project with these two technologies - make sure you mark your calendar for this coming Friday, November 2nd at 8.00 a.m. PST. Sara Woodhull, Siva Puthurkattil from Lake County Illinois and I will be having a re-run of the session we delivered at Oracle OpenWorld, but this time on a Webcast.

All the information on how to register and access the dial-in information is available from the Oracle E-Business Suite ATG team blog on the following link: https://blogs.oracle.com/stevenChan/entry/atg_live_webcast_november_2nd

Don't miss this opportunity to learn! 

Tuesday Oct 09, 2012

Couldn't Make It to Oracle OpenWorld? Fear Not! Upcoming: Using the Oracle E-Business Suite SDK for Java in ADF Applications Webcast

For those of you who didn't make it at Oracle OpenWorld, we have good news. The ADF and E-Business Suite teams are well aware that various ADF and Oracle E-Business Suite customers are looking for guidance on how to work with the Oracle E-Business Suite SDK for Java in ADF applications: its capabilities, limitations, etc.

As some of you might know, Sara Woodhull from the Applications Technology Group (ATG) in Oracle E-Business Suite and I delivered a session on the topic at Oracle OpenWorld last week. The good news is that we are already planning to deliver this session again as a webcast, tentatively scheduled for Nov. 2, 2012. 

Stay tuned to this and the Oracle E-Business Suite Technology Stack blog for upcoming information about the webcast.

Tuesday Sep 25, 2012

E-Business Suite, ADF, Mobile and Eclipse: Oracle OpenWorld is Here!

Oracle OpenWorld 2012 is around the corner! Lots of exciting news and content awaits for all attendees next week - the theme of my participation: ADF and E-Business Suite integration, together with ADF development in Oracle Enterprise Eclipse Package and JDeveloper.

If you are coming to San Francisco and are a reader of this blog, you might be wondering what I'll be doing next week and also what should you attend? So, the following is the list of activities where I'll be participating or that I recommend you should not miss:

First and foremost:
On Thursday Oct. 4: Using Oracle ADF with Oracle E-Business Suite: The Full Integration View.  11.15 a.m - Moscone West 3003: 
This is an emerging hot topic among both ADF and Oracle E-Business Suite Customers. In this session I'll be doing a presentation with Sara Woodhull from the Applications Technology Group (ATG) in Oracle E-Business Suite and Siva Puthurkattil from Lake County, Illinois.

  • Sunday, Sept. 30: 

I'll be hanging out at the ADF EMG User Day, learning directly from our users and Gurus.

  • Monday, Oct. 1:
  • Tuesday, Oct. 2:
    • I'll be at the Oracle Enterprise Pack for Eclipse demo booth showing some nice demos on ADF development with Eclipse.
  • Wednesday, Oct. 3:
  • Thursday, Oct. 4:
All the Oracle OpenWorld related sessions can be found here:
E-Business Suite: http://goo.gl/5NqMd

Friday Jun 29, 2012

Adding a Role to a Responsibility for Use with the Oracle E-Business Suite SDK for Java JAAS Implementation

This new post on the series of ADF integration with Oracle E-Business Suite, was written by Sara Woodhull, Principal Product Manager on the Oracle E-Business Suite Applications Technology team.

Based on a previous post of the series, a reader asked what to do if you have an existing responsibility assigned to lots of users, instead of the UMX role that the Oracle E-Business Suite SDK for Java JAAS Implementation requires.  It would be tedious to assign a new role directly to hundreds or thousands of users, so naturally we’d like to avoid that if possible.

Most people don’t know this, but it’s possible to assign a UMX role to a responsibility in Oracle User Management. Once you do that, users with your responsibility will all inherit your UMX role automatically. You can then proceed with using your UMX role with JAAS for ADF.

Here is how to assign a UMX role to a responsibility in Oracle E-Business Suite:

  1. In the User Management responsibility, go to the Roles & Role Inheritance page.
  2. Search for the responsibility you want.
  3. In the search results table, click the “View In Hierarchy” icon for your responsibility. Note that the codes for responsibilities start with FND_RESP, while the codes for roles start with UMX.
  4. In the Role Inheritance Hierarchy, click on the Add Node icon (green plus + ) for your responsibility.
  5. Now you will see what appears to be the same page again but it is a little different (note the text at the top telling you the role you select will be inherited…).  This time, either search or expand nodes until you find your custom UMX role.  Use the Quick Select to choose that role.
  6. You will be sent back to the first screen, where you should see a confirmation message at the top. On the same page you can verify that the custom UMX role is underneath the responsibility.  You may need to expand one or more nodes to see the UMX role under the responsibility. You might see some other roles that have been inherited as well.
  7. Now that your users have the UMX role, you can test that the UMX role is being passed through to your ADF application through the Oracle E-Business Suite SDK for Java JAAS feature.

Happy coding!

Wednesday May 02, 2012

Debugging ADF Security in JDeveloper 11g

A quick post that can be useful when using ADF security in your application and you use external security providers like Oracle Access Manager, third party LDAP servers or even the Oracle E-Business Suite as shown in a previous post.

Many of you how are ADF developer might already now this first tip. Nonetheless, there is always the chance that it can help someone out there; the following command will enable debugging output to go directly into the server console within JDeveloper, it can be used for any ADF application: In your ViewController project properties, under run/debug/profile options edit the existing deployment profile –> inside Lunch Setting –> under Java Options add

-Djps.auth.debug=true -Djps.auth.debug.verbose=true

image

The second tip, is associated in particular with debugging security, it will provide information on user credentials and roles every time you interact with the different UI elements from your application: Under your <DOMAIN_HOME>\bin\ open the file setDomainEnv.cmd (sh) –> then add the following line:

set JAVA_OPTIONS=%JAVA_OPTIONS% -Djps.auth.debug=true -Djps.auth.debug.verbose=true

securityDebugging

The above output is what you should obtain from an ADF application connecting to Oracle E-Business Suite.

Securing ADF Applications Using the Oracle E-Business Suite SDK JAAS Implementation

In the previous post on the series of ADF integration with Oracle E-Business Suite,  I covered how to setup and use the Oracle E-Business Suite SDK for Java to create a data source for accessing Oracle E-Business Suite data from our ADF applications in read-only form.

In this post we are going to explore another feature of the Oracle E-Business Suite SDK for Java, the implementation of JAAS (Java Authentication and Authorization Services). Using this implementation we can use E-Business Suite users and roles to restrict access to specific parts of external Java EE applications. You can find a very nice explanation about this feature on the following post from the Oracle E-Business Suite Technology Team blog.

You will need to setup your runtime environment (WebLogic Server) and afterwards configure you ADF application to point to the right resources. Both steps are well explained in My Oracle Support Knowledge Document 974949.1. In this article I will provide a high level overview of the steps that are provided on the document, highlighting areas where it’s easy to make mistakes and hopefully these can help you to get everything working successfully.

Setup

First you need to set up the AppsDataSource on your WebLogic Server server in order establish the communication channel with the Oracle E-Business Suite instance. Follow the instructions from the document in the section Configuring AppsDataSource and Configuring AppsDataSource on Oracle WebLogic Server (WLS):

DataSource

The second step is to create and setup a default realm on WebLogic that enables users and roles provisioning directly from E-Business Suite. In E-Business Suite users and roles are stored in specific database tables, so the new realm will make use of the AppsDataSource defined on the first step. All of the steps are described on the note in the section: JAAS Configuration for Oracle WebLogic Server 10.3.5.0. When setting the realm you need to pay attention to the following steps; if not executed correctly they could cause problems later on:

  • External Authenticator: By default, WebLogic server doesn’t provide the external authenticator which is used to authenticate against E-Business Suite. During the AppDataSource setup you are going to use the fndtext.jar that comes with the patch from My Oracle Support, and you recompile it using the following command:

java -classpath /tmp/mysrc:$CLASSPATH -DMJF=/tmp/mysrc/fndext.jar -Dfiles=/tmp/mysrc weblogic.management.commo.WebLogicMBeanMaker

If the command is executed correctly and doesn’t throw any errors, on creating the new realm you will be able to select ExternalAuthenticator from the list of authentication providers.

  • DataSource: Another area where you  need to be careful  is at the time of specifying which datasource to use for the realm. Make sure the JNDI name that you have given the your AppsDataSource matches the one to be used by the realm.

image

After completing all the steps you should have 2 realms on your WLS, having the newest one as the default one.

realm

ADF Application

An interesting aspect of the integration is that you can leverage ADF Security to use the E-Business Suite JAAS implementation without manually editing configuration files as is the case with Java EE applications.

Please be clear that all the E-Business Suite roles to be used in the ADF application need to be defined as Enterprise Roles. Also, you do not need to create users for the application given that all them would come from Oracle E-Business Suite. However, you could define application-specific roles, but those roles need to map one of the enterprise roles.

When you are ready to deploy make sure you uncheck all the options related to users and groups. You don’t need those.

deployment

Now your application should be working and authenticating against E-Business Suite.

Here is a video that shows an ADF Application using the E-Business Suite SDK for Java JAAS implementation.

Securing ADF Application using the JAAS Implementation of the Oracle E-Business Suite SDK for Java

Related Articles:
AppsDataSource and Java Authentication and Authorization Service for Oracle E-Business Suite

Friday Mar 09, 2012

Using the Oracle E-Business Suite SDK for Java on ADF Applications - The AppsDataSource

In my previous post we covered how to create an ADF UI that displays data from the EBS database in read-only form. In this article we will explore how you could use the Oracle E-Business Suite SDK AppsDataSource to enable access to the data from Oracle E-Business Suite to the ADF applications deployed on WLS.

The following sample uses the Oracle E-Business Suite database Vision Demo that is available from the EBS installation media.

Creating the E-Business Suite data source in WLS

The first step that we need to do is to create a data source that will be in charge of connecting the ADF applications with the E-Business suite database schema.

The E-Business Suite team has a Java SDK that has been available for some time now. Among its components are the AppsDataSource and AppsXADataSource which we can be use to enable access to the EBS APPS database schema through a much cleaner approach.

The instructions to access the Oracle E-Business Suite SDK for Java and to set up the AppsDataSource on WLS are well documented on My Oracle Support Knowledge Document 974949.1.

Once you are finished, you will have a new data source defined on WLS.

image

Setting up the data source  on your ADF application and deploying it to WLS

In order to make use of the data source, we need to edit the configuration of the Application Module so instead of using a JDBC URL it uses a the JDBC Data Source in WLS.

image

Now, before deploying the application to the WLS Server we need to make sure the EAR file doesn’t include direct reference to the project’s DB connection. For that we uncheck the option on the application deployment profile options.

DeploymentProfile

And with that we can deploy and now our application will use AppsDataSource from the EBS SDK for Java to access the DB. This way E-Business Suite administrators don’t need to give away the APPS password to development teams, nor the ADF application have a reference to it.

Here a video that summarizes the entry.

Using Oracle E-Business Suite SDK for Java AppsDataSource on ADF

Friday Mar 02, 2012

ADF and Oracle E-Business Suite Integration Series: Displaying Read-Only EBS data on iPad

A quick extension to my previous post that presents some of the new multi-touch gesture support for iPad added in the new JDeveloper PS5 (11.1.1.6.0) release.

Based on my previous demo,  the video shows you the real end user interaction when the same ADF application is opened from an iPad device. As an ADF developer you get these really cool features out-of-the-box. Here you have a very nice approach to build a simple and quick, mobile report based on E-Business Suite data, extending its current functionality.

Disclaimer: The following sample uses the Oracle E-Business Suite database Vision Demo which is available from the EBS installation media. Modifying the data directly could corrupt the E-Business Suite data information and it is strongly discouraged.

Displaying Read-Only Oracle E-Business Suite data on iPad

Thursday Mar 01, 2012

ADF and Oracle E-Business Suite Integration Series: Displaying Read-Only EBS data on ADF

It’s been a while since my last post, but it doesn’t mean that projects and new discoveries were not happening…let’s just say that blogging was slow, I hope to re-take it into my daily routine. Now let’s get in business!

One of the areas that I’ve been working for the past few months is exploring the various approaches in which E-Business Suite customers can start using ADF for implementing requirements like mobile interfaces, reporting, security, etc.  Through a series of entries, I’m going to cover these scenarios and hopefully get your feedback (YES, you the reader), on what additional use cases you would like to see covered in the future.

In this first article we are going to start from the basics, describing a simple, but yet very common use case: how can you display EBS data the Web 2.0 way using the ADF Faces Rich client components.  The use case here would be for example if you are looking to create report that uses data visualization and a nicer look and feel to present the data.

Disclaimer: In the following sample I’m using the Oracle E-Business Suite database Vision Demo which is available from the EBS installation media.

Part 1 – Accessing the Data

Oracle E-Business Suite provides its own security implementation and various ways to access the business data through APIs and interfaces that leverage its security model. These are the preferred ways to access EBS data, and we will explore some of them on future entries.

For this use case, we are going to access the database directly using the APPS user which has access to the entire database, which is one of the reasons why you should only access the EBS as read-only. Modifying the data directly could corrupt the E-Business Suite data information and it is strongly discouraged.

image

After I establish my connection to the database, I create a read-only view object that is based on a query to the database and I expose this data to the UI. Also within the view, I create a find by clause, based on a bind variable, to display the data filtering capabilities of ADF.

I can test my business model by executing the application module.

image

Part 2 – Creating the UI

Once I’ve tested my business services, I can create ADF UIs to display the data in a browser. For example, you can use the data visualization graphs to create interactive dashboards/reports, maps to display geographic data.  You can even create mobile-enable pages that support multi-gesture actions for devices such as the iPad.

image

You can download the sample application from here. I leave you with a video that shows you step-by-step how to implement the above application.

Oracle ADF - E -Business Suite Integration - Database Access

About

me
A blog that explores features, tips and tricks of ADF and JDeveloper by Juan Camilo Ruiz, Product Manager on the ADF and JDeveloper team
Follow me:
Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today