Tuesday, May 17, 2011

EBO customizations

Sometimes the EBO does not contain the elements for the information you have as part of this business object. For this case Oracle offers customization xsd's for each EBO and generic customization xsd's for common components to extend the EBO with needed elements and dataypes.

When you are going to extend an EBO, first try to find an existing common component to use for your attributes. Example when extending the EBO with street and housenumber, use the address datatype from common components. Sometimes the datatype of the used element is not known in the custom xsd, for this you have to add an import as well, for example if a common component is needed in CustomCommonComponents.xsd:
<xsd:import namespace="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2" schemaLocation="../../../Common/V2/CommonComponents.xsd"/>

Also determine whether the information is new/updated or a reference to information already known by the systems. Example when sending a new or updated address information use AddressDatatype, when sending a reference to a known address then use AddressReference as referenceType.

If the addition is a just one element then choose the datatype from one of the Infrastructure datatypes (\EnterpriseObjects\Infrastructure\V1\DataTypes.xsd). Example when an element is needed to indicate whether something is fragile, add a fragileIndicator of datatype IndicatorType from this DataTypes list.

In order to maintain backwards compatibility always make customizations optional (minOccurs='0') to avoid validation errors in current messages. Check similar EBOs for consistency.

Besides the good practice to document the customizations in the custom xsd itself (as a comment in the header), it is very useful to have a spreadsheet with all the customizations documented. For example with the following columns: Filename of EBO, Type extended, Name of element added, User added and Date added. To keep track of removals the following two columns can be added as well: User removed and Date removed, just be careful when removing customizations as they can be used by other projects already.

No comments:

Post a Comment