Adapter architecture

The adapter is metadata-driven. The adapter uses an MQ implementation of the JavaTM Message Service (JMS), an API for accessing enterprise-messaging systems.

The Adapter for FRONT ARENA uses WebSphere MQ queues to enable asynchronous data exchange from FRONT ARENA to the broker and from the broker to FRONT ARENA. Data is sent between the queues for FRONT ARENA and the broker in the form of text messages. A FRONT ARENA data handler is used to convert the data into business objects that can be processed by any broker.

For information about using the adapter in synchronous exchanges, see Synchronous request and reply interactions.

The adapter enables the WebSphere MQ Adapter to exchange messages with the FRONT ARENA application, version 1.5.

The Adapter for FRONT ARENA can be used in a solution that uses the integration broker to integrate business data exchanges between FRONT ARENA and other enterprise information system applications for which appropriate adapters have been installed.

Connectors consist of an application-specific component and the connector framework. The application-specific component contains code tailored to a particular application. The adapter framework, whose code is common to all adapters, acts as an intermediary between the integration broker and the application-specific component. The adapter framework provides the following services between the integration broker and the application-specific component:

This document contains information about the adapter framework and the connector. It refers to both of these components as the adapter. For more information about the relationship of the integration broker to the adapter, see the documentation for IBM WebSphere InterChange Server System Administration Guide.

Note:
All WebSphere business integration adapters operate with an integration broker. The Adapter for FRONT ARENA operates with the InterChange Server integration broker, which is described in the Technical Introduction to IBM WebSphere InterChange Server.

Asynchronous messages from FRONT ARENA to the integration broker

When a trade is placed in FRONT ARENA, an INSERT_TRADE message is generated in native FRONT ARENA message format and is placed in the WebSphere MQ output queue as shown in figure Figure 1. (In this illustration, it is assumed that FRONT ARENA and the integration broker are installed on different machines using different queue managers, making it necessary to have a remote queue definition for output from FRONT ARENA, connecting to an input queue that is local to the integration broker. A single queue functions as both the output queue from FRONT ARENA and input queue for the integration broker.)

Figure 1. Adapter architecture


To detect data events in FRONT ARENA, the adapter polls the FRONT ARENA output queues for new messages. When it discovers a new message, the adapter passes it to an input queue, calls a data handler to convert the message to a business object that is specific to the structure of data originating from FRONT ARENA, and then passes the business object to the connector in InterChange Server. The connector invokes maps to generate a generic business object from the FRONT ARENA-specific business object, and then delivers the generic business object to one or more collaboration objects. After the collaboration objects have processed the business object, the generic business object is mapped to an application-specific business object, which is delivered to an adapter (such as a WebSphere Business Integration adapter for SAP) that has been configured for a back-end application.

The following picture visualizes how FRONT ARENA is integrated in the WBI context by means of the bridge, the connector, and WebSphere MQ.

Figure 2. High-level architectural diagram


Asynchronous messages to FRONT ARENA from InterChange Server

In the opposite direction, the Adapter for FRONT ARENA receives business objects from collaborations, converts them into messages using the data handler and delivers the messages to the FRONT ARENA WebSphere MQ queue.

Synchronous request and reply interactions

Synchronous request and reply interactions require additions to or customization of the FRONT ARENA application, as described in the following topics.

Requests from FRONT ARENA to InterChange Server

You can use the adapter to set up a synchronous message flow for request and reply interactions from the FRONT ARENA messaging system to InterChange Server or other external systems. For more information about this approach, see the integration documentation for FRONT ARENA, version 1.5, and the IBM WebSphere business integration system.

Requests from InterChange Server to FRONT ARENA

Note:
This approach requires a customization of the commands that are executed in FRONT ARENA when a business object comes from InterChange Server. The commands should retrieve the ReplyTo queue from the message, and place a reply on the queue within the ResponseTimeout interval. For information about creating and customizing commands in FRONT ARENA, refer to the Programmer's Guide for FRONT ARENA, 1.5. 5.4.

Synchronous versus asynchronous processing

The bridge component of the adapter can be configured to handle requests either synchronously or asynchronously. In the asynchronous case, the request is simply forwarded to the ARENA Message Broker (AMB). Whether or not the request can be fulfilled is not verified. No reply is sent back to the originator of the request.

In synchronous mode, the bridge component of the adapter checks the outcome of the request processing and returns this to the application that originally issued the request. Since the AMB is an asynchronous messaging system, a client application does not get a synchronous reply to a request. The response can arrive at any later point in time, and the client application must relate it to the corresponding request.

The AMB does not have in-built request-reply correlation support. Therefore, the correlation can only be done based on elements of the payload of the request and reply message.

Event notification

Notification of data events that have occurred in the FRONT ARENA application is accomplished through the polling mechanism of the adapter. The adapter can poll multiple input queues, polling each in a round-robin manner and retrieving a specified number of messages from each queue. For each message retrieved during polling, the adapter adds a dynamic child meta-object (if specified in the business object). The child meta-object values can direct the adapter to populate attributes with the format of the message as well as with the name of the input queue from which the message was retrieved.

When a message is retrieved from the input queue, the adapter looks up the business object name associated with the FORMAT field contained in the message header. The message body, along with a new instance of the appropriate business object, is passed to the data handler. If a business object name is not associated with the format, the message body alone is passed to the data handler. If a business object is successfully populated with message content, the adapter checks to see if it is subscribed, and delivers it to InterChange Server.

Business objects and WebSphere MQ message header

The type of business object and verb used in processing a message is based on the FORMAT field contained in the WebSphere MQ message header. The adapter uses meta-object entries to determine the business object name and verb. You construct a meta-object to store the business object name and verb to associate with the WebSphere MQ message header FORMAT field text.

Optionally, you can construct a dynamic meta-object that is added as a child to the business object that is passed to the adapter. The child meta-object values override those specified in the static meta-object that is specified for the adapter as a whole. If the child meta-object is not defined or does not define a required conversion property, by default, the adapter examines the static meta-object for the value. You can specify one or more dynamic child meta-objects instead of, or to supplement, a single static adapter meta-object.

Copyright IBM Corp. 1997, 2004