Friday Jul 06, 2012

Building Extensions Using E-Business Suite SDK for Java

We’ve just released Version 2.0.1 of Oracle E-Business Suite SDK for Java.  This new version has several great enhancements added after I wrote about the first version of the SDK in 2010.  In addition to the AppsDataSource and Java Authentication and Authorization Service (JAAS) features that are in the first version, the Oracle E-Business Suite SDK for Java now provides:

  • Session management APIs, so you can share session information with Oracle E-Business Suite
  • Setup script for UNIX/Linux for AppsDataSource and JAAS on Oracle WebLogic Server
  • APIs for Message Dictionary, User Profiles, and NLS
  • Javadoc for the APIs (included with the patch)
  • Enhanced documentation included with Note 974949.1
Integration between custom apps and EBS

These features can be used with either Release 11i or Release 12. 


What's new in those references?

Note 974949.1 is the place to look for the latest information as we come out with new versions of the SDK.  The patch number changes for each release.  Version 2.0.1 is contained in Patch 13882058, which is for both Release 11i and Release 12.  Note 974949.1 includes the following topics:

  • Applying the latest patch
  • Using Oracle E-Business Suite Data Sources
  • Oracle E-Business Suite Implementation of Java Authentication and Authorization Service (JAAS)
  • Utilities
  • Error loggingSession management 
  • Message Dictionary
  • User profiles
  • Navigation to External Applications
  • Java EE Session Management Tutorial

For those of you using the SDK with Oracle ADF, besides some Oracle ADF-specific documentation in Note 974949.1, we also updated the ADF Integration FAQ as well.

EBS SDK for Java Use Cases

The uses of the Oracle E-Business Suite SDK for Java fall into two general scenarios for integrating external applications with Oracle E-Business Suite:

  1. Application sharing a session with Oracle E-Business Suite
  2. Independent application (not shared session)

With an independent application, the external application accesses Oracle E-Business  Suite data and server-side APIs, but it has a completely separate user interface. The external application may also launch pages from the Oracle E-Business Suite home page, but after the initial launch there is no further communication with the Oracle E-Business Suite user interface.

Shared session integration means that the external application uses an Oracle E-Business Suite session (ICX session), shares session context information with Oracle E-Business Suite, and accesses Oracle E-Business Suite data. The external application may also launch pages from the Oracle E-Business Suite home page, or regions or pages from the external application may be embedded as regions within Oracle Application Framework pages.

Both shared session applications and independent applications use the AppsDataSource feature of the Oracle E-Business Suite SDK for Java. Independent applications may also use the Java Authentication and Authorization (JAAS) and logging features of the SDK.

Applications that are sharing the Oracle E-Business Suite session use the session management feature (instead of the JAAS feature), and they may also use the logging, profiles, and Message Dictionary features of the SDK.  The session management APIs allow you to create, retrieve, validate and cancel an Oracle E-Business Suite session (ICX session) from your external application.  Session information and context can travel back and forth between Oracle E-Business Suite and your application, allowing you to share session context information across applications.

Note: Generally you would use the Java Authentication and Authorization (JAAS) feature of the SDK or the session management feature, but not both together.

Send us your feedback

Since the Oracle E-Business Suite SDK for Java is still pretty new, we’d like to know about who is using it and what you are trying to do with it.  We’d like to get this type of information:

  • customer name and brief use case
  • configuration and technologies (Oracle WebLogic Server or OC4J, plain Java, ADF, SOA Suite, and so on)
  • project status (proof of concept, development, production)
  • any other feedback you have about the SDK

You can send me your feedback directly at Sara dot Woodhull at Oracle dot com, or you can leave it in the comments below.  Please keep in mind that we cannot answer support questions, so if you are having specific issues, please log a service request with Oracle Support.

Happy coding!

Related Articles

Monday May 07, 2012

Critical Patches when Upgrading EBS 11i to 12: New Report Available

One tedious part of upgrading from Release 11i to Release 12 just got a lot easier: identifying patches for the upgrade process itself.  These pre-install patches help you avoid certain upgrade script failures, upgrade performance issues, and data corruption and upgrade integrity issues.

