Transformation in IIB

Transformation to the messages can be achieved in multiple ways in IIB.

When a message arrives to IIB, it represents the input in logical tree structure which is the internal representation of a message(also known as message assembly).

Message will be interpreted by one or more parsers, and input node creates 4 tree structures.

1. Message Tree

2. Environment tree

3. Local Environment tree

4. Exception tree

Root of exception tree is ExceptionList. There can be one or more childs to ExceptionList which can be any of the below:

  • FatalException
  • RecoverableException
  • ConfigurationException
  • SecurityException
  • ParserException
  • ConversionException
  • DatabaseException
  • UserException
  • CastException
  • MessageException
  • SqlException
  • SocketException
  • SocketTimeoutException
  • UnknownException

In addition to the below, IIB supports other programming/scriping languages like .net, c#, PHP,XSL etc to perform data transformation, routing or data en-richment.

Using compute node

  • ESQL(Extended Structured Query Language) is used to write business logic in compute, filter and database nodes.

  • Compute node constructs one or more output messages.

  • Compute node is used to

    • Transform the message from one format to another
    • copy messages between parsers
    • to convert messages from one codeset to another.
  • Change the compute node property based on the message trees you use in the code.

Compute ModeTrees propagated
AllOutputRoot, OutputLocalEnvironment, OutputExceptionList
MessageOutputRoot, InputLocalEnvironment, InputExceptionList
LocalEnvironmentInputRoot, OutputLocalEnvironment, InputExceptionList
LocalEnvironment and MessageOutputRoot, OutputLocalEnvironment, InputExceptionList
ExceptionInputRoot, InputLocalEnvironment, OutputExceptionList
Exception and MessageOutputRoot, InputLocalEnvironment, OutputExceptionList
Exception and LocalEnvironmentInputRoot, OutputLocalEnvironment, OutputExceptionList
  • Compute Node terminals and it's description:
TerminalDescription
Into receive input message
FailureInput message is routed here if an unhandled exception occurs
OutTo send the output message constructed
Out1The first alternative output terminal where the constructed output might be routed by a PROPAGATE statement.
Out2The second alternative output terminal where the constructed output might be routed by a PROPAGATE statement.
Out3The third alternative output terminal where the constructed output might be routed by a PROPAGATE statement.
Out4The fourth alternative output terminal where the constructed output might be routed by a PROPAGATE statement.

Using Graphical data mapping editor

You can transform the message graphically with out writing code using message maps.

  • Input object will appear on left and output on right.

  • Create connections by clicking grab handle, which can be seen when you point on a element and drag the mouse to connect to the target output element.

  • There are many tranform in-built functions which can be used for writing logic.

Using Java compute node

  • Java is used to route, transform or enrich the message it received.

  • Java compute node is similar to compute node but uses java instead of ESQL

Using ITX map

IBM transformation extender(ITX) map can be integrated with IBM Integration Bus(IIB) using map node in the message flow.

  • ITX map can have multiple input and output cards. But, ITX map node has only one input terminal. Hence you can pass only input from IIB flow to ITX map.

  • ITX map cards which didn't receive input from IIB flow will take the settings configured at input card settings.

  • ITX map can have multiple output cards, you can select which cards output to connect to other message nodes.