Use IBM Integration Bus patterns to accelerate the development of your integration solutions.

Get started with IBM Integration Bus Patterns
Learn how to use Integration Bus patterns to rapidly develop solutions for common integration use cases. IBM Integration Bus ships a wealth of patterns for common integration use cases. Pattern templates expose the points of variation in these use cases, allowing developers to rapidly deliver integration and drive out errors.
Instantiating, deploying, and testing an integration solution by using patterns-based development

Use the Patterns Explorer and pattern generator to expose an asynchronous WebSphere MQ backend application as a web service, including logging and error handling, in minutes. Use the built-in test client to deploy, generate sample data, and test the running integration solution.

Try it yourself: Download the Demo Customer WSDL file used in the video

Length: 10:55 min | Size: 27.1 MB
Download the .mp4 file
Using patterns from the GitHub repository
From the Patterns Explorer in the IBM Integration Toolkit for IBM Integration Bus (IIB) V10, you can download and install patterns from the Open Technologies for Integration (OT4I) GitHub repository.

You can read the pattern documentation and create a pattern instance to explore the pattern functionality.

Note: From the Patterns Explorer you also have access to the Experimental OT4I GitHub Pattern Repository. The Experimental OT4I GitHub Pattern Repository contains patterns that are available for testing but are not fully-supported.

For more information, see the Getting patterns from the GitHub repository in IBM Knowledge Center.

Status updates

01 December 2015:
The current set of IIB V10 patterns are now live for use in the “Experimental GitHub Pattern Repository” while they undergo final review for publishing to the main “OT4I GitHub Pattern Repository” rather than “Experimental GitHub Pattern Repository”.

If you refresh your IIB V10 Integration Toolkit (you may need to restart the toolkit, because it typically caches content) then you should now see more in the categories of patterns:

30 November 2015:
IBM Developers have been migrating and testing patterns from IIB V9, and are expecting to publish the patterns to the ot4i repository this week.

