Defining the Role of the ABCS

11-4 Developers Guide for Oracle Application Integration Architecture Foundation Pack

11.2 Defining the ABCS Contract

The ABCS contract WSDL specifies how a caller interacts with its Business Connector Service. The caller could either be a participating application or another service such as EBS. Figure 11–2 illustrates the decision flow for defining the contract WSDL for the ABCS. Figure 11–2 Decision Flow for Defining the ABCS Contract

11.2.1 Defining the Role of the ABCS

This section discusses design decisions that you must make to enable the ABCS to participate in either a requester or provider role.

11.2.1.1 Designing an ABCS to Participate in a Requester Role

To determine how to enable the ABCS to participate in a requester role: 1. Determine how the ABCS is invoked or triggered. This analysis tells you how the ABCS is invoked by the application. Determine: a. Whether the application can make a SOAP-based invocation of ABCS. b. Whether the application service can invoke the ABCS using JCA adapter. Designing Application Business Connector Services 11-5 c. Whether the ABCS must subscribe to messages published by the application due to occurrence of business events. 2. Determine what interaction pattern is needed. The following questions will help the architect in identifying the optimal message exchange pattern. a. What business events will cause the invocation of requester ABCS? b. Is the application expecting a response from the requester ABCS? c. Does the application need to wait until the response is received for performing the next task? d. Does the application need to wait until the request is fully processed by the provider application? For more information about choosing a MEP, see Section 11.3.2, Choosing the Appropriate MEP. 3. Determine what Enterprise Business Services or operations need to be invoked. 4. Does the message sent by the requester application have all the information necessary for requester ABCS to construct the EBM? a. If not, does it have to reach out to applications to get the additional information? b. If yes, what technologies are available? What application interfaces are to be used to get the additional information? For more information, see Section 11.4, Technology Options . 5. Can the application possibly publish a message with incomplete information? a. Should the ABCS wait until the message with complete information is published? In such a scenario, an aggregator should collect and store individual messages until a complete set of related messages has been received b. If yes, what is the application service and how does it communicate with it?

11.2.1.2 Designing an ABCS to Participate in a Provider Role

To determine how to enable the ABCS to participate in a provider role: 1. Decide whether the application can directly consume the information sent by EBS. 2. Determine how the ABCS interacts with provider applications. See Chapter 21, Establishing Resource Connectivity. 3. Define the tasks that must be done by this ABCS. 4. Determine what message exchange pattern MEP is used to communicate with the application. 5. Determine whether data validation must be done on the EBM sent by the EBS prior to sending the request to the provider application. 6. Decide whether you need guaranteed delivery of messages. 7. Determine whether it is a single message containing data for multiple instances. 8. Decide whether the entire message should be processed as a single unit of work. 11-6 Developers Guide for Oracle Application Integration Architecture Foundation Pack 9. Decide what must be done when a subset of instances present in that message encounter failure.

11.2.2 Constructing ABM Schemas