Post on 14-Jul-2015
© 2015 IBM Corporation
Conversion from WebSphere Enterprise Service Busto IBM Integration Bus
Ben Thompson, IIB Architect
Conversion from WESB to IIB
What, When and Why
– A Quick Reminder
– When should I convert to IBM Integration Bus?
– Why should I convert to IBM Integration Bus?
Product Comparison
Conversion Tool Overview
Conversion Tool Walkthrough
Topologies
What, When and Why
IBM Integration Bus is IBM’s Strategic Integration Technology
– IIBv10 provides a radical Evolution of Integration Bus Version 9
– Increases the number of WebSphere ESB compatible use cases
WebSphere ESB users are provided with a smooth adoption path
– Two alternative “no cost” Transfer Licenses available
– IBM Software Services and Business Partner conversion offerings for assistance
A Quick Reminder …
IBM Integration Bus
WESB
Message BrokerWAS
WESB 6.2 (dist), 7.0, 7.5, 7.5.1 remain in support
use cases
implemented in
gives visibility to
Service Mapping
WESB Transfer
Licensing
Q4 2012
. . .
End of normal
support
April 2018
Development of Conversion
Tool in the open
Prioritizing high value asset
conversion
Improving IIB to make a
better landing point from
WESB
Conversion
Tool
Phase 1
Framework
Q2 2013
When should I convert to IBM Integration Bus?
Product Version GA Date EoM Date EoS Date
WESB 6.27.07.5
Jan 2009Jan 2010Jun 2011
Jan 2013Apr 2015Apr 2015
30 Apr 201830 Apr 201830 Apr 2018
WESB Retail Store Edition 7.07.5
Apr 2010Jun 2011
Apr 2015Apr 2015
30 Apr 201830 Apr 2018
WESB Registry Edition 7.07.5
Oct 2010Jun 2011
Jan 2014Jan 2014
30 Apr 201830 Apr 2018
When is right for you, will depend upon your individual particular circumstances
– How much of an existing investment do you have in WebSphere ESB?
– Estimation of time / effort for conversion will depend on both complexity and volume of artifacts
– Are you satisfied with the current functionality available with WebSphere ESB?
– Do you have new integration projects planned?
– Do you have BPM Advanced installations?
Licensing Options
Option 1
1 PVU of WESB gives 1 PVU of IIB (Scale mode)
• Identical $ value
• Comparable scalability
• Comparable capability
Option 2
2 PVU of WESB gives 1 PVU of IIB Advanced plus 1 PVU of IIB Idle Stand-by
• Added $ value
• Comparable scalability
• Enhanced capability
• Includes production usage of WebSphere Adapters
• SAP, Siebel, PeopleSoft, JDEdwards
• IIB HA ready (active and idle parts included)
Scale Mode: A limited set of message flow nodes are enabled for use within unlimited integration
servers. Message flows are unlimited.
Advanced Mode: All features are enabled and no restrictions or limits are imposed.
Why should I convert to IBM Integration Bus?
IIB has approximately 100 built-in primitive nodes … some advances on WESB …
– TCPIPClient Input / Output / Request nodes
– TCPIPServer Input / Output / Request nodes
– Timeout Control node and Timeout Notification node
– FTP and SFTP support for File Input / Output / Read nodes
– FTE, Connect Direct C:D, IMS, Corba, Email nodes
– MQTT Publish and MQTT Subscribe (introduced in v10)
– DecisionService node (embedded Operational Decision Management)
Subflows deploy by reference and not by copy
– V10 additionally introduces shared libraries which reduce memory overhead further
IIB Patterns (as a user and author!)
– No need to start from a blank message flow
– Lower barrier to entry
– Pattern authoring using graphical wizard, Java, PHP
IIB provides a heterogeneous product runtime
– Graphical Data Mapping, ESQL, XSLT, .NET, Java and C extensions
– Two alternative styles for Java development – IIB API and JAXB
– Embedded .NET Common Language Runtime
– Debug (Both in IIB Toolkit and MS Visual Studio), hot swap libraries
– User-defined nodes implemented using subflow
Why should I convert to IBM Integration Bus?
Easy parsing and writing of non-XML data formats
– DFDL (Data Format Description Language) open standard
– Built-in test perspective to check messages against metadata without deploying
Graphical Data Mapper
– Includes support for non-XML inputs and outputs
– v10 introduces support for “schema-less” source and target
– JSON domain, and un-modelled Environment tree and LocalEnvironment tree
Browser based Web Administration interface
– Graphical visualizations of Accounting Statistics, and Resource Manager Statistics
– V10 introduces MQTT pub / sub alternative to MQ for statistics distribution
Workload Management policies
– Notification threshold, max flow rate & stopping unresponsive flows
IIB provides a built-in high performance global cache
– Cache "static" data in memory to improve performance or correlation information to allow
requests & replies to follow different paths through the physical topology
– Share data between multiple integration servers and nodes
– Support for an embedded cache and also connection to external WXS grids (and XC10)
Conversion Strategy Approaches
Run in parallel – Wait
– Move future development of integration solutions to IIB
– Start training activities to understand IIB as the target platform for future applications
– Wait to convert existing WebSphere ESB estate
– Build long term plan for conversion to IIB
– Consider the infrastructure and license requirements for running in parallel
Gradual migration toward IIB
– Initiate conversion pilot to build skills and learn lessons.
– Phased conversion of integration solutions.
– Run in parallel until conversion complete.
– Consider the infrastructure and license requirements for running in parallel
Immediate migration towards IIB
– Determine the sizing of the overall migration and the associated risk.
– Determine if a fall back strategy is required
– Generally only recommended for customers with a limited WebSphere ESB deployment or
at the early stages of deployment
When considering conversion strategy, two key parts:
• Future integration solutions
• Existing integration solutions
Three broad categories of approach:
Conversion – what can I expect?
Category 1: Tool accelerated
– The conversion tool is a sensible approach and the resulting applications will require
limited customization.
– Extensive use of the tool as-is for conversion.
Category 2: Tool assisted
– A standard template is used across multiple integration solutions and customization of the
conversion tool or pattern templates represent a sensible approach to accelerate the
conversion.
– Extensive use of the tool with customizations.
Category 3: Manual conversion
– The core functionality is available within the product.
– The integration solution may contain extensive custom use of custom code.
– Due to the complexity of the solution a literal mapping of primitive to corresponding nodes
would provide a sub-standard solution.
– The customer may wish to combine conversion with a change of architectural approach.
– Some use of the tool to kick start conversions.
Category 4: Custom solution –
– Similar to category 3, custom coding need in additional to core functionality in the product.
Product Comparison
A Quick Introduction to IIB
IBM Integration Bus Toolkit and Runtime
– Download and install as many development environments as you like, free of charge
– IIBv10 has been running an Open Beta download for early v10 access as well
– IIBv10 introduces a zero pre-requisites, “Single Package Installation”
– The IBM Integration Toolkit is not a licensed component
– Eclipse based tool with a dedicated perspective for integration development
– Extensive visual debug capabilities and visual trace for unit testing
– Pluggable integration with code versioning systems
– Drag and drop deployment
– Runtimes can be local or remote
– Product runtime (all features enabled) provided free of charge for development and unit test
IBM Integration Bus Overview
Architectural Concepts
Web ServiceClient
IIB Service or Application
Web ServiceProvider 1
Web ServiceProvider 2
Flow
Mediation Flow ComponentExport
Binding
FunctionSelector
Import
Binding
Subflow: Operation 2 Request_Response
Subflow: Operation 1 Request_Response
Operation 1 Request
Operation 1 Response
Import
Binding
Operation 2 Request
Operation 2 Response
Web ServiceClient
Web ServiceProvider 2
Web ServiceProvider 1
IBM Integration Bus
WebSphere ESB
Different naming, similar concepts
Toolkit project and deployment structures
IBM Integration Designer
Applications provide a container for integration
logic
Libraries are associated with applications to
provide common logic
Deployment is always at the Application level
and normally includes a copy of the library
within each application (shared by copy)
The runtime provides application isolation
ensuring that one deployed application can not
conflict with another
IBM Integration Toolkit
Applications & Services both provide
containers for integration logic with Services
exposing HTTP/SOAP Web Services
Libraries can be associated with applications
and services to provide common logic
Deployment can occur at the Application,
Service or Library level.
V10 introduces Shared libraries (shared by
reference)
V10 introduces runtime application isolation for
Java
Conversion Tool Overview
What’s New in the Conversion tool?
At IIB v9 the tool offered some capability to convert web services based integrations.
– Single export, single mediation component, single import.
– Web services binding only.
– Built-in converters for 3/30 mid-flow primitives
New capabilities in IIBv10 expand the breadth and depth of conversion
– Convert multiple exports with any binding
– Convert multiple synchronous imports with any binding
– Convert multiple connected mediation components with multiple interfaces
– Convert subflows
– Built-in converters for 25/30 mid flow primitives
– Convert Java Components
– Java code in WESB source projects will be copied to a Java project in IIB
• One java project created for each WESB Library project and mediation module project
containing Java code
Running the IIB Conversion Tool
Import a project interchange file into the IBM Integration Toolkit
Projects appear unchanged under “WebSphere ESB Projects” category
Toolkit does not include the same eclipse plugins as WID / IID
You cannot edit / further develop WESB mediations
Once PI is imported, right click any WESB project to launch the conversion tool
Updating the Conversion Tool
Conversion Flow Structure
Import binding logic encapsulated in an Import subflow
Export binding logic encapsulated in Export Request and Export Response subflows
Mediation Component Request and Mediation Component Response in separate subflows
WESB Primitive Conversions
oror
or
or
andand
or
or
and
or
Java code conversion
Where Java is concerned, the Conversion tool is designed for assistance rather than full
conversion
A subflow is generated for each Java component in the original mediation module
The subflow contains a JavaCompute node (same name as original WESB Java
component)
The JavaCompute node has an implementation class to mimic the behaviour of the
original Java component
If the original WESB Java Component has one or more references wired to other WESB
components then each referenced component becomes a subflow node
– If there is only 1 referenced component, Alternate terminal is used
– If more than 1 referenced component, a Route node is included which routes on:– $Environment/Variables/headers/RoutingHeader
– A further JavaCompute node, SetResponse, is used to store the message
Java code conversion
converts to:
Protocol Handling
WESB
SCA Export/Imports are used to
represent data entering and leaving the
system. These are then bound to a
protocol such as MQ, JMS, HTTP,
WebServices etc.
Protocol neutral data handlers are then
associated that transform the wire
bytes into the Service Message Object
(indirectly).
Several built-in data handlers exists for
instance: XML, JSON, Fixed Width and
Delimited
Custom data handlers can be created
using a Java API
Function selectors are used to select
the operation for the interface
associated with the SCA Export
IBM Integration Bus
Individual input and output nodes are provided
for each protocol supported.
Protocol neutral parsers are associated with
the input nodes to transform the wire format
data into the message tree. The parser used
to complete the processing is stored within the
message tree and used for serialization.
Changing the input and output parser is
completed by either reparsing the input data
or manually changing the shape of the
message tree.
Built-in parsers include: XML, JSON and
DFDL
DFDL allows custom message formats to be
created using either a graphical or XML editor.
Custom parsers can also be created
Data Handlers
• General conversion approach:
• Land the user on the correct parser
• Mostly XMLNSC or DFDL but others possible such as JSON, JMSMap, JMSStream, BLOB
• At a later stage we may provide aided conversion of well-known data handlers into DFDL such as Fixed
Width, CSV, Delimited and Language Data Binding Adapter (C + COBOL)
• We will not look to run or convert custom java data handlers. We will provide guidance of how to bring
their bespoke formats to DFDL.
Protocol
Parser
Message
Model
Input Node Route Node
Mapping the SMO Context to IBM Integration Bus
In WebSphere Enterprise Service Bus the Service Message Object context stores data
which is not part of the message payload, yet which is needed by primitives inside a
mediation flow
In IBM Integration Bus, the Environment tree and the Local Environment tree store
variables that can be referred to and updated by primitive nodes in a message flow
A mapping is provided between the WESB SMO Context and the IIB message assembly
Mapping the SMO Context to IBM Integration Bus
Although a mapping has been
provided for the correlation context, in
asynchronous scenarios it is likely that
further flow design work will be
required
Extending the Conversion Tool
• Majority of mediation primitives are handled by a Built-in Converter class out of the box
• By default, mediation primitives which are not yet converted will have a subflow placed
into the target message flow at the relevant point.
• The replacement subflow will have input and output nodes representing the original
terminals of the mediation primitive, so the wiring of the mediation flow component is still
preserved even in these situations.
• The generated subflow contains an IIB Passthrough message flow node
• You can create a Java converter class which extends AbstractMediationPrimitiveConverter, which will provide a conversion capability
for mediation primitive nodes which the core tool does not yet handle.
Extending the Conversion Tool
Conversion Tool Walkthrough
Conversion Tool Workflow
Built-in conversion tools for WESB source assets
– Accelerate conversion of WESB source assets to IIB source assets.
– Tool improvements increase breadth and depth on conversion. Reducing further work.
– Open framework for user and partner extensions to allow customization of the tool.
Simple workflow creates IIB resources
– Export WESB Project Interchange from IID
– Import PI into IIB Toolkit
– Follow guided editor to generate resources
– Use Task List to identify manual steps and iterate as necessary
Creating a Conversion session
1. Select WESB Projects
2. Configure WebSphere ESB resource options
2. Configure WebSphere ESB resource options
3. Configure global conversion options
4. Convert WebSphere ESB resources
5. Review Results
Broadly generalizing, manual To-do tasks are currently mostly in the following areas:
– Completion of IIB primitive node configuration
– Message Map completion (XSLT extension functions, context mappings)
– WSDL and XSD validation problems
– Java code conversion fix up
Topologies
Architectural Considerations
Topology– Customers moving from WESB typically have topologies based around the golden topology. – There is no single recommended topology in IIB. The choice of topology depends on the
customer specific needs.– However the starting point when converting from WESB would be an active – active topology
in IIB with multiple active IIB nodes.
Monitoring
– IIB has a similar granularity of monitoring event to WESB.
– Many IBM or third party monitoring solutions that supported WESB can also be used with IIB.
– IIB has it’s own in-built monitoring instrastructure that can be accessed from the WEBUI and
via queues for custom solutions.
Security
– WESB uses WAS security model.
– IIB security model is simpler.
– But has support for the most popular security technologies
– LDAP, User Token, SSL, SAML etc..
Administration and Operations
– WESB based on WAS admin model. WAS admin console. JACL, Jython scripts.
– Broker admin model is designed to be fully scriptable.
– Command support for admin tasks. Integration API
Architectural Approach
– Do you want to keep the same architectural approach for integration solutions in IIB that was
used in WESB or time for a change?
WESB Golden Topology
Hardware Load
Balancer
Server
Physical Server
ServerServer
Server
Physical Server
ServerServer
ServerServer
ServerServer
ServerServer
ServerServer
ServerServer
ServerServer
Application Cluster
Support Cluster
Messaging Cluster
IHS IHS
Hardware Load
Balancer
ME
DB
Support
DB
A Basic IBM Integration Bus Topology
Physical Server
Integration NodeIntegration Node
MQ Queue Manager
HTTP Listener
Hardware Load
Balancer
Hardware Load
Balancer
Physical Server
Integration NodeIntegration Node
MQ Queue Manager
HTTP Listener
Integration
ServerIntegration
Server
Solution Architecture – A common pattern
Service Consumers Service Exposure Integration Hub Adaptation Service Providers
This layer is
responsible for
adding quality of
service.
Typical
examples:
security, throttling
General purpose
integration layer.
Typical example:
combine
interactions from
multiple systems
This layer is
responsible for
coping with
interaction with a
single, specific
backend system.
Typical example:
“web service
enablement”
Consumers of
enterprise
services
The ultimate
providers of
function. Typical
examples: ERP
systems,
DataBase
applications
Connectivity and Integration Function
Enterprise
Service
Existing interface
to backend
system
WESB and IIB Joint Topologies
Current In-production integration
Service Consumers Service Exposure Integration Hub Adaptation
New IIB-Based Integration
Service Providers
WESB
IIB
The role of a Gateway device
Current In-production integration
Service Consumers Service Exposure Integration Hub Adaptation
New IIB-Based Integration
Service Providers
WESB
IIB
DataPower
DataPower appliances are frequently used with WESB for security and QoS
Similar gateway components can be used to exploit similar IIB architectures
WebSphere Application Server and IHS
Service Consumers Service Providers
Current In-production integration
WESB
New IIB-Based Integration
IIB
WAS IHS
The IBM HTTP Server supplied as part of WebSphere Application Server can be
configured to treat IIB and WESB based services as parts of a uniform URL scheme
Notices and DisclaimersCopyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or
transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been
reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM
shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY,
EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF
THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT
OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the
agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without
notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are
presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual
performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,
programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not
necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither
intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal
counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s
business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or
represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products in connection with this
publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any
IBM patents, copyrights, trademarks or other intellectual property right.
• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document
Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand,
ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™,
PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®,
pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®,
urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of
International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on
the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
Thank YouYour Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee
Portal to complete your session
surveys from your smartphone,
laptop or conference kiosk.