The connector for Ariba Buyer is bi-directional. It can process events originating from Ariba Buyer applications, as well as requests sent by the broker to the application.
For event notifications, Ariba Buyer provides a mechanism using message handlers in the integration channel. To send an event, an Ariba Buyer node invokes a message handler on the associated channel instance, which in turn contacts the connector. All events are thus sent to the connector without the need for any other form of notification, such as polling.
For request processing, the connector for Ariba Buyer processes the requests coming from the integration broker in the form of business objects. It sends a message object to the Subscribe message handler in the integration channel, which in turn sends it to the application.
The connector for Ariba Buyer follows the meta-data design principles for WebSphere Business Integration adapter connectors. This means new business objects can be defined without additional coding or customization at the connector code level. For more information, see Understanding business objects.
The following sections describe how the connector processes application events.
No event detection is required for Ariba Buyer.
The application notifies the integration channel of an event by sending it a message object containing the event data. When the channel receives the message object, it sends it to the connector, where the business object handler converts the message into an application-specific business object for transmission to the integration broker. The channel's message handlers can simultaneously receive and forward a number of events, each of which is sent by a different Buyer thread.
Ariba Buyer events may be asynchronous or synchronous. When the application sends an event of either type to the channel, it also stipulates the return business object that will deliver a response.
Synchronous events
When Ariba Buyer sends a synchronous event to the integration channel, it sends the message object to the connector and retains control of the Buyer thread while it waits for a response. When the connector receives the response application-specific business object, it transforms this object into a message object and sends it back to the waiting channel node.
If the connector goes down before the synchronous response is returned to the channel, the event generates an error. For more information, see Time-outs in "Troubleshooting and error handling".
Asynchronous events
When Ariba Buyer sends an asynchronous event to the integration channel, the channel will start a timeout process if timeout is specified for the message. The channel then sends the message object to the connector and returns control back to the Buyer thread that invoked it. When the connector receives the response application-specific business object, it transforms this object into a message object and sends it back to the originating channel node.
If no response is sent for an asynchronous event, or the response is sent very late, the event times out. For more information, see Time-outs in "Troubleshooting and error handling".
Whenever a Service Call is initiated on Ariba Buyer, the connector receives the application-specific business object from the integration broker, transforms it into a message object, and passes it to the first available node. The channel instance for the receiving node receives the message object and passes the data to Ariba Buyer using the Ariba Buyer-defined APIs.
In general, errors are logged by the failing component and the originating component is notified.
Errors that occur in the integration channel, as well as any messages, are logged by the application API and appear in the Ariba Buyer log file (AribaBuyerNodexLog.txt).
Errors that occur in the connector, along with any messages, appear in the connector log file, and the connector framework is informed. You specify the name of this file in the Connector Configurator at system setup.
For more information, see "Troubleshooting and error handling".