PIMO (Production Instruction Meta Object) Framework Meta Objects

The Production Instruction Meta Object framework provides an abstract mechanism for performing certain kinds of object manipulation inside the connector. In the adapter for TCP/IP, this mechanism is used to provide pre- and post-processing of message data. The mechanism itself is discussed in more detail in Appendix C, Adapter Processing, but the main meta objects used by the framework are presented here for completeness.

BIA_MO_Tcpip_MapSubscriptions

Processing in the PIMO is based on a series of transformations ordered by a set of mapping meta objects. At the top of the map hierarchy is the BIA_MO_Tcpip_MapSubscriptions object.

Figure 10. BIA_MO_Tcpip_MapSubscriptions in the Business Object Designer

Screenshot

The pertinent attributes of the object are as follows:

MO Level Attributes Description
Inbound Indicates the set of maps used by PIMO in event mode processing. In the example, two maps will be used.
+BIA_InputMessage_CheckComplete Child attribute. Contains a mapping meta object (BIA_Map_InputMessage_to_InputMessage) used to separate multiple objects. Assumes that the SupportMultipleMessages value in the BIA_MO_DataHandlerService object is set to true.
+BIA_InputMessage Child attribute. Contains a mapping meta object (BIA_Map_InputMessage
_to_LLPMessageList) used to remove LLP headers and tailers from the main HL7 data. See below for further details.
Outbound Indicates the set of maps used by PIMO in service call request mode processing. In the example, one map will be used.
+BIA_ApplicationMessage Child attribute. Contains a mapping meta object (BIA_Map_ApplicationMessage
_to_InputMessage)

BIA_Map_InputMessage_to_LLPMessageList

The BIA_Map_InputMessage_to_LLPMessageList map object contains the instructions PIMO needs to carry out the second stage of the inbound mapping process indicated in the example map subscription meta object above.

Figure 11. BIA_Map_InputMessage_to_LLPMessageList in the Business Object Designer

Screenshot

The pertinent attributes of the object are as follows:

Map BO Level Attributes Description
Port Each PIMO map object has two ports: the IPort and the OPort, defined in the example by the BIA_InputMessage_to
_LLPMessageList_Port. These indicate the expected type of the source object (in the example, a BIA_InputMessage) and the destination object (in the example, a BIA_LLPMessageList).
Declaration A PIMO map object may include declaration objects containing names for temporary variables to be used during processing. In the example the declaration object (a BIA_Map_InputMessage_to
_LLPMessageList_Declaration) contains one such name, "contentText"
Action Each PIMO map object has at least one action object (here a BIA_Map_InputMessage_to
_LLPMessageList) that stores information pointing to the actual class and method that does the processing

The ASI values for each action defined by action objects contained by PIMO map objects are as follows:

Application Specific Information for each Defined Action Description
type ="nativeStatic" Indicates a static method of a Java class that is being invoked. At present PIMO supports only static methods.

class = The fully qualified name of the Java class. In the case of the example, the class is the LLPMessagingProtocolHandler class in the com.ibm.adapters.tcpip.messagehandlers package.
method = The method being called. In the example the method is parseInputMessageToLLPMessages method.
target = Where returned data should be stored. In the example, the data is to be stored in the variable contentText created in the declaration attribute.
var1, var2 ... varx An open list of parameters to be passed into the method. The order and number of variables on this list must exactly match the order and number of parameters that the method expects. In the example, var1 is the IPort and var2 is the OPort from the Port attribute

Copyright IBM Corp. 1997, 2004