IBM Integration Bus (IIB) makes it easy for developers to connect applications together. It converts data formats and protocols, and can expose back-end services and APIs to allow for innovation and reuse. Many hundreds of organisations rely on it for processing and moving business critical data quickly and reliably, and for developers itâs quick to use yet flexible enough to fit in with existing skills and tools.
This step-by-step guide tells you everything you need to know in order to get started with IIB, and how to get something up and running from scratch in around ten minutes.
1. Get hold of IIB
The IIB V10 Developer Edition contains everything you need to get going with the product quickly. You can use it without charge in all development and unit test scenarios, and differs from the full product only in that it is limited to processing one transaction per second.
To download now, click the following button:
Select the appropriate package for your platform and start the download process. The Developer Edition is available for Windows and Linux only; production editions of IIB can be deployed on AIX, z/OS, zLinux, HP and Solaris (in addition to Windows and Linux).
When finished, if youâre running Windows open the downloaded file to start a standard Windows installer. On Linux, just unzip the file to a directory of your choice.
Either way, installation will take between sixty seconds and five minutes or so, depending on your machine.
Note there are other ways of getting hold of IIB. At the time of writing, Docker support is currently in beta. There is also support for Chef, Hypervisors, Pure Application Systems and the formal IBM Passport Advantage channel.
2. Start the IBM Integration Toolkit
Start IBM Integration Bus by running “IBM Integration Toolkit 10.0.0.0â. (You might also see an ‘IBM Integration Console’ application, which allows you to run IIB command line utilities; we won’t cover that here.)
When the Toolkit has started, you see the welcome page for the development environment. Click on the âGet Startedâ link to view the available tutorials.
Note that you can return to the welcome page at any time by selecting âHelp -> Welcomeâ from the menu bar.
3. Deploy a sample integration service
For this demonstration weâll use the âIntegration Services (SOAP/HTTP inputs)â tutorial. This demonstrates how you can use IBM Integration Bus to expose a simple web service that converts temperature readings between celsius and fahrenheit.
Select the sample from the top of the list and click âStart Tutorialâ.
This will reveal a new view in the development tool that describes the selected sample. Click on the âImportâ button to copy the sample files into the toolkit’s workspace.
Youâll be now be shown an editor view that shows the structure of the service you have imported.
It states that this sample, once running, tells IBM Integration Bus to expose a âTemperatureConverterâ web service that uses a SOAP over HTTP interface. The service exposes two operations – âCtoFâ which converts celsius to fahrenheit, and âFtoCâ, which converts fahrenheit to celsius.
You can navigate the service description and implementation by clicking on the links in the editor view.
4. Test the service
From the service description view, click the red button in the top right to deploy it to an IBM Integration Bus instance for unit testing.
You can verify that the service deploys successfully by expanding the Integration Nodes view in the bottom left hand corner of the screen:
Integration nodes are responsible for running integration logic, and this view shows the integration nodes that this toolkit knows about. To start with there is just one – âTESTNODE_[username]â – which represents the embedded test node inside the toolkit. Underneath the node name in this tree is an integration server (which maps to an Operating System process, and is used for scaling and isolation) called âdefaultâ, to which is deployed our TemperatureConverter service.
The green up arrow next to the service indicates that it is running. By default, for SOAP/HTTP and RESTful services the integration server is listening on port 7800, and the TemperatureConverter service is accepting all requests for the â/TemperatureConverter/TemperatureConverterâ URI on this port. This means that if a client connects their web service application to http://[machinename]:7800/TemperatureConverter/TemperatureConverter
(where localhost is the IP address of the integration node), the request will be handled by our service and any correctly formed documents transformed appropriately.
Next to the red record button is a âSend messageâ button which simulates a client invoking the web service. Click this button to show the test tool.
In the windows that appears, click the âNew messageâ button to create a message that we can use for testing.
The test tool will create a message for us that is compatible with our deployed service – in this case, an XML document with a âTemperatureInCâ element that allows us to hold the source data.
If you use the drop down list in the test tool to switch from the CtoF service to the FtoC service, note how the message changes (as the FtoC service requires a âTemperatureInFâ element instead).
Change the value of the TemperatureInC data element if you like, and then click âSendâ to invoke the service.
This will cause the service to be invoked with the supplied data, and the response from the service retrieved. Click Close to dismiss the progress dialog.
Because the editor is in ârecordâ mode, the Editor view is highlighted in green the path the last message took.
Select âCtoFâ to drill down into the service implementation, which consists of an input node, a mapping operation and an output node.
Between the three nodes is an icon of a message which allows you to determine the format of the message (and other useful data) at each stage of the integration.
Click the message icon just after the âMapping C to Fâ operation to reveal the transformed data. You can verify that the service worked by scrolling to the message data; you should see the âTemperatureinFâ element which is the converted value of the original celcius we entered.
5. Next steps
There are several possible next steps depending on your knowledge of IBM Integration Bus and what you are trying to do.
a. Learn more about the TemperatureConverter service
If you drill into the service implementation and double-click on the âMapping C to Fâ node you will see how the source data is mapped to the target data.
The source message is shown on the left and the target message on the right. Notice how the âTemperatureinCâ element becomes the âTemperatureinFâ element by having a custom XPath expression applied (in this case, the function â1.8 * $TemperatureInC)+32â.
b. Verify the service with an external tool
You can use an external tool like NetTool or SOAPUI to verify that the service can be called outside of the IBM Integration Bus environment.
The URL to invoke is
Add a Content-Type field to the HTTP header, and send the input message as before.
c. Learn more about IBM Integration Bus
IBM Integration Bus is a sophisticated product with lots of features, but there is a large amount of collateral available that will help you learn it.
Check out the Resources section on this site for details.
You might also find the product presentation decks useful. As a developer, itâs useful to understand the key technical concepts – look at the Technical Introduction to IBM Integration Bus session.
d. Get started with your own integrations
This recent article is a good introduction to developing an integration solution in IBM Integration Bus V10.