The new Oracle E-Business Suite Pre-install Patches Report provides a single list of essential patches that you must apply in pre-install mode before upgrading from Release 11i to Release 12.1. This report serves as a single point of reference for upgrade-related patches that can ONLY be applied prior to running the main upgrade driver for Release 12.1. The report also includes links that take you directly to the patches you want to download.

Screenshot of Oracle E-Business Suite Pre-install Patch Report

This report is intended to be used by application DBAs and functional analysts at upgrade customers who are at the Release 12.1 upgrade planning stage. Applying the relevant pre-install patches prior to the Release 12.1 upgrade will improve the overall technical upgrade experience as well as reduce occurrences of data corruption where a pre-install fix already exists.

You can download the new Pre-install Patches Report here:

Future Changes

This new tool was produced by our hard-working EBS Release Management team, and they are actively seeking your feedback. Please feel free to share your experiences with it by posting a comment here. You can also request enhancements to this tool via the My Oracle Support Community mentioned in Note 1448102.1.

The team plans to update the report approximately once a month to identify any new Oracle E-Business Suite Release 12.1 pre-install patches that have been released since the prior version of the report. However, if there are no new pre-install patches in a particular month, the report will not be updated that month. The change log will provide additional details about the updates added in each version of the report and access to download previous versions of the report. While you are in your upgrade test cycle, we recommend that you check Note 1448102.1 regularly for updates, review each newly identified patch, select patches to apply following the guidelines in the Selection Recommendation section, and uptake those patches.

Related Articles

Tuesday May 01, 2012

EBS File Comparison Report Now Available

If your Oracle E-Business Suite customizations are still making you hesitate about upgrading from Release 11i to Release 12, we have another useful tool to help you along: the brand new EBS File Comparison Report. This new report joins the related EBS Seed Data Comparison Report and the EBS Data Model Comparison Report in our collection of handy upgrade comparison reports.

You can download the new file comparison report here:

You can download its companion reports here:

File Comparison Report Contents

The new report provides detailed information about what files were added, removed, or stubbed (made inactive) during changes between Releases and 12.1.3 of Oracle E-Business Suite. For text-based files such as .xml files, you can drill down into the files to see the actual changes between the file versions. The File Comparison Report includes the following file types:

  • Forms (.fmb files)
  • Libraries (.pll files)
  • Reports (.rdf files)
  • Java (.class files)
  • Java Server Pages (.jsp files)
  • Oracle Application Framework (OAF) Pages (.xml files)
  • Oracle Application Framework (OAF) Personalizations (.xml files)
  • Workflow Definition (.wft files)
  • Workflow Business Event System Object Definitions (.wfx files)
  • BI Publisher (XML Publisher) Reports - Layout template formats
  • BI Publisher (XML Publisher) Reports - Data Definition formats

Using the File Comparison Report

One example of how you might use the File Comparison Report is for assessing upgrade impacts on your personalizations. Start by getting a list of your personalizations as described in “Upgrading Form Personalizations and OA Framework Personalizations from Oracle E-Business Suite Release 11i to 12.1” (Note 1292611.1).

Three categories of personalizations might be affected by upgrades. Here is how the File Comparison Report can help you with those:

  1. Personalizations shipped by product teams that you might have modified further: look at “Oracle Application Framework (OAF) Personalizations (.xml files)” to see which shipped personalizations have changed. You can drill in to see exactly what has changed for each affected personalization.
  2. OA Framework Personalizations where the shipped base page may have changed: look at “Oracle Application Framework (OAF) Pages (.xml files)” to see which shipped pages have changed. You can drill in to see exactly what has changed for each affected personalization. If a page you have personalized hasn’t changed between releases, you probably do not need to change your personalizations for the page in the new release.
  3. Oracle Forms Personalizations where the shipped form may have been removed: look at “Forms (.fmb files)”. Because these are binary files, you cannot see exactly what has changed for each form, but knowing what forms have been removed will still save you time in assessing what form personalizations can be retired.

Personalization assessment is just one example of how you can use the File Comparison Report. We expect you will find many ways to use it!

Your feedback is welcome

This new tool was produced by our hard-working EBS Release Management team, and they are actively seeking your feedback. Please feel free to share your experiences with it by posting a comment here. You can also request enhancements to this tool via the My Oracle Support Community mentioned in Note 1446430.1.

Related Articles

Wednesday Jan 13, 2010

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

simplified architecture diagram showing client - app tier - database tier

