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”. (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 http://localhost:7800/TemperatureConverter/TemperatureConverter
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.

18 comments on"IBM Integration Bus: Get Started in Ten Minutes"

  1. Connection error occurred: Received fatal alert: protocol_version.

    Tutorials gallery can not connect to the repository.

    You can try to Configure the repository connection. [This connection is success.]

    Does your IIB Toolkit have a direct connection to the Internet ( — This connection how to verify in my system. Could you please provide steps.

    • @Ajay
      As mentioned in earlier replies, the IIB Toolkit needs a direct connection to to list the tutorials available in the GitHub repository, and to download the tutorial resources for use in the Toolkit. A firewall or proxy might interfere with this.

      You can also browse the tutorials in this Integration community, and download the tutorials manually for use in the toolkit. For more information, see Tutorials (IIB).


  2. i dont see any integration node available by default, I tried creating but the system is getting getting hung.

    Any help??

    Thanks in advance

    • @gowtham Hi,
      The first time that you start IBM Integration Toolkit, an integration node should have been created automatically with the name TESTNODE_user_name (where user_name is the name of the ID that you used to log in). For more information, see Installing IBM Integration Bus software.
      If not, did you manage to create an integration node? For more information, see Using the development environment
      Regards, Ian

    • Paul Meekin January 25, 2018

      You may need to reboot following IIB installation in order for your userid to be recognised as being in the broker group and thus have permission to create the new node.

  3. I am not able to open the “Tutorial Gallery”, I get “Connection error occurred: Connection refused: connect” error.
    Could you help me?


  4. Shantell Groce March 07, 2016

    Very nice post. I just stumbled upon your blog and wanted to mention that I’ve really enjoyed browsing your
    weblog posts. In any case I will be subscribing to your rss feed
    and I hope you write again soon!

  5. HI mqmatt,
    Good article. Can you please confirm if all the old samples from V9 and V8 are removed? We had a lot of those like pager, Airline reservation etc etc.

  6. Carlo Sicignano November 10, 2015

    I am not able to open the “Tutorial Gallery”, I get “Connection error occurred: Connection refused: connect” error.
    Could you help me?


    • Hi Carlo,

      I am having this problem as well. Were you able to determine a fix or workaround?


  7. I would certainly be nice if you would include a link to pages discussing how to learn the ‘IBM Integration Console’ for those who don’t have the toolkit installed.

  8. Allan Moreira September 02, 2015

    Very good article.

  9. Hi, Where can we find Aggregation sample for IIB V10? I can see Aggregation sample with IIB V9, but i am not able to download it as it said we should have IIB V9 toolkit in the machine, while i have IIB V10.


  10. Is there a way to differentiate developer version from production version?

    the output of mqsiservice -v is similar on both systems, both having PRODUCTION in the output.

    BIP8996I: Version: 9002
    BIP8997I: Product: IBM Integration Bus
    BIP8998I: CMVC Level: S900-FP02
    BIP8999I: Build Type: Production, 64 bit, amd64_linux_2

    • You can run the mqsimode command to view the mode of operation that the integration node is running (e.g. express, advanced).
      For the developer edition however – why do you need to know? The product code is deliberately the same for all versions, and licensing is tracked by intent, not the edition that is installed. You can do development using the advanced edition, for example – both at no charge.

  11. Thank you for your devotion to excellence in writing. While reading your article I related to the points made in this content. This is good.

  12. Good article.
    I come from MB7 and in 10 minutes I learned basics about this new version. It seems like it has interesting new features.

Join The Discussion

Your email address will not be published. Required fields are marked *