Skip Headers
Oracle® Retail Functional Artifacts Guide
Release 14.1
E57325-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

6 Customizing and Extending Business Objects

Customization and extension are customer side activities. The Oracle Retail release of Functional Artifacts coincides with a Oracle Retail Enterprise Release. Any new Business Objects or changes to existing base Business Objects are handled as described in Chapter 4, "Versioning Artifacts." The packaging schema is discussed in Chapter 2, "Packaging Structure and Standards."

Business Object customization is defined as changes or extension of the base XSDs made by a customer to satisfy a customer specific business requirement.

Oracle Application Integration Architecture (AIA) and other industry standards have defined an approach using well known tags and packaging locations to separate the custom extensions from the base. This allows the extensions to be preserved as updates to the base are applied. Oracle Retail has implemented the same model.

Business Object Customization Tools and Approaches

The Oracle Retail Functional Artifact Generator Guide describes the tool used to generate the Functional Artifacts from the Business Object XSDs. The guide also contains examples and step-by-step instructions through simple use cases.

The Oracle Retail Integration Bus Implementation Guide contains a chapter about RIB customization and extension, with examples and use cases including customization to the Business Objects.

The Retail SOA Enabler Tool uses localized or custom Functional Artifacts as one of its tool inputs in the process of creating Web services.

Business Object Customization Standards

This section demonstrates the standards used to create and manage functional artifacts, as they relate to the customization and extension of the base business objects (XSDs).

The Functional Artifact Generator tool called the Template Creator is used to create the customization objects and hooks as described in the following example. Using the Template Genertor is recommended for performing the basic steps of creating placeholders and imports.


Note:

For a step-by-step example, see the Oracle Retail Functional Artifact Generator Guide.

The custom BO schema module must be named ExtOf<BO>.

Topic Description
Recommendation The naming convention for the custom XSD for an BO must be as follows: ExtOf<BO>.
Rationale The naming convention standardizes the names for namespace, packaging, and tool generation of Objects.
Example ASNInBO.xsd has a corresponding ExtOfASNInBO.xsd:
xmlns="http://www.oracle.com/retail/integration/base/bo/ASNInBO/v1" xmlns:ExtOfASNInBO="http://www.oracle.com/retail/integration/custom/bo/ExtOfASNInBO/v1"

For a considered custom BO schema, existence of related base BO schema is optional.

Topic Description
Recommendation For any BO, existence of a base XSD related to a custom XSD is optional. However the naming convention for the custom XSD must always be as follows: ExtOf<BO>.
Rationale There can be baseless custom Business Object. Such custom BO do not have related BO.
Example ExtOfASNInNoBaseBO.xsd does not have a corresponding ASNInNoBaseBO.xsd:/retail/integration/custom/ bo/ (Business Objects) ExtOfASNInNoBaseBO (Custom BO Name) v[1] (Version - latest) ExtOfASNInNoBaseBO.xsd (BO Schema exist.)/retail/integration/base/ bo/ (Business Objects) [Business Object ASNInNoBaseBO does not exist]

Each Business Object schema module must import its custom Business Object schema module:

Topic Description
Recommendation Each BO schema must import its custom BO schema module.
Rationale The custom schema is well defined and in the packaging structure.
Example
targetNamespace=http://www.oracle.com/retail/integration/base/bo/ASNInBO/v1
 version="1.0"
xmlns="http://www.oracle.com/retail/integration/base/bo/ASNInBO/v1" 
xmlns:ExtOfASNInBO=http://www.oracle.com/retail/integration/custom/bo/ExtOfASNInBO/v1
xmlns:retailDoc=http://www.w3.org/2001/XMLSchema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:import
  namespace="http://www.oracle.com/retail/integration/custom/bo/ExtOfASNInBO/v1" schemaLocation="../../../../custom/bo/ExtOfASNInBO/v1/ExtOfASNInBO.xsd">
</xs:import>

Each BO XSD complexType must have a local element named Custom<Parent Type Name> added.

Topic Description
Recommendation Each BO XSD complexType must have a local element named Custom<Parent Type Name> added.
Rationale A local element named "Custom<Parent Type Name>" exists at the end of every EBO type.

For example, CustomASNInBO.

Example
<xs:element maxOccurs="1" minOccurs="0" ref="ExtOfASNInBO:ExtOfASNInItem"></xs:element>

The Custom<Parent Type Name> must not be recursively defined.

Topic Description
Recommendation The Custom<Parent Type Name> must not recursively define a note named Custom<Parent Type Name> within it.
Rationale A Custom<Parent Type Name> must be one level deep, or in relatively flattened structure (to reduce complexity).
Example

Each BO XSD complexType must have a local element named Localization<Parent Type Name> added.

Topic Description
Recommendation The naming convention for the custom XSD for an localized BO must be as follows: EOfBr<BO> or EOfIn<BO>.
Rationale The naming convention standardizes the names for namespace, packaging, and tool generation of Objects.
Example ASNInBO.xsd has a corresponding EOfBrASNInBO.xsd and EOfInASNInBO:
xmlns="http://www.oracle.com/retail/integration/localization/bo/BrASNInBO/v1" xmlns:EOfBrASNInBO="http://www.oracle.com/retail/integration/custom/bo/EOfBrASNInBO/v1"

Imports that refer to only non cyclic references are allowed in customized XSD.

Topic Description
Recommendation Customized XSD cannot refer to custom localized business objects.
Rationale Customized business objects can only import non cyclic references.
Example ExtOfASNOut cannot import EOfBrASNOut.