41
© 2014 IBM Corporation IEC-1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus Rob Phippen, Peter Broadhurst Hursley Park, IBM UK Laboratories [email protected] [email protected]

1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

Embed Size (px)

DESCRIPTION

Presentation from IBM Impact 2014. IBM Integration Bus is designed to incorporate WebSphere Enterprise Service Bus use-cases and offers many advantages for users over the WESB product. Conversion from WESB to IIB is designed to be straightforward, and there is a significant amount of assistance and collateral available for enabling this to happen. This session will take you through all the available options for WESB conversion, including what's new for clients who are already embarking on their journey to IIB.

Citation preview

Page 1: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

© 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

Page 2: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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.

Page 3: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

Agenda

ESB Strategy Recap

Development• Conversion framework summary• Extending the conversion framework

ESB Topology Discussion• WESB Physical Topology• IIB Physical Topology• Joint Topologies

Page 4: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 5: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 6: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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.

Page 7: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 8: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

© 2014 IBM Corporation

Approaches to conversion

8

Page 9: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 10: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 11: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 12: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 13: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 14: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

© 2014 IBM Corporation

WESB to IIB Conversion tooling

Page 15: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 16: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 17: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

WebSphere ESB StockQuote Request and Response Flows

Page 18: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

Callout SOAPRequest + SOAPExtract

XSLTransformation Mapping

MessageElementSetter JavaCompute (JAXB)

MessageFilter Route

IBM Integration Bus StockQuote

Page 19: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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.

Page 20: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

Specifying the wiring for a mediation primitive extension

Page 21: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

© 2014 IBM Corporation

System Topology

Page 22: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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.

Page 23: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 24: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 25: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 26: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 27: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 28: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 29: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

IIB and BPM/WESB Combined Topologies

Page 30: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 31: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 32: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 33: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 34: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 35: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 36: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 37: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 38: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

Questions?

Page 39: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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

Page 40: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

Thank You

Page 41: 1136 Conversion from IBM WebSphere Enterprise Service Bus to IBM Integration Bus

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.