Oracle E-Business Suite 12i Architecture

Introduction

An Oracle E-Business Suite Release 12i is a system that uses components from various Oracle products.
These files are stored in a product structure, below we will see some of the top-level directories in the database and application server.
Depending on how you chose to install Oracle E-Business Suite, these product directories can be located on a single machine (1 node) or multiple machines  (multiple nodes).
Oracle E-Business Suite directory structure
  • The db/apps_st/datadirectory is located on the database node machine, and contains the system tablespaces, redo log files, data tablespaces, index tablespaces, and database files
  • The db/tech_st/11.1.0directory is located on the database node machine, and contains the ORACLE_HOME for the Oracle 11g database
  • The apps/apps_st/appl(APPL_TOP) directory contains the product directories and files for Oracle E-Business Suite
  • The apps/apps_st/comn(COMMON_TOP) directory contains Java classes, HTML pages, and other files and directories used by multiple products
  • The apps/tech_st/10.1.2directory contains the ORACLE_HOME used for the Oracle E-Business Suite technology stack tools components
  • The apps/tech_st/10.1.3directory contains the ORACLE_HOME used for the Oracle E-Business Suite technology stack Java components
 

Oracle E-Business Suite Environment

Oracle E-Business Suite makes extensive use of environment settings to find executable programs and other files essential to Oracle E-Business Suite.
These environment settings are set when you install Oracle E-Business Suite.
Many of the settings are set by information that you provide when running Rapid Install, while others have the same values across all installations.
Environment settings and their associated values are stored in environment files, which have a .env suffix in UNIX  or . cmd  in Windows.
Files and environment settings we will talk about the continuity of the blog.
Instance Home ($INST_TOP)
Oracle E-Business Suite Release 12i  introduces the concept of a directory to an Oracle E-Business Suite instance. This directory is referred to as Instance Home and denoted by the environment by the variable $INST_TOP.
Using an Instance Home, it also provides the ability to share applications and technology stack code between multiple instances for example, one a development instance and one test instance.  
Other benefits include support for read-only file systems and centralization of log files, these items among others will be covered in other blogs.
The basic structure of instance home is:
/inst/apps/, where APPS_BASE (which does not have or need a corresponding environment variable) is the highest level of the Oracle E-Business Suite installation and  the  is the highest level at which the applications context exists.
For example, the $INST_TOP setting can be /applmgr/inst/apps/test, where test is the context name.
All configuration files created by  AutoConfig are stored under  the Instance Home. This makes it easy to use a shared application filesystem.
 
Instance Home structure

Read-Only File Systems

One of the main benefits of moving to the new Instance Home model is that because AutoConfig no longer writes to directories APPL_TOP or ORACLE_HOME, both can be done on read-only file systems if necessary.

In earlier versions of Oracle E-Business Suite, the adpatch utility changed  $APPL_TOP/admin in a patching application.  Under the new template, $APPL_CONFIG_HOME/admin is used.

$APPL_CONFIG_HOME vai is equivalent to um value such as /u01/oracle/VIS/apps/apps_st/appl.

Important: In a shared file system environment, Oracle recommends that $INST_TOP should be located on a local disk and not on a shared resource, such as NFS, because of potential issues that store log files on shared resources.


Log Files

 

The advantage of employing the concept of an Instance Home is that log files can be centrally stored by an instance and therefore more easily managed.
The following diagram shows the directory structure used for log files in Release 12i, with some of the subdirectories used to sort the log files:
Log Files Structure

DATA Directory

The db/apps_st/data  directory stores the different file types used by the Oracle database. Rapid Install places the system, data, and index files in directories  with multiple file system mount points on the database machine. You can specify these mount points during installation.

COMN Directory

 The apps/apps_st/comn  (COMMON_TOP) contains files used by different Oracle E-Business Suite products, which can also be used with third-party products.
COMMON_TOP structure

ADMIN Directory

The admin directory, under the COMMON_TOP directory, is the default location for the concurrent manager log and output directories. When the concurrent managers run Oracle E-Business Suite reports, they write the log files and temporary files to the log subdirectory of the admin directory, and the output files to the out subdirectory of the admin directory.
You can change the location the concurrent managers write these files to, so that, for example, the log and output files are written to directories in each <PROD>_TOP directory.
This may be more desirable in terms of disk space management, or the need to avoid a possible performance bottleneck on a system that has a high concurrent processing throughput.
The install subdirectory of the admin directory contains scripts and log files used by Rapid Install. The scripts subdirectory of admin contains scripts used to start and stop services such as listeners and concurrent managers.

 

