Guidelines for Versioning Versioning ABCS

13-34 Developers Guide for Oracle Application Integration Architecture Foundation Pack message producer a JMS transport adapter that is responsible for entering the message in the queue. PeopleSoft CRM can consider the message as sent as soon as the message is dropped into the queue. With this mechanism, the PeopleSoft CRM application can keep sending new messages regardless of whether the CRM on Premises is available or not. ■ A JMS consumer another JMS transport adapter is responsible for dequeuing the messages and invoking PeopleSoft CRM ABCSs. Having the PeopleSoft CRM ABCSs, the EBS, the CRM on Premises ABCS and the Web services as part of the transaction initiated by JMS message producer ensures that the message is removed from the queue only after the successful completion of the task in the CRM on-premise application.

13.8 Versioning ABCS

Versioning of a service means: ■ A new service with Version suffix in the name of the Composite and name of the Service Component. ■ The target namespace of the WSDL of the Service Component indicates a new version. For more information about AIA naming standards, see Chapter 29, Oracle AIA Naming Standards for AIA Development .

13.8.1 Guidelines for Versioning

During the preparatory phase, be aware of the following guidelines: ■ An ABCS is used across multiple PIPs. It is not PIP-specific. For example, EBizRequesterCreateItemABCS is used by ISCM PIP as well as Agile PLM - Ebiz Integration PIP. ■ Use the Oracle Enterprise Repository to discover the existence of a service. Service definition annotations are persisted in Oracle Enterprise Repository. Oracle Enterprise Repository documents the various conceptual and physical assets depicting the PIP and constituting services. ■ Inline changes made to ABCS without changing the version suffix should be backward compatible. ■ Multiple versions for a service with semantically and technically incompatible contracts among versions are not acceptable. It is not permissible to version an existing ABCS when the contract is totally different, even though the operation to be performed or the verb is same. ■ ABCS is versioned independently of an application version. ABCS is not bound to a specific application version. So, when an application undergoes a version change, it is not binding on ABCS to undergo a similar version change. Thus, ABCS is designed to be agnostic of version changes of the application. ■ Avoid concurrent multiple versions of an ABCS. Completing ABCS Development 13-35 For example, Team A owns Version 1; Team B does not like the contract and creates Version 2 with a different MEPContract. Now Team A is creating Version 3 with a contract that contradicts the previous one. ■ The system does not allow more than one service for an application to perform a single business activity using a specific role RequesterProvider. ■ Do not have more than one service with same logic but different names, either a different name for composite, for service, or having a different portType in the WSDL. ■ Do not have more than one service with different logic but the same names. The operation defined on the EBS determines the implementing ABCS. The operation defined on an EBS is dictated by the business activitybusiness task. Variations of business activity, business task, or both are possible. These are passed in the form of context and implemented by different ABCSs. Multiple teams involved in producing, consuming, or both producing and consuming an ABCS for a specific application and a business activity must reach consensus regarding the contracts. 13-36 Developers Guide for Oracle Application Integration Architecture Foundation Pack 14 Designing and Constructing Composite Business Processes 14-1 14 Designing and Constructing Composite Business Processes This chapter includes the following sections: ■ Section 14.1, Introduction to Composite Business Processes