© 2014 IBM Corporation
IEC-1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration BusRob Phippen, Peter BroadhurstHursley Park, IBM UK [email protected]@uk.ibm.com
Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Agenda
ESB Strategy Recap
Development• Conversion framework summary• Extending the conversion framework
ESB Topology Discussion• WESB Physical Topology• IIB Physical Topology• Joint Topologies
IBM Integration BusIBM Integration Bus
WESB
Message BrokerWAS
WebSphere Message Broker evolves to address all WESB use cases– WESB remains in market throughout transition
WebSphere ESB clients are provided with a smooth adoption path – WESB Transfer Licensing for comparable capability and pricing on IBM Integration Bus– Conversion tools convert WESB assets based on customer feedback on priorities– Adopting an Open Source delivery model for conversion function, increasing agility
2. Import WESB flowsAnd Maps
Q2 2013
remains in market
How IBM Integration Bus will become IBM’s integration backbone
use casesimplemented in
gives visibility to
Service Mapping
1. WESB Transfer Licensing
Q4 2012 . . .. . .Conversion
Development in the openPrioritising high value
asset conversion
Use cases #2Prioritising
function WESB customers have
asked for
End of Marketing (EoM) and End of Support (EoS)
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 2014 Jan 2014
30 Apr 201830 Apr 2018
WESB for z/OS 6.27.07.5
Dec 2008Oct 2010Jun 2011
Apr 2013TBDTBD
30 Apr 2014TBDTBD
Announcement: http://bit.ly/Of2Cb1
Transfer Licensing and Modes of Operation
IBM Integration Bus
Advancedlicense
Standardlicense
Expresslicense
WESBTransferlicense
Scale mode Express modeStandard modeAdvanced mode
New
Express: A limited set of nodes are enabled for use within a single execution group. Message flows are unlimited.
Scale: A limited set of nodes are enabled for use within unlimited execution groups. Message flows are unlimited.
Standard: All features are enabled for use with a single execution group. The number of message flows that you can deploy are unlimited.
Advanced: All features are enabled and no restrictions or limits are imposed. This mode is the default mode, unless you have the Developer Edition.
WebSphere ESBWebSphere ESB
Benefit from the IBM ESB strategy
RESTServices
WebServices
DatabaseMQ, JMS Files CICS/IMS
ERP/EIS/CRM
Security Transformation of well formed dataXML, JSON, COBOL, Fixed Width & Delimited
Routing &Composition
Java
IBM Integration BusIBM Integration Bus
Transformation of any dataXML, JSON, COBOL, C/C++, Fixed Width, Delimited,
EDIFACT, ISO8583, HL7, COBOL, NACHA, 4690-TLOG …
Java
Mobile IoT WebSockets TCP/IP
Security Routing &Composition
Analytics
WorkloadManagement
0
20
40
60
80
100
120
140
160
180
200
AuditLogging
DecisionServices
ElasticCache
Pattern-based Dev
No charge for developers
No charge for developers Deployable full
active/activeDeployable full active/active
HTML5 web admin/monitoring
HTML5 web admin/monitoring
Streamlined to ESB use caseStreamlined to ESB use case
High scale MQ events/messaging
High scale MQ events/messaging
© 2014 IBM Corporation
Approaches to conversion
8
Possible approaches to conversion
There are two key parts to the conversion:
Existing integration solutions
Future integration solutions
Limiting future development on the WebSphere ESB platform will minimise the potential conversion work. If future development is required on WebSphere ESB, then structuring this in a IIB friendly manner is sensible to allow straight forward conversion for the future.
Existing integration conversions are normally handled using a combination of the following techniques:
Run in parallel
Gradual migration toward IIB
Immediate migration towards IIB
9
Run in parallel
The existing WebSphere ESB estate is in production and the changes to the existing integrations are limited. In the future, as new integration requirements are raised, IIB will be targeted as the runtime platform.
Points to consider• Future requirements and the suitability of WebSphere ESB or IIB to fulfil
these requirements
• Characterize the existing applications into categories, allowing the development of a long term plan and understanding of the conversion effort, and likely product availability
• Start training activities to understand IIB as the target platform for future applications
• Consider a quick win pilot on IIB
• Determine the interdependencies between the integration solutions – is there a requirement to provide interoperability. Does the existing architecture allow this - for instance SCA Internal bindings
• Consider the infrastructure and license requirements for running in parallel
10
Gradual migration toward IIB
After analyzing the existing integration solutions IIB has been identified as a suitable platform for at least a subset of the deployed solutions. Therefore a “Quick Win” pilot is initiated to prove, educate and learn lessons. In general the existing solutions will have been categorized and a subset selected for conversion.
Points to consider• Characterize the existing applications into categories
• Provides hands on education and experience of IIB
• Provides a time-boxed activity to show the effort and value
• Determine the future requirements and the suitability of WebSphere ESB or IIB to fulfil these requirements
• Determine the interdependencies between the integration solutions – is there a requirement to provide interoperability. Does the existing architecture allow this (for instance SCA Internal bindings)
• Consider the infrastructure and license requirements for running in parallel
11
Immediate migration towards IIB
After analyzing the existing integration solutions IIB has been identified as a suitable platform for all deployed solutions. Normally the existing WebSphere ESB estate is relatively small and a complete/immediate migration is sensible in this situation.
Points to consider• Characterize the existing applications into categories
• Determine the sizing of the overall migration and the associated risk
• Determine if a fail back strategy is required
• Future requirements and the suitability of IIB to fulfil these requirements
• Generally only recommended for customers with a limited WebSphere ESB deployment or at the early stages of deployment
12
Integration Solution Conversion Categories
Category 1: Tool converted • The conversion tool is a sensible approach and will require limited
customization
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
Category 3: Manual conversion • The integration solution is custom in nature and the conversion tool will not
greatly assist the effort. This may be due to the complexity of the solution or that a one to one mapping of primitive to corresponding nodes would provide a sub-standard solution. The core functionality is available within the product.
Category 4: Custom solution – • Similar to category 3, however some functionality is not available out of the
box without custom coding.
13
© 2014 IBM Corporation
WESB to IIB Conversion tooling
Architectural Concepts
Web ServiceClient
Web ServiceClient
WMB Service
Web Service
Provider 1
Web Service
Provider 1
Web Service
Provider 2
Web Service
Provider 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 ServiceClient
Web Service
Provider 2
Web Service
Provider 2
Web Service
Provider 1
Web Service
Provider 1
Built-in conversion tools for WESB source assets• Initial emphasis on web services use cases (e.g. StockQuote)• Advanced use cases over time; convert when appropriate for your installation• Open framework for user and partner extensions
Conversion from WebSphere Enterprise Service Bus
Simple workflow creates IB resources1. Export WESB PI from IID
2. Import mediations into Eclipse Toolkit
3. Right-click “convert” task to start conversion
4. Follow guided editor to generate resources
5. Task List will identify remaining manual steps
6. Iterate as necessary
Open Conversion Framework• Extensibility means more WESB primitives and resource types can be converted over time
– No minimum version requirement of WESB source– Builds directly into WESB conversion editor
• Design allows for future assisted resource creation from non-Integration Bus sources, e.g.– eGate Java collaborations and Event Type Definition, exploiting existing JAXB support– ICS collaborations, including ASBO and GBO model, exploiting new GDM pattern enablement
WebSphere ESB StockQuote Request and Response Flows
Callout SOAPRequest + SOAPExtract
XSLTransformation Mapping
MessageElementSetter JavaCompute (JAXB)
MessageFilter Route
IBM Integration Bus StockQuote
Extension points
Some 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 relebant 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.
Specifying the wiring for a mediation primitive extension
© 2014 IBM Corporation
System Topology
Hardware Load Balancer
WebSphere Enterprise Service Bus Golden Topology
25
Server
Physical Server
ServerServerServer
Physical Server
ServerServer
ServerServerServerServerServerServer
ServerServerServerServerServerServer
Application Cluster
Support Cluster
Messaging Cluster
IHS IHS
Hardware Load Balancer
ME DB
SupportDB
The Golden Topology is the standard production template which is customized to meet a number of quality of service requirements. The particular setup used may remove the support cluster and load balancers but most customers use the below as a template.
Considerations
High Availability of the solution
Recover in-flight requests
Asynchronous invocation styles
Application isolation
Application persistent requirements
SIB JMS Bindings
Asynchronous Bindings correlation information
Long running integration logic
Event Sequencing
Store and forward
26
IBM Integration Bus TopologyBuild an IBM Integration Bus topology for your needs
• Use the simplest topology and feature set that fits your needs• No single ‘golden topology’ recommendation
The below represents a foundation starting point• Active-active infrastructure• Complete for stateless HTTP workloads
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
IntegrationServer
IntegrationServer
Physical Server
Notable differences to WESB golden topologyNot all nodes are created equal
• Could choose to have a different set of servers on each node• Could choose to have a different set of applications (or ‘flows’) on the servers of each node• Simple scripting interface provided for roll-out across a set of nodes
HTTP distribution handled within the Integration Node• IHS can also be layered into the solution (more on that later)
Active-active messaging runtime• MQ is active on every node
Integration NodeIntegration Node
MQ Queue Manager
HTTP Listener
Hardware Load Balancer
Hardware Load Balancer
Physical Server
Integration NodeIntegration Node
MQ Queue Manager
HTTP Listener
IntegrationServer
IntegrationServer
Physical Server
Stateful logic – overview of differences with WESBState in WESB is commonly stored in the Messaging layer
• A single highly available Messaging Engine that ‘floats’ across the servers (active-passive)• A Database used under the covers to make that state available across the cluster
The simple starting point below does not have an equivalent• Each integration node has a different MQ queue manager (active-active)
Let’s take a look at the options…
Integration NodeIntegration Node
MQ Queue Manager
HTTP Listener
Physical Server
Integration NodeIntegration Node
MQ Queue Manager
HTTP Listener
IntegrationServer
IntegrationServer
Physical Server
Stateful logic – option 1: Global cacheHigh value feature of IBM Integration Bus
• Uses IBM WebSphere eXtreme Scale technology
Simple to configure as a high available, synchronously replicated, cache across all brokers
Ideal for caching request/reply context
Ideal for performance caching of state tables persisted to a file or DB
Integration NodeIntegration Node
MQ Queue Manager
HTTP Listener
Physical Server
Integration NodeIntegration Node
MQ Queue Manager
HTTP Listener
Globalcache
IntegrationServer
IntegrationServer
Physical ServerPhysical Server
Stateful logic – option 2: HA failoverChoose a HA failover technology
• MQ multi-instance – Needs highly available network-attached storage (NAS)• HA clustering software (PowerHA, Veritias Cluster Server, MSCS etc.) – Direct fiber connection to SAN
Host your MQ state queues and/or singleton flows in one active/passive integration node• Use JMS nodes to attach remotely to that MQ queue manager
Solves other HA integration challenges that cannot be active/active. Examples:• Flows that listen for arrival files, and do not have special file locking• Flows with strict ordering requirements
HAfailover
Integration Node
Integration Node
STATE
Integration Node
Integration Node
STATE
HAfailover
Integration Node
Integration NodeIntegration Node
Integration Node
SingletonFlow
SingletonFlow
HAFS
HAFS
IIB and BPM/WESB Combined Topologies
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
Solution Architecture – Common Pattern
Integration Layers MAY be manifested as separate physical deploymentsService Consumers Service Exposure Integration Hub Adaptation Service Providers
Gateway
Enterprise Service
Existing interface to backend system
IntegrationHub Web Svc
Enablement
MQEnablement
Integration Service
Enables ‘backend access’ via a standardised protocol/format
Current In-production integration
WESB/IIB Joint Topologies: New project uses 100% IIBService Consumers Service Exposure Integration Hub Adaptation
New IIB-Based Integration
Service Providers
WESB
IIB
For architectures where ‘Service Enablement’ is a separate layer
In an architecture where e.g. Web Service enablement is treated as a separate physical layer
• New service enablement can be done exploiting IIB• Existing Service enablements that exploit WESB can be reused,
though consider cost/benefit of converting to IIB
Service Consumers Service Exposure Integration Hub Service enablement Service Providers
WESB
IIB
IIB
IIB
Current In-production integration
DataPower appliances are frequently used with WESB for Security and QOS
Service Consumers Service Exposure Integration Hub Adaptation Service Providers
WESBDataPower
Current In-production integration
…this can easily be extended to exploit new IIB-based integration
Service Consumers Service Exposure Integration Hub Adaptation
New IIB-Based Integration
Service Providers
WESB
IIB
DataPower
WAS IHS configured to provide a uniform URL scheme
The IBM HTTP Server supplied as part of WAS can be configured to treat IIB and WESB-based services as part of a uniform URL scheme
Service Consumers Service Providers
Current In-production integration
WESB
New IIB-Based Integration
IIB
WAS IHS
Summary
WESB Distributed EoS Extended to 2018
WESB transfer Licencing to IIB Scale
WESB to IIB conversion tooling
Topology Considerations
Reminder: consider joining the IIB EAP
Questions?
We Value Your Feedback
Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us – we use it to continually improve the conference.
Use the Conference Mobile App or the online Agenda Builder to quickly submit your survey
• Navigate to “Surveys” to see a view of surveys for sessions you’ve attended
42
Thank You
Legal Disclaimer
• © IBM Corporation 2014. All Rights Reserved.• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained
in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM ’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
• If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete:Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
• If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete:All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.
• Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
• If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete:Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
• If you reference Java™ in the text, please mark the first use and include the following; otherwise delete:Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
• If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete:Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete:Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
• If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete:UNIX is a registered trademark of The Open Group in the United States and other countries.
• If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.
• If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.