HTML Directory

The OA_HTML environment setting points to the html directory. The Oracle E-Business Suite HTML-based sign-on screen and Oracle HTML-based Applications HTML files are installed here.
The html directory also contains other files used by the HTML-based products, such as JavaServer Page (JSP) files, Java scripts, XML files, and style sheets.
Typically, the path will look like: <diskresource>/applmgr/apps/apps_st/comn/webapps/oacore/html.
Important: The META-INF and WEB-INF subdirectories were introduced in Release 12 to meet J2EE specifications.
 

JAVA Directory

Release 12 introduces some significant changes to the locations in which the various types of Java files are stored. Rapid Install installs all Oracle E-Business Suite class files in the COMMON_TOP/classes directory, pointed to by the $JAVA_TOP environment variable.
Zip and jar files are installed in the $COMMON_TOP/java/lib directory, pointed to by the $AF_JLIB environment variable (introduced with Release 12).
 The top-level Java directory, $COMMON_TOP/java, is pointed to by the $JAVA_BASE environment variable.

 

UTIL Directory

The util directory contains the third-party utilities licensed to use  with Oracle E-Business Suite. These include, for example, the Java Runtime Environment (JRE), Java Development Kit (JDK) and the Zip util.

 

The APPL  directory

Oracle E-Business Suite files are stored in the <dbname>APPL directory, which is generally known as the APPL_TOP directory.

 

APPL_TOP Directory Structure
The APPL_TOP directory contains:
  • The core technology files and directories.
  • The product files and directories (for all products).
  • The main Oracle E-Business Suite environment file, called <CONTEXT_NAME>.env on UNIX, and <CONTEXT_NAME>.cmdon Windows.
  • The consolidated environment file, called APPS<CONTEXT_NAME>.env on UNIX, and APPS<CONTEXT_NAME>.cmd on Windows.
Warning: Regardless of registration status, all Oracle E-Business Suite products are installed in the database and the file system. Do not attempt to remove files for any unregistered products.
Rapid Install installs a new APPL_TOP directory when you upgrade. Rapid Install does not delete any existing product files from earlier releases, but unloads new product files into a new apps/apps_st/appl directory tree.
Each APPL_TOP directory is associated with a single Oracle E-Business Suite database. If you install both a Vision Demo system and a test system, Rapid Install will lay down two file systems, one for each of these Oracle E-Business Suite systems.
 

Product Directory

Each product has its own subdirectory under APPL_TOP. Subdirectories are named according to the product’s default abbreviation, such as gl for Oracle General Ledger.
Within each product directory is a subdirectory that has the name using the Base Oracle E-Business Suite Release number, such as 12.0.0 for the initial release of 12. This directory contains the different subdirectories for the product files.

 

<PROD>_TOP Directory

The <APPL_TOP>/<prod>/<version> path is known as the product top directory (<PROD>_TOP), and its value is stored in the <PROD>_TOP environment variable.
For example, if APPL_TOP=/u01/prodapps, then the value contained in the AD_TOP environment variable is /u01/prodapps/ad/12.0.0, and the AD_TOP environment variable points to the <APPL_TOP>/ad/12.0.0 directory.
For the same APPL_TOP, the value of AU_TOP is /u01/prodapps/au/12.0.0, and the AU_TOP environment variable points to the <APPL_TOP>/au/12.0.0 directory. The same principle applies to all directories, apart for the admin directory.

 

Product Files

Each <PROD>_TOP directory, such as <APPL_TOP>/gl/12.0.0, contains subdirectories for product files. Product files include forms, report files, and files used to update the database.
To view the forms of data entry for Oracle General Ledger, for example, Oracle E-Business Suite accesses files in the subdirectory forms under directory 12.0.0.

 

APPL_TOP Directory Structure
Within each <PROD>_TOP directory, the product’s files are grouped into subdirectories according to file type and function. The next figure expands the inset to show the full directory structure for gl.
GL Structure Detail
The following table summarizes product subdirectories and the types of files each one may contain.

 

