Converting WebSphere ESB resources for use in IBM Integration Bus, Part 1
Simple mediation scenario
This content is part # of # in the series: Converting WebSphere ESB resources for use in IBM Integration Bus, Part 1
This content is part of the series:Converting WebSphere ESB resources for use in IBM Integration Bus, Part 1
Stay tuned for additional content in this series.
IBM® Integration Bus is IBM's new strategic connectivity and integration product. It combines the capabilities of WebSphere Message Broker and WebSphere ESB, and its new name signifies its functional and operational growth to support WebSphere ESB use cases, whilst also building upon its recognized position as the industry-leading middleware product for universal connectivity. The IBM Integration Bus V9 Integration Toolkit provides tooling to speed the conversion of resources that were created for deployment to a WebSphere ESB runtime (using the WebSphere Integration Developer toolkit or the IBM Integration Designer toolkit) so that they can be used with IBM Integration Bus.
This article shows you how to convert resources for a WebSphere ESB mediation that implements a web service to convert temperatures between Fahrenheit and Celsius. A Project Interchange file is provided which contains the relevant WebSphere ESB resources.
Generally, it is more common for a WebSphere ESB mediation to transform and route data between a web service consumer and a web service provider, rather than from the web service
provider implementation itself. However, the sample WebSphere ESB mediation in this article lets you focus on how to use the conversion tool, and on the differences between IBM
Integration Bus and WebSphere ESB in regard to interfaces, subflows, maps, inputs, and outputs. The web service in this scenario provides two operations, both consisting of a
Request-Response message exchange pattern. The
FahrenheitToCelsius operation converts a temperature from Fahrenheit to Celsius, while the
operation converts a temperature from Celsius to Fahrenheit (for simplicity, only whole number temperatures are used).
Figure 1. WebSphere ESB mediation module TemperatureTranslate
Figure 1 shows the TemperatureTranslate mediation module project displayed in the Business Integration perspective in IBM Integration Designer. In this example, a single project has been used to contain the Export, Mediation Flow, Interface, and Transformation data maps. The next section of this article steps through the conversion process, which is followed by an analysis of the similarities and differences between the resources in WebSphere ESB and IBM Integration Bus.
IBM Integration Designer export process
The IBM Integration Bus V9 conversion tool accepts build-time resources which were originally created for deployment to WebSphere ESB runtime servers. All versions of WebSphere ESB (6.2 and all later versions), which are currently in service are supported by the conversion tool.
- Begin by exporting a Project Interchange file from the IBM Integration Designer (or WebSphere Integration Developer if you are running the older version of the WebSphere ESB
development tooling). Select File => Export to invoke the export wizard, and then from the Business Integration category, select Integration modules
and libraries as shown in Figure 2, before clicking Next:
Figure 2. IBM Integration Designer Export Dialog
- On the next page of the dialog select the radio button which specifies that the exported content should be a Project interchange for sharing between workspaces,
select the TemperatureTranslate mediation module, and click Next:
Figure 3. IBM Integration Designer selection of projects for export
- On the last page of the dialog, provide a
Target filefor the Project Interchange. Use the name
PI_WESB_TemperatureTranslate.zip. This project interchange zip file is attached to the end of the article, so if you do not have access to an IBM Integration Designer tooling and would like to explore the conversion tool in the IBM Integration Bus Integration Toolkit, you can simply start from the import instructions in the next section of the article.
IBM Integration Toolkit Conversion Process
Now that we have exported a valid project interchange file from IBM Integration Designer, we can import its contents into the IBM Integration Bus V9 Integration Toolkit, and use them to drive the conversion tool.
- Begin by importing the WESB Project Interchange file: Invoke the Import wizard by selecting File => Import and then from the Other category, select WebSphere ESB Project Interchange and then click Next.
- On the next page of the dialog, navigate to the
PI_WESB_TemperatureTranslate.zipand select the TemperatureTranslate mediation module and click Finish. By default, the option to Launch WebSphere ESB conversion after import is selected. If you untick this selection, you can always launch the conversion tool later by right-clicking a project in the
WebSphere ESB Projectscategory and selecting the menu option Convert to Integration Bus resources.
- Whichever method you use to launch the WebSphere ESB conversion tool, a dialog opens and requires you to specify a Project and a Conversion session filename (such as
ConversionSession01). The choices made during the conversion process are stored in this file in addition to a record of the conversion results. For simplicity, keep the default option of using a project named
WESB_Conversionsfor this purpose. When you have provided these details, click Finish.
- The conversion session file is created and opened with its editor as shown below in Figure 4. The editor contains five numbered steps which walk the user through the conversion
process. The first of these steps requires the user to specify which WebSphere ESB Source projects should be converted as part of this conversion session. You can convert as many
projects together at the same time as you like. Typically it is likely to be easiest to convert projects which share the same referenced WebSphere ESB projects at the same time as
part of the same conversion session. The current scenario involves a single WebSphere ESB Source project – the mediation module named
TemperatureTranslate. Each WebSphere ESB source project will have a corresponding Integration Bus target project created. By default the name of the target project will be the same as the WebSphere ESB project. but prefixed with
IBM Integration Bus_. If you wish to change it you can do so by clicking on the name in the table. Keep the default settings and hit the Next link in the bottom right of the editor.
Figure 4. IBM Integration Bus V9 Integration Toolkit Conversion Tool Step 1
- Step 2 (shown below in Figure 5) of the conversion tool displays a summary of the resources selected for conversion, with conversion notes explaining what will happen when the
conversion is started. You can select different levels in the tree view on the left side of the editor and the relevant notes are displayed on the right. The notes include links to
documentation in the IBM Integration Bus information center, which explain some of the concepts in greater detail. Figure 6 shows the XML Maps level of the hierarchy selected. Here
you will see a list of the XML maps which will be converted. Any maps that the tool has located that are actually referenced from an XSL Transformation primitive in a mediation
flow will be selected by default and cannot be unticked. Keep the default settings and click Next at bottom right.
Figure 5. IBM Integration Bus V9 Integration Toolkit Conversion Tool Step 2 (TemperatureTranslate conversion notes)
Figure 6. IBM Integration Bus V9 Integration Toolkit Conversion Tool Step 2 (XML Maps conversion notes)
- Step 3 (shown below in Figure 7) of the conversion tool provides global conversion options which describe how IBM Integration Bus will convert particular mediation primitives, and
particular Import and Export bindings. These options are referred to as global because they will apply to all instances of the primitives which are encountered throughout the
mediation flows being converted. Most primitives are handled by a Built-in Converter class. This means that the conversion tool has capability out of the box which handles these
primitives. Some primitives are not yet handled by the conversion tool, and by default the conversion tool will introduce a subflow at the relevant point in the generated target
IBM Integration Bus message flows. This approach lets the conversion tool maintain the wiring of a mediation flow component, and essentially converts the primitive into an IBM
Integration Bus Passthrough message flow node. As its name suggests, this node does not process the message in any way and is used for documentation purposes only. The message that
it propagates to its Out terminal is the same message that it receives on its In terminal.
Figure 7. IBM Integration Bus V9 Integration Toolkit Conversion Tool Step 3
- Step 4 (shown below in Figure 8) of the conversion tool provides a summary of the options chosen in the previous steps of the Editor and provides a button to Start
conversion. Review the summary and click the button. Depending on the number of resources being converted, the conversion can take a minute or two, with a progress
window showing what is happening whilst the conversion is being run:
Figure 8. IBM Integration Bus V9 Integration Toolkit Conversion Tool Step 4
- Step 5 (shown below in Figure 9) of the conversion tool is the last step in the process and shows a summary of what has been converted. If follow-up manual actions are required,
they are listed on this last panel. The summary shows the original WebSphere ESB files and their closest equivalents in IBM Integration Bus:
Figure 9. IBM Integration Bus V9 Integration Toolkit Conversion Tool Step 5
Comparison of WebSphere ESB and IBM Integration Bus transformation concepts
The Assembly Diagram shown below in Figure 10 depicts the relationship between the Export component (
Export1) and the Mediation Flow component
Figure 10. WebSphere ESB TemperatureTranslate assembly diagram
WebSphere ESB uses exports to define how an SCA (Service Component Architecture) module can be accessed by a web service requester. In our example,
Export1 has a SOAP/HTTP
web service binding. For integration developers who are familiar with the WebSphere Message Broker, the Assembly Diagram can be confusing as there is no directly equivalent view in the
WebSphere Message Broker Toolkit. In particular, note that the WebSphere ESB Assembly Diagram is specifically not equivalent to a message flow diagram in WebSphere Message
Broker. The purpose of the assembly diagram is to express service composition relationships between SCA components. The wires between the boxes symbolize which components access which
other components. The wires do not symbolize a direction of travel, nor do they imply that messages flow across the wires. The
TemperatureTranslate assembly diagram has a
TemperatureTranslate identifying that the
TemperatureTranslate mediation flow component provides the service to the export.
Note that an export can have only one wire leading out of it.
The closest equivalent offered by IBM Integration Bus and WebSphere Message Broker to the role of a WebSphere ESB Export, is that of an input node in a message flow. The IBM Integration Bus conversion tool creates integration services from mediations, which are driven by exports that have a SOAP/HTTP web service binding. IBM Integration Bus integration services are specializations of IBM Integration Bus applications. IBM Integration Bus applications are deployable containers or groupings of related resources (such as message flows, subflows, and message models) that are required to create an integration solution. Typically, an IBM Integration Bus application contains several message flows that an integration developer would like to administer as a single unit – in other words, deployed together, started together, and stopped together. As a specialization of IBM Integration Bus applications, IBM Integration Bus integration services have a defined interface (defined using WSDL) and structure and they act as a container for a Web Services solution. The structure of an IBM Integration Bus integration service includes:
- One main message flow containing the SOAPInput and SOAPReply nodes which parse and write the input and output data.
- One subflow for each operation defined by the Integration Service's WSDL.
Given this background, when the conversion tool creates IBM Integration Bus resources from WebSphere ESB resources, it maps the concept of the WebSphere ESB Export to the SOAPInput node
of the main message flow within the IBM Integration Bus Integration Service. In the IBM Integration Designer, the Export of
TemperatureTranslate is wired to the mediation
flow component itself, which is shown below in Figure11:
Figure 11. WebSphere ESB Overview of the TemperatureTranslate mediation flow component
The mediation flow component's overview shows the interface for the
TemperatureTranslate web service. The interface is named
TemperatureTranslateType (this is
the name of the portType in the WSDL) and it shows the two operations,
CelsiusToFahrenheit. When you open the Integration Service in
the IBM Integration Bus Toolkit created as the result of running the conversion tool, you can view the equivalent information on its Service tab (as shown below in Figure12:
Figure 12. IBM Integration Bus Integration Service, Service tab view
In IBM Integration Designer you can navigate to the mediation flow representing a particular operation by clicking its hyperlink (as shown above in Figure 11). In the same style, in the IBM Integration Toolkit, you can navigate to the subflow representing a particular operation by clicking its hyperlink (as shown above in Figure 12).
Figure 13. WebSphere ESB TemperatureTranslate Mediation Flow, FahrenheitToCelsius operation
Figure 14. IBM Integration Bus TemperatureTranslate FahrenheitToCelsius operation subflow
As shown above in Figures 13 and 14, the display adopted by WebSphere ESB and IBM Integration Bus are very similar in concept. Note that in the IBM Integration Bus Toolkit, if a service includes a callout to another service, then both the Request and Response portions of the flow are displayed on the same tab, where as in IBM Integration Designer they are separated on to different tabs.
IBM Integration Bus V9 is IBM's new strategic integration product (built upon the same architecture as WebSphere Message Broker). The Integration Bus Toolkit provides the first capability for converting build-time resources which were originally created to support WebSphere Enterprise Service Bus use cases. This article has demonstrated using the tool to convert a simple mediation and also discussed some of the architectural differences between the two products. The second article in this series involves a more complex scenario based on the WebSphere Enterprise Service Bus StockQuote sample which shows a wider range of mediation primitives being converted and also discusses the conversion tool's extension points.
- IBM Integration Bus resources
- IBM Integration Bus V9 information center
A single Web portal to all IBM Integration Bus documentation, with conceptual, task, and reference information on installing, configuring, migrating to, and using BM Integration Bus.
- IBM Integration Bus product page
Product features, use cases, and resources.
- What's new in IBM Integration Bus for WebSphere Enterprise Service Bus
A description of key differences between IBM Integration Bus and WebSphere ESB.
IBM Integration Bus Developer Edition
A lightweight edition that you can use for evaluation, development, unit test, and other scenarios.
- What's new in IBM Integration Bus V9
Introductory topic in the IBM Integration Bus Information Center.
- What's new for WebSphere ESB users
Description of key differences between IBM Integration Bus and WebSphere ESB.
- IBM Integration Bus V9 announcement letter
Official announcement information, including prerequisites, terms and conditions, and ordering information.
- IBM Integration Bus V9 introductory video
A short YouTube video showing key IBM Integration Bus features.
- Follow IBM Integration Bus on Twitter
Latest IBM Integration Bus news and announcements,
- IBM Integration Bus forum
Forum on mqseries.net for user questions, answers, and tips.
- Track IBM Integration Bus user requirements
Create, view, and track IBM Integration Bus user requirements.
- IBM Integration Bus V9 information center
- WebSphere ESB resources
- WebSphere ESB information center
A single Web portal to all WebSphere ESB documentation, with conceptual, task, and reference information on installing, configuring, and using WebSphere ESB.
- WebSphere ESB Development Guide
The Development Guide manual in PDF format.
- WebSphere ESB product page
Product descriptions, product news, training information, support information, and more.
- WebSphere ESB documentation
WebSphere ESB product manuals.
- WebSphere ESB information center
- WebSphere resources
- developerWorks WebSphere
Technical information and resources for developers who use WebSphere products. developerWorks WebSphere provides product downloads, how-to information, support resources, and a free technical library of more than 2000 technical articles, tutorials, best practices, IBM Redbooks, and online product manuals.
- Most popular WebSphere trial downloads
No-charge trial downloads for key WebSphere products.
- WebSphere demos
Download and watch these self-running demos, and learn how WebSphere products can provide business advantage for your company.
- WebSphere-related articles on developerWorks
Over 3000 edited and categorized articles on WebSphere and related technologies by top practitioners and consultants inside and outside IBM. Search for what you need.
- developerWorks WebSphere weekly newsletter
The developerWorks newsletter gives you the latest articles and information only on those topics that interest you. In addition to WebSphere, you can select from Java, Linux, Open source, Rational, SOA, Web services, and other topics. Subscribe now and design your custom mailing.
- WebSphere-related books from IBM Press
Convenient online ordering through Barnes & Noble.
- WebSphere-related events >
Conferences, trade shows, Webcasts, and other events around the world of interest to WebSphere developers.
- developerWorks WebSphere