[March 1, 2010: Patch 8571001 also includes extended error logging routines for use with external Java EE programs.  Patch  8571001 hasn't changed, but Note 974949.1 has just been updated to include documentation for error logging, as well as some improvements based on feedback I've been getting.  Keep that feedback coming!]

Oracle Application Object Library recently added new standard Java datasource and Java Authentication and Authorization Service (JAAS) features to Oracle E-Business Suite in Patch 8571001. These features are meant for use with Java EE programs deployed in application servers on external nodes; that is, nodes other than those where Oracle E-Business Suite middle tier is installed. These are lightweight implementations that can be used on an external application server without needing to install an entire Oracle E-Business Suite instance on the application server machine.

These features can be used with either Release 11i or Release 12.  For details, see:


The AppsDataSource standard data source enables access to the Oracle E-Business Suite APPS database schema from external Java EE environments without sharing the APPS schema password. Since the APPS database password is typically changed frequently, using these data sources insulates such programs from having to change their authentication information. Using these data sources also helps prevent wide exposure of the APPS password.

Using these standard data sources lets you control access to Oracle E-Business Suite data at the APPS schema level. For example, you can use AppsDataSource with BPEL processes and Oracle Service Bus services in Oracle Fusion Middleware. Within Oracle E-Business Suite, the AppsDataSource is used to control APPS database access as part of the integration of Oracle E-Business Suite with Oracle Access Manager using Oracle E-Business Suite AccessGate.

When using the AppsDataSource feature, access to the APPS database is controlled using a dedicated Oracle E-Business Suite user name and password ("applications user", also known as an "FND user") instead of the APPS password. This allows centralized maintenance of the APPS password and provides additional controls on who can access the APPS account.

Java Authentication and Authorization Service (JAAS)

Oracle E-Business Suite contains a repository of application users (FND users) and their associated roles (authorization for access to certain functional areas of the product). If you are developing a custom or third-party Java EE application to integrate with Oracle E-Business Suite, and you want to use that existing repository of users and roles for authentication and authorization for your Java EE application, you can use the Oracle E-Business Suite implementation of Java Authentication and Authorization Service (JAAS). This feature is intended to secure an HTTP resource or piece of application functionality at the Oracle E-Business Suite user level.

Authenticating a Java application via JAAS

For example, suppose you want to build a Java EE application using Oracle Fusion Middleware to integrate with Oracle E-Business Suite data. You would use both AppsDataSource and JAAS so you can secure who has access to your application functionality based on usernames and roles already in Oracle E-Business Suite.

The following diagram shows the relationship between the AppsDataSource and JAAS features and how users and roles are used in the JAAS and AppsDataSource setups:

Relationship between AppsDataSource and JAAS features and how users and roles are used in their setups

  • There are two different users, A (with Specialist role) and B (with Manager role), accessing a protected custom application (through a URL) on an external application server.
  • The custom application has a web.xml file that allows access for the Manager role as part of the JAAS setup.
  • User A does not have the Manager role, so is not allowed access to the custom application.
  • The external application server has an AppsDataSource set up to allow access to the Oracle E-Business Suite database using the dedicated AppsDataSource user that has the special UMX|APPS_SCHEMA_CONNECT role assigned to the dedicated user.
  • A repository of users and roles resides inside the Oracle E-Business Suite database.

Knowledge Document Topics

The Knowledge" Document 974949.1: "AppsDataSource, Java Authentication and Authorization Service, and Utilities for Oracle E-Business Suite" includes the following topics:

  • Applying Patch 8571001
  • Using Oracle E-Business Suite Data Sources
    • Configuring AppsDataSource on an OC4J Instance and on an Oracle WebLogic Server (WLS) Instance
    • Using AppsDataSource Directly from Java Programs
  • Oracle E-Business Suite Implementation of Java Authentication and Authorization Service (JAAS)
    • JAAS configuration for OC4J and Oracle WebLogic Server
    • Global Access for All Authenticated Oracle E-Business Suite Users
  • Utilities

Lightweight Tools for Java EE Applications

The lightweight implementations of AppsDataSource and JAAS are useful tools for easier integration of custom Java EE applications with Oracle E-Business Suite.

We'll be adding more information to the document about additional Oracle Application Object Library Java features in the coming several months, so check Knowledge" Document 974949.1 every so often. Happy coding!

