FRONT ARENA messages and the data handler

The FRONT ARENA data handler is required for using the adapter with the FRONT ARENA application. There are two ways to configure the data handler:

To understand the data handler's way of processing, it is essential to comprehend the structure of FRONT ARENA messages. These messages have the following characteristics:

The entire message is in text format. Independent of their logical format, all values of simple elements are represented as strings. The list tags and the keywords are always in upper case.

The following incomplete message indicates the creation of a new trade:

[MESSAGE]
 TYPE=INSERT_TRADE
 VERSION=1.0
 TIME=2003-09-15 18:21:36
 SOURCE=ATLAS
 [TRADE]
  STATUS=FO confirmed
  TRADER_USERNBR.USERID=INTAS
  QUANTITY=200
  PRICE=89.57
  TIME=2003-09-15 12:05:41
   [INSTRUMENT]
    ISIN=FR123456780
    EXPIRY_DATE=2001-05-12
   [/INSTRUMENT]
  [/TRADE]
 [/MESSAGE]
 

In addition to the primary object and list TRADE, this message contains a nested list named INSTRUMENT.

Converting a FRONT ARENA message to a business object

For a given FRONT ARENA message, the name handler composes the name of the associated business object from the following sources: The value of the BOPrefix attribute of the data handler's meta-object, and the name of the (single) child list of MESSAGE, converted to lower case.

Note:
Both name components are separated by an underscore.

For example, if you assume that the meta-object attribute BOPrefix has a value of FA, then, the business object, FA_trade, would be created from the message above.

The verb is derived from the content of the message's FORMAT field, according to the conversion properties specified in the static configuration meta-object.

Note:
A static meta-object is used to provide the adapter with some basic conversion properties.

For each element of a list in the FRONT ARENA message, the data handler tries to find a corresponding business object attribute. To associate a business object attribute with a list element, either the business object attribute name and the element name (keyword for simple attributes) must be identical or the application specific information of a business object attribute must identify the FRONT ARENA message element corresponding to the attribute. Such an explicit mapping is made by specifying CN=<FRONTARENA element name> in the application specific information of a business object attribute.

Note:
The <FRONT ARENA element name> is case insensitive. The CN must be in upper case.

Business object attributes corresponding to nested lists are expected to be child business objects. Otherwise, an error is reported. This means that the list hierarchy of the FRONT ARENA message must be reflected in the business object definition.

The structures of the FRONT ARENA messages and the associated business object definitions need not be completely identical. Elements and sections of the FRONT ARENA message that are not reflected in the business object definition are simply skipped. This applies to both simple attributes and (trees of) subordinate lists. For each message element skipped, an informational entry is added to the adapter's log file.

Business object attributes not represented in the original message are set to a constant value, CxIgnore.

Converting a business object to a FRONT ARENA message

Before actually processing the business object, the top-level MESSAGE list (that is not reflected in the business object) and its simple elements are created as follows:

The business object is processed in sequential order. For each simple attribute, a keyword=value pair is appended consisting of the value of parameter CN of the attribute application specific information or the attribute's name if the parameter is not specified, and the attribute's value.

If a child business object is encountered, a child list is opened. The list's name is the value of parameter CN of the attribute application specific info or the attribute's name if the parameter isn't specified. When all attributes of a business object have been processed, the closing tag of the associated list is added to the message.

Message business object example

A business object for the example message above might look as follows:

Table 17. Business object FA_trade

General object level application-specific information TN=trade
Verb name Application-specific information
Create FAVERB=insert
Delete FAVERB=delete
Retrieve FAVERB=select
Update FAVERB=update


Attribute name Application-specific information
trader CN=trader_usrnbr.userid
quantity CN=quantity
price CN=price
instrument (child business object) CN=instrument

Table 18. Child business object FA_instrument

General object level application-specific information TN=trade
Verb name Application-specific information
Create FAVERB=insert
Delete FAVERB=delete
Retrieve FAVERB=select
Update FAVERB=update


Attribute name Application-specific information
isin
expirationdate FAVERB=insert

The business object definition does not have any attributes corresponding to the TRADE elements, STATUS and TIME. As mentioned before, the business object does not have to contain all the attributes of the corresponding FRONT ARENA message.

For the attribute, isin, of the child business object FA_instrument, no mapping is needed in the application specific information because the attribute name and the name of the corresponding FRONT ARENA message element are identical.

Copyright IBM Corp. 1997, 2004