Client application programming interfaces

You can configure the nodes in your message flows to customize the behavior of those nodes by using one or more of the supported programming interfaces.

You can use one of the following options for converting message formats in your message flows:

Mappings
The Graphical Data Mapping editor in the IBM® Integration Toolkit is a graphical interface that displays a visual representation of messages. You can use this editor to:
  • Drag fields from a source message to a target message
  • Map data from databases to the message structure
  • Apply functions

You can use mappings in the Mapping node.

ESQL
Use ESQL to manipulate data in both messages and database tables. ESQL is a programming language that is specific to IBM Integration Bus, and based on SQL. You can code ESQL statements to create, reference, and update message fields and database content. ESQL provides a rich set of statements and functions that you can use to achieve sophisticated transformations.

You can use ESQL in the Compute, Database, and Filter nodes.

Java™
Use the Java programming language to route or transform your messages. You can use XPath to create, reference, and update message fields. You can also use JDBC to access database tables.

You can use Java only in the JavaCompute node.

XSL style sheets
Use standard XSL style sheets to convert XML messages to other formats supported by the integration node.

You can use XSL only in theXSLTransform node.

Use this option if your message flows are processing XML messages, and your message flow designers are familiar with the XSL style sheets.

Windows platform.NET
Windows platformUse the .NET framework to route or transform your messages. You can use .NET to create, reference, and update message fields.

You can use .NET in the .NETCompute node, and call .NET code from ESQL.

When you configure your message flows and nodes, you create a set of files that are stored in your workspace.

The files created are of the following types:

  • A message flow definition file, message_flow_name.msgflow. This file is mandatory, and is created automatically for you. It contains details about the message flow characteristics and contents; for example, what nodes it includes and its promoted properties.
  • One or more message mappings files, message_flow_name_nodename.map. A unique file is required for each node in the message flow that uses the Graphical Data Mapping editor. This file is required only if your message flow contains a Mapping node. You can create this file yourself, or you can cause it to be created for you by requesting specific actions against a node.
  • One or more ESQL resources files, message_flow_name.esql. An ESQL file is required only if your message flow includes one or more of the nodes that must be customized by using ESQL modules, or contains functions that are called by your message mappings. You can create this file yourself, or you can cause it to be created for you by requesting specific actions against a node.

    You can customize the following built-in nodes by creating free-form ESQL statements that use the built-in ESQL statements and functions, and your own user-defined functions:

    • Compute
    • Database
    • Filter
  • One or more Java programming files, message_flow_name.java. A Java file is required only if your message flow includes one or more JavaCompute nodes. You can create this file yourself, or you can cause it to be created for you by requesting specific actions against a node.
  • One or more XSL stylesheets, message_flow_name.xslt. An XSLT file is required only if your message flow includes one or more XSLTransform nodes. You can create this file yourself, or you can cause it to be created for you by requesting specific actions against a node.

You can include other files in your integration project so that they are deployed to the integration node with your message flow. The integration node stores these extra files but does not process them in any way.

For details of how to create the files to support these transform options, and create their content, see Transforming and enriching messages.