IBM Integration Bus
|Stable release||10 / May 24, 2014|
|Written in||Java ESQL C++ Visual Basic .NET|
|Operating system||Cross-platform (JVM)|
|Type||Enterprise Service Bus|
IBM Integration Bus (formerly known as WebSphere Message Broker) is IBM's integration broker from the WebSphere product family that allows business information to flow between disparate applications across multiple hardware and software platforms. Rules can be applied to the data flowing through the message broker to route and transform the information. The product is an Enterprise Service Bus supplying a communication channel between applications and services in a service-oriented architecture.
IBM Integration Bus provides capabilities to build solutions needed to support diverse integration requirements through a set of connectors to a range of data sources, including packaged applications, files, mobile devices, messaging systems, and databases. A benefit of using IBM Integration Bus is that the tool enables existing applications for Web Services without costly legacy application rewrites. IIB (IBM Integration Bus) avoids the point-to-point strain on development resources by connecting any application or service over multiple protocols, including SOAP, HTTP and JMS. Modern secure authentication mechanisms, including the ability to perform actions on behalf of masquerading or delegate users, through MQ, HTTP and SOAP nodes are supported such as LDAP, X-AUTH, O-AUTH, and two-way SSL.
IBM Integration Bus embeds a Common Language Runtime to invoke any .NET logic as part of an integration. It also includes full support for the Visual Studio development environment, including the integrated debugger and code templates. IBM Integration Bus includes a comprehensive set of patterns and samples that demonstrate bi-directional connectivity with both Microsoft Dynamics CRM and MSMQ.
- 1 Features
- 2 History
- 3 Components
- 4 How IBM Integration Bus works
- 5 Supported platforms
- 6 See also
- 7 Open Source Alternatives
- 8 References
- 9 External links
IBM represents the following features as key differentiators of the IIB product when compared to other industry products that provide the services of an Enterprise Service Bus:
- Simplicity and productivity
- Simplified process for installation : The process to deploy and configure IBM Integration Bus so that an integration developer can use the IBM Integration Toolkit to start creating applications is simplified and quicker to complete.
- Tutorials Gallery : From the Tutorials Gallery you can download, deploy, and test sample integration solutions.
- Shared libraries : Shared libraries are introduced in V10 to share resources between multiple applications. Libraries in previous versions of IBM Integration Bus are static libraries.
- Removal of the WebSphere MQ prerequisite : WebSphere MQ is no longer a prerequisite for using IBM Integration Bus on distributed platforms, which means that you can develop and deploy applications independently of WebSphere MQ.
- Universal and independent
- Graphical data mapping
- Industry-specific and relevant
- Dynamic and intelligent
- High-performing and scalable
IBM delivers the IIB software either in traditional software install on your local premises or by an IBM administered cloud environment. The Integration Bus in a cloud environment reduces capital expenditures, increases application and hardware availability, and offloads the skills for managing an Integration Bus environment to IBM cloud engineers. This promotes the ability of end users to focus on developing solutions rather than installing, configuring, and managing the IIB software. The offering is intended to be compatible with the on-premises product. Within the constraints of a cloud environment, users can use the same development tooling for both cloud and on-premises software, and the assets that are generated can be deployed to either."Statement of general direction for IIB product access-date=7 May 2015".
Originally the product was developed by NEON (New Era of Networks) Inc., a company which was acquired by Sybase in 2001. The product was later re-branded as an IBM product called 'MQSeries Integrator' (or 'MQSI' for short). Versions of MQSI ran up to version 2.0.
The product was added to the WebSphere family and re-branded 'WebSphere MQ Integrator', at version 2.1. After 2.1 the version numbers became more synchronized with the rest of the WebSphere family and jumped to version 5.0. The name changed to 'WebSphere Business Integration Message Broker' (WBIMB). In this version the development environment was redesigned using Eclipse and support for Web services was integrated into the product. Since version 6.0 the product has been known as 'WebSphere Message Broker'. WebSphere Message Broker version 7.0 was announced in October 2009, and WebSphere Message Broker version 8.0 announced in October 2011
In April 2013, IBM announced that the WebSphere Message Broker product was undergoing another rebranding name change. IBM Integration Bus version 9 includes new nodes such as the Decision Service node which enables content based routing based on a rules engine and requires IBM WebSphere Operational Decision Management product. The IBM WebSphere Enterprise Service Bus product has been discontinued with the release of IBM Integration Bus and IBM is offering transitional licenses to move to IBM Integration Bus. The WebSphere Message Broker Transfer License for WebSphere Enterprise Service Bus enables customers to exchange some or all of their WebSphere Enterprise Service Bus license entitlements for WebSphere Message Broker license entitlements. Following the license transfer, entitlement to use WebSphere Enterprise Service Bus will be reduced or cease. This reflects the WebSphere Enterprise Service Bus license entitlements being relinquished during the exchange. IBM announced at Impact 2013 that WESB will be end-of-life in five years and no further feature development of the WESB product will occur.
IBM Integration Bus consists of the following components:
- IBM Integration Toolkit is an Eclipse-based tool that developers use to construct message flows and transformation artifacts using editors to work with specific types of resources. Context-sensitive help is available to developers throughout the Toolkit and various wizards provide quick-start capability on certain tasks. Application developers work in separate instances of the Toolkit to develop resources associated with message flows. The Toolkit connects to one or more integration nodes (formerly known as brokers) to which the message flows are deployed.
- An Integration Node (formerly known as a broker) is a set of execution processes that hosts one or more message flows to route, transform, and enrich in flight messages. Application programs connect to and send messages to the integration node, and receive messages from the integration node.
- IBM Integration Bus web user interface (UI) enables System Administrators to view and manage integration node resources through an HTTP client without any additional management software. It connects to a single port on an integration node, provides a view of all deployed integration solutions, and gives System Administrators access to important operational features such as the built-in data record and replay tool, and statistics and accounting data for deployed message flows. (The web UI supersedes the Eclipse-based Explorer from earlier versions).
How IBM Integration Bus works
A SOA developer defines message flows in the IBM Integration Toolkit by including a number of message flow nodes, each of which represents a set of actions that define a processing step. The way in which the message flow nodes are joined together determine which processing steps are carried out, in which order, and under which conditions. A message flow includes an input node that provides the source of the messages that are processed, which can be processed in one or more ways, and optionally deliver it through one or more output nodes. The message is received as a bit stream, without representational structure or format, and is converted by a parser into a tree structure that is used internally in the message flow. Before the message is delivered to a final destination, it is converted back into a bit stream.
IBM Integration Bus supports a wide variety of data formats, including standards-based formats (such as XML, DFDL, and JSON), industry formats (such as HL7, EDI and SWIFT), and custom formats. A comprehensive range of operations can be performed on data, including routing, filtering, enrichment, multicast for publish-subscribe, sequencing, and aggregation. These flexible integration capabilities are able to support the customer's choice of solution architecture, including service-oriented, event-oriented, data-driven, and file-based (batch or real-time). IBM Integration Bus unifies the Business Process Management grid, providing the workhorse behind how to do something, taking directions from other BPM tooling which tells IBM Integration Bus what to do.
IBM Integration Bus includes a set of performance monitoring tools that visually portray current server throughput rates, showing various metrics such as elapsed and CPU time in ways that immediately draw attention to performance bottlenecks and spikes in demand. You can drill down into granular details, such as rates for individual connectors, and the tools enable you to correlate performance information with configuration changes so that you can quickly determine the performance impact of specific configuration changes.
In version 7 and earlier, the primary way general text and binary messages were modeled and parsed was through a container called a message set and associated 'MRM' parser. From version 8 onwards such messages are modeled and parsed using a new open technology called DFDL from the Open Grid Forum. This is IBM's strategic technology for modeling and parsing general text and binary data. The MRM parser and message sets remain a fully supported part of the product; in order to use message sets, a developer must enable them as they are disabled by default to encourage the adoption of the DFDL technology.
IBM Integration Bus supports policy-driven traffic shaping that enables greater visibility for system administrators and operational control over workload. Traffic shaping enables system administrators to meet the demands when the quantity of new endpoints (such as mobile and cloud applications) exponentially increases by adjusting available system resources to meet that new demand, delay or redirect the traffic to cope with load spikes. The traffic monitoring enables notifications to system administrators and other business stakeholders which increases business awareness and enables trend discovery.
IBM Integration Bus reduces cost and complexity of IT systems by unifying the method a company uses to implement interfaces between disparate systems. The integration node runtime forms the Enterprise Service Bus of a service-oriented architecture by efficiently increasing the flexibility of connecting unlike systems into a unified, homogeneous architecture. A key feature of IBM Integration Bus is the ability to abstract the business logic away from transport or protocol specifics.
The IBM Integration Bus Toolkit enables developers to graphically design mediations, known as message flows, and related artifacts. Once developed, these resources can be packaged into a broker archive (BAR) file and deployed to an integration node runtime environment. At this point, the integration node is able to continually process messages according to the logic described by the message flow. A wide variety of data formats are supported, and may be modeled using standard XML Schema and DFDL schema. After modeling, a developer can create transformations between various formats using nodes supplied in the Toolkit, either graphically using a Mapping node, or programmatically using a Compute node using Java, ESQL, or .Net.
IBM Integration Bus message flows can be used in a service-oriented architecture, and if properly designed by Middleware Analysts, integrated into event-driven SOA schemas, sometimes referred to as SOA 2.0. Businesses rely on the processing of events, which might be part of a business process, such as issuing a trade order, purchasing an insurance policy, reading data using a sensor, or monitoring information gathered about IT infrastructure performance. WebSphere Message Broker includes rich complex-event-processing capabilities that enable analysis of events to perform validation, enrichment, transformation and intelligent routing of messages based on a set of business rules.
A developer creates message flows in a cyclical workflow, probably more agile than most other software development. Developers will create a message flow, generate a BAR file, deploy the message flow contained in the BAR file, test the message flow and repeat as necessary to achieve reliable functionality.
Based on earnings reported for IBM's 1Q13, annualized revenue for IBM's middleware software unit increased to $14 billion (up $7 billion from 2011). License and maintenance revenue for IBM middleware products reached $7 billion in 2011. In 2012, IBM expected an increase in both market share and total market increase of ten percent. The worldwide application infrastructure and middleware software market grew 9.9 percent in 2011 to $19.4 billion, according to Gartner. Gartner reported that IBM continues to be number one in other growing and key areas including the Enterprise Service Bus Suites, Message Oriented Middleware Market, the Transaction Processing Monitor market and Integration Appliances.
IBM publishes performance reports for WebSphere Message Broker which provide sample throughput figures. Performance varies depending on message sizes, message volumes, processing complexity (such as complexity of message transformations), system capacities (CPU, memory, network, etc.), software version and patch levels, configuration settings, and other factors. Some published tests demonstrate message rates in excess of 10,000 per second in particular configurations.
With version 8 onwards, a new Global Cache feature enhances overall performance capability and throughput rates. This cache rides on top of IBM WebSphere eXtremeScale and is bundled with IBM Integration Bus. A dedicated message flow node is available to use in message flows, or access to the cache can be achieved through any of the compute nodes, from languages like Java, ESQL, or .Net.
Message flow nodes available
A developer can choose from many pre-designed message flow 'nodes', which are used to build up a message flow. Nodes have different purposes. Some nodes map data from one format to another (for instance, Cobol Copybook to canonical XML). Other nodes evaluate content of data and route the flow differently based on certain criteria
Message flow node types
There are many types of node that can be used in developing message flows; the following node transformation technology options are available:
- Graphical Mapping content
- eXtensible Stylesheet Language Transformations (XSLT)
- Extended Structured Query Language (ESQL)
- MQ's Managed File Transfer
- Connect:Direct (Managed File Transfer)
- JD Edwards
- WebSphere Transformation Extender (formerly known as Ascential DataStage TX, DataStage TX and Mercator Integration Broker). Available as a separate licensing option
- Decision Support node. This node allows the Program to invoke business rules that run on a component of IBM Decision Server that is provided with the Program. Use of this component is supported only via Decision Service nodes. The Program license provides entitlement for the Licensee to make use of Decision Service nodes for development and functional test uses. Refer to the IBM Integration Bus License Information text for details about the program-unique terms.
IBM Integration Bus on distributed systems has been localized to the following cultures:
- Brazilian Portuguese
- Simplified Chinese
- Standard Chinese
- US English
A pattern captures a commonly recurring solution to a problem (example: Request-Reply pattern). The specification of a pattern describes the problem being addressed, why the problem is important, and any constraints on the solution. Patterns typically emerge from common usage and the application of a particular product or technology. A pattern can be used to generate customized solutions to a recurring problem in an efficient way. We can do this pattern recognition or development through a process called service-oriented modeling.
Version 7 introduced patterns that:
- Provide guidance in implementing solutions
- Increase development efficiency because resources are generated from a set of predefined templates
- Improve quality through asset reuse and common implementation of functions such as error handling and logging
The patterns cover a range of categories including file processing, application integration, and message based integration.
Currently available platforms for IBM Integration Bus are:
- HP-UX (IA64)
- Solaris (SPARC and x86-64)
- Linux (x86, x86-64, PPC and System z)
- Microsoft Windows
Open Source Alternatives
- Apache Camel is a lightweight integration framework that can be paired with existing Enterprise Service Bus or Java Application Server to accomplish many of the same tasks as IBM Integration Bus.
- IBM WebSphere Message Broker V7.0 Announcement Letter
- IBM WebSphere Message Broker version 8.0 Announcement Letter
- IBM Integration Bus technical overview
- IBM News room - 2012-04-02 Report: IBM Named Marketshare Leader in Middleware Software - United States
- IBM WebSphere MQ Family - Performance Reports - United States
- Global cache overview
- Transformation Options for WebSphere Message Broker V6
- WebSphere Transformation Extender for Message Broker
- http://www.eaipatterns.com/RequestReply.html Request-Reply example
- Product page
- Product documentation
- IBM Integration Bus on developerWorks
- What's new in the latest release
- Introducing the WebSphere sMash PHPCompute node in WebSphere Message Broker
- Enterprise Service Bus and Connectivity Patterns
- Introduction to Patterns in WebSphere Message Broker
- WebSphere Message Broker Basics Redbook
- Connecting Your Business Using IBM WebSphere Message Broker V7 as an ESB