Related Articles

Thursday Jun 28, 2007

OA Framework or ADF?

[Editor Update 4/22/2008:  A new whitepaper from the Oracle Appliations Technology Group comparing OAF and ADF is now available.  See this article for more details.]

[July 9, 2007 - see "One more thing to consider", below - Sara]

A question I've been getting recently is "Should I use OA Framework (OAF) or the Oracle Application Development Framework (ADF) to develop extensions to E-Business Suite (EBS) products?  I know we are moving away from Oracle Forms, and I want to 'future-proof' my extensions as much as possible."

With all the buzz about Fusion (both the coming Fusion Applications and the current Fusion Middleware technology stack) and JDeveloper with ADF, it's hard not to get excited about using all the features of the latest versions of Fusion Middleware.  So would we recommend using OAF or ADF?

My general advice is to stick with OAF so long as you are working with the E-Business Suite, and wait until you move to the Fusion Applications before moving to ADF.  OAF is the development platform for the HTML EBS applications, so it makes sense to use the same development platform for custom extensions to the EBS applications.  OAF provides you with automatic, seamless integration with the EBS applications in terms of EBS menus, security, look and feel, flexfields, personalization, attachments, and so on.  These integrated EBS features aren't part of ADF.

Another part of the integrated OAF/EBS technology stack is Oracle Application Object Library (AOL), which provides many services to OAF, including security, messages, flexfields, and so on.  Developers using OAF also use the OA Extension, which is a JDeveloper add-in bundled with JDeveloper in specific EBS development environment patches.  OA Extension is an extension to JDeveloper 9.0.3 for EBS 11i, and to JDeveloper 10g (10.1.3) for EBS 12.  AOL and OA Extension are not parts of the ADF technology stack for the Fusion Applications.

A terminology note: "ADF UIX" is the same UIX that is used by OAF as the HTML UI display component.  Developers using OAF use ADF UIX indirectly by using OAF components.  ADF UIX is not part of the "ADF" Fusion Applications technology stack that I am discussing here. "ADF Faces" is the UI component of the ADF technology stack. 

Going It Alone

If you intend to build a completely standalone application that just happens to use the EBS tables, you can certainly use ADF, but you'd need to deal with things like security, look and feel, and so on yourself.  You also wouldn't have the personalization, flexfields, attachments, or other infrastructure that OAF provides.

Using ADF to build integrated extensions to the E-Biz Suite is an untested combination, so you won't find much experienced help available if you take that path.  Also, ADF isn't certified for use with E-Business Suite (EBS), and there are no plans for this certification.  ADF is a standalone development tool and is expected to be a key part of the Fusion Applications platform.  It's a very different technology stack from OAF, other than the business components.  Business Components for Java (BC4J) becomes ADF Business Components (ADF BC). 

Your Business Logic Moves Forward

Business logic that you create now with BC4J with the OAF technology stack will be transferable to the Fusion Applications technology stack later (possibly with minor changes).  If you follow our OAF coding standards, build your pages declaratively as much as possible, and avoid putting much code into controllers if you can, you'll have a much easier time moving to Fusion later.  All your business logic, validation, and so on should be in your BC4J objects.

Technology Directions

One further note: it's part of the general EBS Applications Technology and OAF direction (as part of Applications Unlimited), that we want to bring as much "Fusion technology" into the EBS applications as possible in our ongoing releases.  So over time, the technology stack gap will likely get smaller, and customers will get to use some of the newer technology within the E-Biz Suite until they are ready to move to the Fusion Applications. 

One example of this direction is that we now use JDeveloper 10g (10.1.3) for Release 12, instead of JDeveloper 9.0.3, which is used with Release 11.5.10.  So customers can now take advantage of new JDeveloper 10g features such as a much better Java coding/editing environment.  JDeveloper 10.1.3 can also dynamically recognize which files are in your path for a project.  One of my correspondents thinks that feature alone is a good reason to use 10.1.3!

Happy extending!

