Extending Existing Schemas in AIA

25-14 Developers Guide for Oracle Application Integration Architecture Foundation Pack Impact ■ A change in the data model or schema should be treated very carefully because multiple dependent service contracts could be impacted with a small change. ■ Versioning policies should be clearly defined, otherwise redundant service implementations for a minor change may occur. ■ Governance is a challenge to manage the shared data models or common assets.

25.2.2 How to Avoid Redundant Service Contracts Representation in AIA

Problem The granularity of the service contract can be at the operation level or at the entity level. The entity level definition can have various operations defined in the same service contract but the implementation can be at operation level which results in creating multiple implementation artifacts using the same service contract. This causes redundant service contracts representation in various implementations. Solution AIA recommends that the service contracts WSDL be separated physically from the implementations. These service contracts should be centralized at a location which can be referenced easily during design or run time. All the EBS Enterprise Business Service, ABCS Application Business Connector Service, and any other utility service contracts should be maintained at a central location in a structured way. Impact ■ A change in the service contract should be treated very carefully because multiple dependent service implementations could be impacted with a small change. ■ Governance is a challenge to manage the shared service contracts or common assets.

25.3 AIA Assets Extensibility Patterns

This section discusses the extensibility patterns for AIA assets and describes the problems and solutions for extending AIA artifacts. This section includes the following topics: ■ Section 25.3.1, Extending Existing Schemas in AIA ■ Section 25.3.2, Extending AIA Services ■ Section 25.3.3, Extending Existing Transformations in AIA ■ Section 25.3.4, Extending the Business Processes in AIA

25.3.1 Extending Existing Schemas in AIA

Problem The delivered schemas may not be sufficient for some of your specific business operations, so you may want to add elements to the existing schemas in an upgrade safe manner. This wouldnt be possible by just adding the customer-specific elements in an existing schema, and the schema extension model is needed. Working with AIA Design Patterns 25-15 Solution To allow you to extend the EBO or Enterprise Business Message EBM schemas in a nonintrusive manner, the complex type defined for every business component and the common component present in each of the EBO or EBM schemas has an extension placeholder element called Custom at the end. The data type for this custom element is defined in the schema modules allocated for holding customer extensions in the custom EBO schema files. In Example 25–1 the custom element added at the end of the complex type in the Schema-A acts as a place holder to bring the customer extensions added in the Custom Schema-A. Here the Schema- A is AIAComponents\EnterpriseObjectLibrary\Industry\Telco\EBO\ CustomerParty\V2\CustomerPartyEBO.xsd Example 25–1 Custom Element Acting as Placeholder xsd:complexType name=CustomerPartyAccountContactCreditCardType xsd:sequence xsd:element ref=corecom:Identification minOccurs=0 xsd:element ref=corecom:CreditCard minOccurs=0 xsd:element name=Custom type=corecustomerpartycust:CustomCustomerPartyAccountContactCreditCardType minOccurs=0 xsd:sequence xsd:attribute name=actionCode type=corecom:ActionCodeType use=optional xsd:complexType Example 25–2 shows the Custom Schema - A: AIAComponents\EnterpriseObjectLibrary\Industry\Telco\Custom\ EBO\CustomerParty\V2\CustomCustomerPartyEBO.xsd Example 25–2 Adding an Extension to EBO or EBM Schemas -- ================================================================== -- -- ============== CustomerParty Custom Components ================ -- -- ============================================================ -- xsd:complexType name=CustomCustomerPartyAccountAttachmentType xsd:complexType name=CustomCustomerPartyAccountContactType xsd:complexType name=CustomCustomerPartyAccountContactCreditCardType -- CUSTOMERS CAN ADD EXTENSIONS HERE ... xsd:complexType xsd:complexType name=CustomCustomerPartyAccountContactUsageType

25.3.2 Extending AIA Services