IBM® Integration Bus is a compatible evolution of WebSphere® Message Broker that is designed to incorporate features that are found in WebSphere Enterprise Service Bus. IBM Integration Bus provides a universal integration capability that addresses a wide range of integration scenarios. These scenarios include web services such as SOAP and REST, messaging, database, file, ERP systems, mobile, physical devices, email, custom systems and more.
Business data flows between service providers and service consumers over various protocols (HTTP, JMS, WebSphere MQ, EIS, and so on) in various data formats such as comma-separated value, delimited, fixed width, and COBOL. Different protocols have different mechanisms for carrying the business data in their protocol envelope. While the transport protocol envelope is different, the business data might not be in same format across these protocols.
IBM Integration Bus parsers are analogous to the WebSphere Enterprise Service Bus data handlers, in that they are responsible for the conversion between the physical message format and a logical message structure. In WebSphere Enterprise Service Bus, the data handler is responsible for populating part of the Service Message Object (SMO) structure, while in IBM Integration Bus, the parser is responsible for populating the message tree.
In IBM Integration Bus, some message formats are self-defining and can be parsed without reference to a model. However, most message formats are not self-defining, and a parser must have access to a message model that describes the message, if it is to parse the message correctly. Message models are based on W3C XML schema. When the message format is known, IBM Integration Bus can parse an incoming message bit stream and convert it into a logical message tree for manipulation by a message flow. After the message is processed by the message flow, IBM Integration Bus converts the message tree back into a message bit stream. Conversion to and from a bit stream is performed by a parser.
You can model a wide variety of message formats by using XML schema files, DFDL schema files, and WebSphere Adapter schema files. IBM Integration Bus provides importers to read metadata such as C header files, COBOL copybooks, and EIS metadata, and to create message models from that metadata. By using these importers, you speed up the creation of message models. Additionally, predefined models are available for common industry standard message formats such as SWIFT, EDIFACT, X12, FIX, HL7, and TLOG. For more information, see Modeling different data formats.
For more information, see Constructing message models.
You use the DFDL schema editor to create, edit, and test DFDL message models within the IBM Integration Toolkit. For more information, see DFDL schema editor.
IBM Integration Bus provides support for a DFDL domain. The DFDL domain can be used to parse and write a wide variety of message formats, and is intended for general text and binary message formats, including industry standards. It is not intended for parsing and writing XML or JSON formatted messages, which have their own message domains. For more information, see DFDL parser and domain.
IBM Integration Bus provides more built-in patterns that speed up the process of implementing your integration solutions. In addition, you can create your own user-defined patterns to extend the functionality of IBM Integration Bus. IBM Integration Bus provides the capabilities to graphically define and contribute your own patterns to the Patterns Explorer.
A number of patterns are supplied in a GitHub pattern repository, which is accessible from the IBM Integration Toolkit. For more information, see Built-in patterns. You can configure these patterns with values for use in your own environment to solve specific business problems. For more information, see Patterns.
You can create user-defined patterns to extend the functionality of IBM Integration Bus. For more information, see Creating a user-defined pattern.
User-defined patterns extend the function of IBM Integration Bus so that you can create patterns that you can reuse within your organization. For more information, see User-defined patterns.
You can package your user-defined pattern into a pattern archive so that the user-defined pattern can be distributed to pattern users by adding the pattern archive to a pattern community site. For more information, see Packaging and distributing pattern plug-ins.
The system administrator can set the notification threshold for individual message flows deployed to manage their workload. An out of range notification message is produced if the notification threshold is exceeded. A back in range notification message is produced if the notification threshold later drops back into range. For more information, see Configure a message flow to cause notification threshold messages to be published.
The system administrator can set the maximum rate that an individual message flow can run at. The maximum rate is specified as the total number of input messages processed every second. When set, the number of input messages that are processed across the flow is measured. This measure is irrespective of the number of additional instances that are used, the number of input nodes in the message flow, or the number of errors that occur. If necessary, a processing delay is introduced to keep the input message processing rate under the maximum flow rate setting. For more information, see Setting the maximum rate for a message flow.
The system administrator can specify and monitor the maximum amount of time that any message flow is allowed to process a message for, and can specify an action to be taken if the timeout is exceeded. Additionally, manual requests can be made to stop a message flow by restarting the integration server. For more information, see Unresponsive message flows.
In IBM Integration Bus, a configurable service can be used to configure a set of attributes that can be accessed at run time. A system administrator can change the values of the attributes for a configurable service, which then affects the behavior of an IBM Integration Bus node or message flow without the need for redeployment.
The system administrator can specify a workload management policy under a configurable service for a message flow. The workload management policy has the advantage in that it encompasses all of the properties available under workload management in one place and therefore allows for easier tuning of message flow performance. For more information, see Workload management.
You can use the .NETCompute node to route or transform messages by using any Common Language Runtime (CLR) compliant .NET programming language, such as C#, Visual Basic (VB), F# and C++/CLI (Common Language Infrastructure). By using this node, IBM Integration Bus can interact with other applications that have .NET or Component Object Model (COM) interfaces and perform tasks such as message enrichment, by obtaining data from these applications. For more information, see .NETCompute node and Using .NET.
The .NETInput node provides an easy way to drive message flows that can receive data from other applications that have Microsoft .NET or Component Object Model (COM) interfaces. The .NETInput node provides C#, Visual Basic, and Visual F# templates for Microsoft Visual Studio, which when implemented, connect and retrieve the data for the node. For example, the .NETInput node can be used to retrieve messages from MSMQ. For more information, see .NETInput node and Using .NET.
You can also create a template from an instance of a .NETInput node in a message flow. The result is a Cloned node that has its own icon, properties and runtime implementation, which can be easily exported and shared with other IBM Integration Toolkit developers. For more information, see Cloning a .NETInput node.
In IBM Integration Bus, you use message flow nodes to handle data from files. You use a FileInput node to process messages that need to read data from files, a FileOutput node to write messages to files, and a FileRead node to read one record, or the entire contents of a file, from within a message flow.
For more information, see How the broker processes files.
IBM Integration Bus supplies a WebSphere ESB conversion tool that accelerates the conversion of development artifacts created for WebSphere Enterprise Service Bus in WebSphere Integration Developer or IBM Integration Designer to IBM Integration Bus development artifacts.
For more information, see The WebSphere ESB conversion tool and Converting WebSphere Enterprise Service Bus resources by using the WebSphere ESB conversion tool.
When you develop integration solutions in IBM Integration Bus, you must consider the following differences:
In IBM Integration Bus, each inline schema embedded in your WSDL file is externalized. You must create a schema (.xsd) file for each inline schema.
The WebSphere ESB conversion tool converts your WebSphere Enterprise Service Bus WSDL file and creates a schema (.xsd) file for each inline schema embedded in your WSDL file. The format of the converted WSDL file is different from the original, but it is logically equivalent.
To learn more about WSDL files in IBM Integration Bus, see Working with WSDL.
You convert a WebSphere Enterprise Service Bus mediation module into an IBM Integration Bus application or integration service.
For more information, see Choosing the target integration solution type.
In IBM Integration Bus, you use a message flow node to re-create an export or an import. The node is specific to a type of transport. The transport binding is configured automatically and determined by the type of node that you use.
To specify the parser that you want to use to serialize or deserialize your data in an export or import, you must configure the Message Domain property.
To handle faults, you connect the Fault terminal of a node and implement its logic.
For exports that use a SOAPInput node, the function selector logic is provided by the node.
For all other exports, you must manually implement the function selector as routing logic within the message flow. This can be achieved by using the IBM Integration Bus capabilities for querying the message content and selecting the route within the flow, for example by using a JavaCompute node and a RouteToLabel node.
For more information on IBM Integration Bus built-in nodes, see Built-in nodes.
For more information, see Converting WebSphere Enterprise Service Bus resources manually.
In IBM Integration Bus, you define the invocation style of a call to a service provider by using a Request message flow node within a message flow. Request-response operations can be called synchronously or asynchronously. IBM Integration Bus provides a synchronous and an asynchronous implementation for Request and Response message flow nodes.
For more information, see Converting SOAP/HTTP WebSphere Enterprise Service Bus service invocation styles manually and Converting SOAP/JMS WebSphere Enterprise Service Bus service invocation styles manually.
WebSphere Enterprise Service Bus and IBM Integration Bus provide built-in transform types that you can use to construct your transformation maps. WebSphere Enterprise Service Bus group, lookup, relationship, and relationship lookup transforms do not have equivalent transform types in IBM Integration Bus. You must re-create these transforms manually.
For more information, see Mapping transform equivalents between the Graphical Data Mapping editor and the WebSphere Enterprise Service Bus Graphical Mapping editor.
In WebSphere Enterprise Service Bus, you use the WebSphere Adapter for Flat Files to exchange data with the local file system. In IBM Integration Bus, you use message flow nodes to handle data from files. For this reason, capabilities to handle data from files, that you have in WebSphere Enterprise Service Bus on the WebSphere Adapter for Flat Files, are located in IBM Integration Bus on the message flow nodes.
Each file message flow node provides four Record detection options which describe how data should be read from a file, written to a file, and propagated through the message flow. Based on the option that you choose, you decide how much of the file content is carried through the message flow as part of a single propagation, either the whole file, a fixed length of data, a record until a delimiter is found, or a section of data which conforms to a predefined message model (parsed record sequence).
In IBM Integration Bus, the combination of a built-in parser, for example BLOB, XMLNSC, DFDL, JSON, and a Record detection option is the equivalent to the WebSphere Adapter for Flat Files built-in data handlers in WebSphere Enterprise Service Bus.
IBM Integration Bus file nodes also provide support for commands to run before or after an FTP or SFTP transfer finishes. For more information, see Local environment overrides for the remote server on the FileOutput node.
WebSphere Enterprise Service Bus and IBM Integration Bus provide built-in patterns to help you solve a specific business problem and the capability to create your own user-defined patterns. In WebSphere Enterprise Service Bus, the process is more complex and requires more coding. In IBM Integration Bus , you can define graphically your user-defined pattern and add it to the Patterns Explorer.
To learn about the terminology differences between IBM Integration Bus and WebSphere Enterprise Service Bus, see WebSphere Enterprise Service Bus conversion.
The term DataObject is used for different purposes in WebSphere Enterprise Service Bus and IBM Integration Bus. In WebSphere Enterprise Service Bus, DataObject refers to a part of the Service Data Object (SDO) API commonj.sdo.DataObject, which is used to represent structured data elements within the Service Message Object. In IBM Integration Bus, the term DataObject refers to the DataObject parser, which reads and writes messages from Enterprise Information Systems (EIS) such as SAP, PeopleSoft, and Siebel.
For more information, see Additional software requirements.