Patterns

A pattern is a reusable solution that encapsulates a tested approach to solving a common architecture, design, or deployment task in a particular context.

A pattern captures a tested solution to a commonly recurring problem, addressing the objectives that you want to achieve. The specification of a pattern describes the problem that is being addressed, why the problem is important (the value statement), and any constraints for the solution. Patterns typically emerge from common usage and the application of a particular product or technology.

An IBM® Integration Bus pattern can be used to generate customized solutions to a recurring problem in an efficient way. IBM Integration Bus patterns are provided to encourage the adoption of preferred techniques in message flow design, to produce efficient and reliable flows. Patterns provide the following benefits:
  • Give you guidance for the implementation of solutions
  • Increase development efficiency, because resources are generated from a set of predefined templates
  • Result in higher-quality solutions, through reuse of assets and common implementation of programming approaches, such as error handling and logging

A catalog of IBM Integration Bus patterns is provided in a repository on GitHub that is accessible from the Patterns Explorer view in the IBM Integration Toolkit. The patterns are divided into pattern categories. Pattern categories are categories that are based on the pattern classification and structure the display in the Patterns Explorer. The catalog provides detailed help that guides you toward a suitable IBM Integration Bus pattern to create resources that are used to solve a specific business problem.

You can also create your own user-defined patterns.

Each pattern has values that are known as pattern parameters. Pattern parameters are parameters that customize and configure an IBM Integration Bus pattern. The pattern parameters that you configure depend on the particular pattern, and on the options that you enable for that pattern. An example of a pattern parameter is a queue name from where messages are read.

The IBM Integration Bus patterns provide defaults for most pattern parameters, and help is provided to explain them. After you have configured the pattern parameters, you generate a pattern instance project, which contains references to all other projects in the workspace that relate to your pattern instance. A pattern instance project also contains a pattern instance configuration file that stores the pattern parameter values. This configuration file stores the pattern parameters that you configured. Generating a pattern instance project also creates one or more additional IBM Integration Bus projects that typically contain message flows and other IBM Integration Bus resources that implement the pattern.

You can open the pattern instance configuration file at any time to see the values of the pattern parameters. When a pattern configuration file has been reopened, you can regenerate the IBM Integration Bus projects. Regeneration deletes the generated IBM Integration Bus projects and re-creates them from scratch. The pattern instance project contains an HTML summary file and a pattern instance configuration file. The summary file has a section that explains additional tasks that might be required, such as creating queues.

You can create resources from each IBM Integration Bus pattern more than once to give you unique pattern instances, each with a different configuration. The pattern parameters that you can configure depend on the particular pattern, and also the options that you enable for that pattern.

Some of the pattern parameter settings can affect the resources that are generated. For example, if you enable logging and error handling, the generated projects contain additional message flows and ESQL scripts.

In all cases, the specification of both the problem and the solution are indispensable parts of the pattern definition.