Subdirectory Name
Description
admin
The <PROD>_TOP/admin directory contains product-specific files used to upgrade each product. This is in distinction to the <APPL_TOP>/admin directory, which contains upgrade-related files for all products.
driver
Contains driver files (.drv files) used in upgrading.
import
Contains DataMerge files used to upgrade seed data.
odf
Contains object description files (.odf files) used to create tables and other database objects.
sql
Contains SQL*Plus scripts used to upgrade data, and .pkh, .pkb, and .pls scripts to create PL/SQL stored procedures.
bin
Contains concurrent programs, other C language programs and shell scripts for each product.
forms
Contains Oracle Forms generated runtime (.fmx) files (Oracle Forms form files).
help
Contains the online help source files. Within this directory are subdirectories for each language installed.
html
Contains HTML, JavaScript, and JavaServer Page (JSP) files, primarily for HTML-based Applications products.
include
Contains C language header (.h) files that my be linked with files in the lib directory. Not all products require this directory.
java
Contains JAR files (Java Archive files) and Java dependency files. Copies of JAR files are also located in the $AF_JLIB directory.
lib
Contains files used to relink concurrent programs with the Oracle server libraries. These files include:
·       object files (.o on UNIX, .OBJ on Windows), with compiled code specific to one of the product’s programs.
·       library files (.a on UNIX, various including .DLL on Windows), with compiled code common to the product’s programs.
make files (.mk) that specify how to create executables from object files and library files.
log and out
Contains output files for concurrent programs:
·       .mgr (master log file for concurrent manager)
·       .req (log file for a concurrent process)

Note that log and out subdirectories under a product directory are not used if you choose to set up a common directory for log and output files (FND_TOP is the only exception to this).
media
Contains .gif files used in the display of text and graphics on the desktop client.
mesg
Concurrent programs also print messages in the log and output files. This directory contains the .msb files (binary message files used at runtime), and language-specific message files (such as a US.msb file for American English and a D.msb file for German). The files contain the forms messages that are displayed at the bottom of the screen or in popup windows.
patch
Updates to the data or data model utilize this directory to store the patch files.
reports
Contains Oracle Reports platform-specific rdf binary report files for each product. Reports for each language are stored in subdirectories of the reports directory.
resource
Contains .pll files (PL/SQL library files for Oracle Forms), which, like the plsql directory files, are later copied to AU_TOP.
sql
Contains .sql files (SQL*Plus scripts) for concurrent processing.

 

 

Language Files

When you install Oracle E-Business Suite in a language other than American English, each product tree includes directories that use the relevant NLS language code. These directories hold translated data, forms, and message files.
For example, the language directory named D designates German. The data loader files in the D subdirectory of the admin directory contain the German translation of the product seed data.
The US subdirectory in the forms directory contains Oracle Forms forms in American English. The D directory in the forms directory contains the same forms, translated into German. However, the mesg directory contains message files in both American English and German.

 

Core Technology Directory

 

The administrator, ad, au, and FND directories are the central directories of technology.

 

The admin directory

This directory and its subdirectories contain files and scripts used by AD during the upgrade and maintenance processes.
These files and scripts include:
  • The adovars.env environment file, which defines certain file and directory locations
  • Scripts run during the upgrade
  • <SID>/log and <SID>/out directories for upgrade, log, and output files respectively
  • A <SID>/restart directory where AD programs create restart files
 

The ad (Applications DBA) directory

This directory and its subdirectories contains installation and maintenance utilities, including:
  • AD Administration (adadmin)
  • AutoConfig (adconfig.sh)

 

The au (Applications Utilities) directory

This directory and its subdirectories contain product files that are consolidated in one place for optimal processing. These files include:
  • PL/SQL libraries used by Oracle Forms, in the resource subdirectory
  • Oracle Forms source files, in the forms subdirectory
  • A copy of all Java files used when regenerating the desktop client JAR files, in the java subdirectory
  • Certain reports needed by products such as Discoverer, in the reports subdirectory
 

The fnd (Application Object Library) directory

This directory and its subdirectories contain the scripts and programs that are used as the foundation for all Oracle E-Business Suite products to build data dictionaries, forms and C object libraries.

 

 

Conclusions

 

In version 12i of E-Business Suite, there were several changes to version 11i and the inclusion of SOA architecture, already giving adherence to new integration technologies and process workflow.
 
In the next articles we will continue on understanding the structure of the E-Business Suite and guide best practices for installing the product efficiently.

 

 
References
 
Oracle E-Business Suite Release 12 Technology Stack Documentation Roadmap [ID 380482.1]

 

 

See you next time!

 

Andre Ontalba

 

Disclaimer: “The postings on this site are my own and don’t necessarily represent my actual employer positions, strategies or opinions. The information here was edited to be useful for general purpose, specific data and identifications were removed to allow reach the generic audience and to be useful for the community.”