[July 9, 2007 - One more thing to consider: how big is the project?  If you are embarking on small extensions, a few pages here and there that you want to integrate into the existing applications, it's better to use the existing tool for that product line (EBS, Peoplesoft, etc.).  If you are building entirely new, monolithic applications (large applications with many pages),  where seamless integration with the current application pages isn't so important, you may want to use ADF (with ADF BC and ADF Faces).  Then you won't need to convert your custom applications when you move to the Fusion Applications later.]


Tuesday Apr 10, 2007

Getting Personal with OA Framework Pages

I often receive questions similar to the following, regarding personalization of E-Business Suite (EBS) HTML-based pages:

"How can we quickly determine if particular E-Biz pages support personalizations?"

First of all, I assume we're talking about the Oracle Application Framework (OAF) Administrator personalization, not Personalized Views (Saved Searches).

All pages built using OA Framework are personalizable by default--the page developer has to do something specific to make the page be non-personalizable.  One thing a developer can do to make a page (usually just a region or field) non-personalizable is to set a specific property to false during development.  The other is to create regions or fields programmatically (so they don't exist in the page definition that is stored for using with personalizations).  These are generally the exception cases.

Some HTML Products Don't Support OAF Personalization

In 11.5.10 (11i), many E-Business Suite CRM products and some other products were built using a different technology stack (JTT/JTF), so they couldn't use OAF personalization.  In EBS Release 12, most of these have been rebuilt using OAF. 

EBS Business Intelligence products have their own version of personalization, and they do not use the OA Framework feature even though they are built with OAF.  Business Intelligence products have somewhat different implementations of their personalization depending on whether you are looking at a dashboard or a report page.  But the way to tell if it's a BI page is to look in the upper corners.  If you see an Actions dropdown, it's a BI page.

BI Page screenshot:

But Which Ones Are Built Using OA Framework?

Sometimes people have trouble telling which pages are created using OA Framework.  Here are several ways I use to tell if a page is built using OAF:

The best and easiest way I know of is to look for "OA.jsp" in the URL of the page.

Is OA.jsp in the URL screenshot:

You can also use the About this Page feature to confirm if a page is an OA Framework page.  If you don't have it already, you'll need the FND: Diagnostics profile option set to Yes (you may need your administrator to set this).  Go to a product page (I'm using iProcurement here) and click on the About this Page link:

About this page screenshot:

If you see that the first line of the page definition is "pageLayout", it's an OAF page.

Page definition starts with pageLayout screenshot:

Beyond looking at each page individually, you can use the About this Page feature to get a whole list of pages built with OAF, all at once.  Since you're already there, simply go look at the page context (menu), as follows:

About this Page > Page Context > Menu (Expand All)

Most of the functions in the menu display a URL, so you can see at a glance which ones start with "OA.jsp":

Lots of OA Framework Pages screenshot:

Another way to check for a single page is to use View Page Source in the browser.  Early in the source, you will see the following for an OAF page:


You can also list the pages (and more) using the JDR_UTILS package.  It is described in the "Inspecting the MDS Repository Content" chapter of the Oracle Application Framework Developer's Guide for your release version (available on MetaLink).

Finally, you can set the "Personalize Self-Service Defn" profile option to Yes to allow personalization, and then look for the Personalize Page link on the top of each page.  Of course you can also use the link to see the personalization hierarchy page (or the context page if you are using 11.5.9 up to 11.5.10 CU1--it changed in 11.5.10 CU2).

Note that all of this applies to both Release 11.5.10 and Release 12 of the E-Business Suite.  It also applies to EBS 11.5.9 if you applied OAF 11.5.10 to it as part of a patch.

To learn more about OA Framework Personalization, see the Oracle Application Framework Personalization Guide in the Oracle Applications Online Documentation Library.

Here's an Extra Tip: Hidden Fields Between the Fields 

Some product teams build features into their pages that are hidden by default because they expect most customers won't use them.  These include extra fields for special purposes, hidden Additional Information regions containing descriptive flexfields, and so on.  We recommend to product teams that they explicitly document places in their applications where customers are expected to personalize the pages.  Check your product's documentation for such updates.  I know that iProcurement, at least, mentions such hidden fields directly in the text of their implementation manual.  I found one on page 2-17 of the Oracle iProcurement Implementation and Administration Guide, Release 12, Part No. B31402-01.  Also, the Oracle Workflow Administrator's Guide and Oracle Workflow User's Guide both have appendices highlighting some of the personalizations for Workflow pages that customers may be most interested in using.

Happy personalizing!




« July 2016