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.
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.
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.
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.
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.
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.
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.