Customization Primer

This chapter covers the following topics:

Customization Overview

The Oracle E-Business Suite has a layered architecture, where each layer encapsulates the maximum reusable set of features without creating dependencies on higher layers. Such architecture enhances reusability of functionality and makes possible global customizations. The task of customizing an Oracle application can fall into one of a few categories:

These customization categories aren't always clear cut. Certainly, in some cases, customization tasks can even span a couple of categories. This book is designed to give a high level perspective of the various customization categories, and discusses only those categories that OA Framework facilitates. References to other resources are provided, where other customization categories are discussed in more detail.

Configuration

Configurations exist almost in every layer and every application. Broadly, configurations can be classified into three classes, as follows:

Deployment Topology Configurations

Deployment topology configurations map closely to the hardware topography of a deployment and are mostly done through technology stack configuration parameters. Examples:

Configurations under this category are documented in greater detail in each technology stack layer's respective administration manuals, which include the following:

Global Functionality Configurations

Global functionality configurations cut across application families and are mostly done through shared technologies such as AOL (Application Object Library), TCA (Trading Community Architecture), Tasks, Notes, and so on. Examples:

Configurations under this category are documented in greater detail in the respective layer's implementation and administration manuals, which include the following:

Application or Functional Area Configurations

Configurations associated with a particular functional area (such as accounting) or application. Examples:

Configurations under this category are documented in a greater detail in a respective application's implementation manual, grouped under:

Personalization

OA Framework was designed with durable personalization capabilities. Durability of OA Framework personalization is largely attributed to the declarative architecture and the object-oriented approach underlying the implementation. Declarative UI component definitions are stored in the form of meta-data in a database repository. Personalizations are translated into offsets from the base meta-data definition and stored separately. At runtime, the applicable personalizations meta-data is uploaded from the repository and layered over the base meta-data definition to produce the net effect. Product upgrades and patches affect only the base meta-data definition, so customer personalizations continue to function properly as applicable.

Personalization Levels

The built-in personalization UI facilitates a variety of personalization features at a number of different levels within the following user groups:

Oracle's In-House E-Business Suite Developer

For additional information, refer to Chapter 4: Implementing Specific UI Features: Personalizable Pages in the OA Framework Developer's Guide.

Oracle E-Business Suite Administrator

Oracle E-Business Suite User

Available Personalizations

The following administrator and end user personalizations are available:

Administrator Personalizations

End User Personalizations

Unlike Administrators, Users can create and save several personalized searches that can be retrieved conveniently at a later time. That said, end-user personalized saved searches are limited in scope to Query regions with search results tables. For these regions, end-users can personalize any of the following features:

Extensibility

OA Framework was designed with durable extensibility capabilities. Durability of OA Framework extensibility is largely attributed to the declarative architecture and the object-oriented approach underlying the implementation. The JDeveloper wizards and built-in personalization UI make it easier to extend the Oracle E-Business Suite. In addition, Oracle customers can take advantage of the extensibility offered by Flexfields (Oracle E-Business Suite Flexfields Guide) and Oracle Workflow (Oracle Workflow Administrator's Guide).

OA Framework extensibility is geared to enable customers to add new functionality and override or extend existing business logic beyond what can be accomplished via personalization. This includes the following extensibility scenarios:

To understand how extensibility works, one must understand how OA Framework applications are built. Please refer to the following sections in the OA Framework Developer's Guide:

Extensibility is often observed in the UI, but implementation is mostly centered on the underlying business objects. The following diagram depicts the BC4J objects involved when extending an OA Framework application.

BC4J Objects in Extending an OA Framework Application

the picture is described in the document text

The first row of the diagram represents an exhaustive list of all possible objects a developer might create when creating an entity object. The first box illustrates that when creating an entity object, two files are generated: the meta-data definition XML file and the actual implementation Java class file. Entity Objects handle attribute level and record level validations. These validations often need to use other View Objects, called Validation View Objects (VVO). Validation View Objects are grouped under a Validation Application Module (VAM). Like Entity Objects, creating a VVO and a VAM generates a meta-data definition XML file and an implementation java class file for each object.

Finally, the Entity Object sometimes relies on a helping class to offer, among other services, a validation service optimized for usage by other Entity Objects. This helper class is called the Entity Expert and is linked to the Entity Object through an Entity Object property.

Note: The diagram illustrates a case in which all objects are extended, which is not always the case. In most of the situations, you may be satisfied with extending just a portion of these objects.

Caution: Never edit the base definition of an object or make a copy of a base object. Always extend the relevant object and use BC4J substitutions to reference the extended object.

For example, you may be satisfied with extending the Entity Expert to override a validation method such as isSupplierValid. In such a case, it is not wise to reference the extended Entity Expert (MyEntityExpert) directly from the base Entity Object (EntityEO.XML), as such an approach does not survive upgrades.

A durable approach requires extending the base Entity Object (using the JDeveloper Wizards) and updating the entity expert property on the extended Entity Object to point to the extended Entity Expert.

Interoperability

Implementing the Oracle E-Business Suite for established customers sometimes involves interfacing with legacy applications or third party services. Interoperability scenarios can be classified into three levels:

In addition to the above, the Oracle E-Business Suite technology stack is consolidating around the OA Framework technology stack. In the interim, some CRM applications are not migrated from the JTT technology stack. Instead, OA Framework has created interoperability solutions that allow for these technology stacks to coexist and facilitate a smooth user experience upon transition between technology stacks.