I’ve provided a list (below) of the current set of patterns to be made available. You can read more about the patterns in the IIB V9 documentation in IBM Knowledge Center (See

File Processing patterns
– Record Distribution to WebSphere MQ: one-way

Message-based Integration patterns
– Message Correlator for WebSphere MQ: request-response with persistence
– Message Correlator for WebSphere MQ: request-response without persistence
– Message Splitter for WebSphere MQ: one-way (for XML)

Mobile patterns
– IBM MessageSight: Inbound event filter

Service Enablement patterns
– Service Facade to WebSphere MQ: one-way with acknowledgment
– Service Facade to WebSphere MQ: request-response

Service Virtualization patterns
– Service Proxy: static endpoint

If you are interested in any specific patterns, please let us know.

Self-study labs: Authoring and using new patterns
Learn how to create new IBM Integration Bus patterns, add them to the Pattern Explorer, and use them in integration development.
These labs should be executed in sequence.

The scenarios included in this section require the following zip file to be unzipped into a location called c:\student.
Pattern Authoring scenario files

Pattern Authoring – Lab 1: Basic introduction
Take a simple message flow (an exemplar) and create a pattern based on that flow.
Pattern Authoring – Lab 2: Using XPath
Configure pattern parameters using the XPath expression tools in the pattern builder. When a pattern instance is generated, the value of the pattern parameters will be concatenated using an XPath expression.
Pattern Authoring – Lab 3: Setting parser properties
Configure the parser properties on an MQInput node. Configuring the message domain, message model, message and physical format properties on input nodes is a very common requirement in pattern authoring.
Pattern Authoring – Lab 4: Using PHP and Java
Create a pattern that includes a new Compute node and associated ESQL, which are be added to the generated message flow if the pattern selects the “database logging” option. This enables a pattern user to dynamically change the message flow logic, based on the value of pattern parameters.
Pattern Authoring – Lab 5: Customisation
As a Pattern Author you create a main message flow that includes customisation subflows, which are held in a separate project or Library. This enables the Pattern User to customise those subflows without overwriting the changes every time the pattern instance is re-generated.
Pattern Authoring – Lab 6: Groups and table parameters
Create a routing pattern that allows you to generate a dynamic-routing message flow. The pattern takes the number of routing destinations (MQOutput nodes) and the routing table as parameters.

16 comments on"Patterns"

  1. Hi,

    I am interested in MATIP processing pattern, where do I get one? Is there any MATIP connector already available in IIB V10?

    • Ian_Larner April 05, 2018

      @Aslu Hi,
      There was a pattern but it was not migrated and tested for use with IIB V10.

      A copy of the Project interchange file for MATIP processing pattern exported from the IIB v10 toolkit has been made available “as is” for your convenience. The pattern has been edited to avoid errors and warnings, but not deployed or tested in IIB v10. The pattern is supplied as-is with no support or warranty.

      See the in the “as is” software downloads directory:

      Regards, Ian

  2. Ranjoy Sarkar November 30, 2017

    I was trying to follow steps given in Lab 4. I reached step 2.2.2 where i need to select PHP and click on New Project. But on clicking New Project, nothing happens. I never get the new Java and PHP project window. Is it some problem with the toolkit? Do i need to install some plugin before i can create those projects. I am using below version.

    IBM Integration Toolkit
    windows 10 64 bit

  3. Luis Gonzalez April 18, 2017


    I wonder if you can modify user-defined properties of a custom node using java. I’ve been able to modify a lot of properties for MQINput nodes but for custom nodes. Could you please shed some light on this issue ?
    I’m using IIB9 toolkit vesion


  4. Hi,
    I think some of graphics in lab-PDF is broken.
    (page 10 step 11. as an example)
    My acrobat reader complains and I got broken images sometimes.
    Regrads, Dirk

    • Hi Dirk,
      Thanks for letting us know. (There was a WordPress issue some months back that affected PDF files among other files; some files might not have been recovered properly.)

      I’ve changed the links to reference original copies of the PDF files and ZIP files on the IBM software downloads server:

      regards, Ian

      • Hi,
        cool I see, but as you write some are still broken and Lab 6 is missing.
        I am on my way to create an version.


        • Dirk,
          Thanks for your vigilance! There was an error in the filename for Lab 6 that I did not spot. I’ve uploaded the correct file to the staging server, and it should appear live within the hour.
          For “some are still broken”, if you can let me know specific problems with any other files, I can look to replace them.
          Regards, Ian

  5. Mohammed Zabiullah January 06, 2017

    I was trying to follow steps given in Lab 4. I reached step 2.2.2 where i need to select PHP and click on New Project. But on clicking New Project, nothing happens. I never get the new Java and PHP project window. Is it some problem with the toolkit? Do i need to install some plugin before i can create those projects. I am using below version.

    IBM Integration Toolkit
    Build id:


    • Hi Mohammed,
      UPDATE 10 Jan 2017: An IBM colleague was able to complete the Lab OK using IIB v9.0.0.6 level of the Toolkit.

      The Lab steps are working for me in IIB V10 (and did in the IIB V9 Betaworks lab). I’ve asked for someone to test the steps with a new install of IIB V9, to verify that the steps do work for them. I expect that the steps do work for all others on IIB V9, and should not need anything except what is described in Lab 4.

      Please check that you completed all the preceding steps including importing the project interchange file as described in step 2.1 (with files attached to the Patterns page).

      Regards, Ian

  6. Hi there, if I have a wsdl from a web service provider and requires IIB to just create a web service proxy to the actual web service provider, is there any pattern or tutorial to refer to?

    • Thanks for the question.

      Generally, you use an integration service (a specialized application) which has a defined interface (WSDL) and structure that acts as a container for a web services solution. You can create a new integration service from scratch, or base it upon a WSDL document that you already have.

      In the Integration Toolkit, you might find the tutorial “Integration services (SOAP/HTTP inputs)” useful in showing an example. You might also like to read the concept topic “Integration services” in IBM Knowledge Center here:

      If creating a proxy a call to a web service, you can drag a SOAPRequest node into the required operation subflow. This would be in the equivalent position in the tutorial of the Mapping nodes that appear in the subflows in the “temperature converter” (there is one for Celsius to Fahrenheit and one for Fahrenheit to Celsius).

      To create an integration service choose File > New > Integration Service, and then in the wizard choose the option to “implement an interface already specified in an existing WSDL file”. Knowledge Center link for this “Creating an integration service based on a WSDL file” page is here:

      [Answer provided by Ben Thompson
      IBM Integration Bus Chief Architect, IBM Hursley Park]

      • Hi @Ian!

        When I create an Integration Service, the Toolkit creates a message flow. But what if I want to apply a pattern in this msg flow. Is there any way to do that?

        • Hi,
          In the Integration Toolkit, you can create instances from patterns that you have downloaded and installed from Github. For more information, see Using patterns.
          Regards, Ian

          • Ian,

            Thank’s, but what I want to do is to create a user-defined pattern using an Integration Service as a model. The problem is when I create an instance from the user-defined pattern. When the instance is created, I need to select a WSDL file. But when I do that, the instance (IS project) created breaks. Any idea?

Join The Discussion

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