What's New in IBM MQ - Version 8

11,501 views
11,160 views

Published on

A review of new features in IBM's premier messaging product.

After a short look at 2013 updates, it gives an overview of all features of the V8 release. Other presentations go into deeper details on some of these features, but this gives the essential flavour for it all.

Published in: Technology
0 Comments
16 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,501
On SlideShare
0
From Embeds
0
Number of Embeds
59
Actions
Shares
0
Downloads
0
Comments
0
Likes
16
Embeds 0
No embeds

No notes for slide

What's New in IBM MQ - Version 8

  1. 1. © 2014 IBM Corporation Session 1863: What's new in IBM Messaging Mark Taylor marke_taylor@uk.ibm.com IBM Hursley
  2. 2. © 2014 IBM Corporation 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.
  3. 3. © 2014 IBM Corporation IBM Messaging – Market segments Deliver Messaging Backbone for Enterprise Focus on traditional MQ values, rock-solid enterprise-class service, ease-of-operation, breadth of platform coverage, availability, z/OS exploitation Capture Big Data from Mobile and Internet of Things Focus on Internet-scale events, m2m device enablement, zero-admin, security and privacy, feed into real-time analytics, location-based notifications Enable Developers to build more scalable, responsive applications Focus on new app dev use cases, breadth of languages, ease-of- deployment, lightweight services, integration with developer frameworks
  4. 4. © 2014 IBM Corporation Notes IBM Messaging – Market segments
  5. 5. © 2014 IBM Corporation 1990s 2000s 2010s JMS MQI Assured delivery IBM MQSeries Multi-platform Mobile .NET Common criteria Eclipse JMS 1.1 RCMS IBM MQ Low Latency V1.1 V2 V5 V5.1 V5.3 V2.1 V5.2 V6 V7 V7.0.1 SSL SOAP XML IBM MQ Managed File Transfer IBM MQTT HTTP AJAX REST Web 2.0 Managed File Transfer Pub/sub IBM MQ Everyplace IBM MQ Advanced Message Security V7.1 V7.5 Integrated Messaging Hypervisors IBM MQ Advanced System Pattern Application Pattern IBM MQ Advanced for Developers IBM MessageSight Multiple cluster XMIT queue Multi-instance QMGR IBM MQ Low Latency 20th Anniversary of MQ at IMPACT V8 Timeline
  6. 6. © 2014 IBM Corporation WebSphere MQ V7.1: Feature Summary (Nov 2011) New Feature Benefits Details Multi-Version Install capability on Distributed platforms Makes it easier to deploy and upgrade systems and stage version to version migration Unix and Windows support for multiple versions of MQ V7.x (AND one copy of MQ V7.0.1) down to fixpack levels. Relocatable installation support. Applications can connect to any Qmgr Enhanced Security Simplified Configuration Enhanced Authorisation and Auditing IP address Authorisation capability Additional crypto algorithms More granular authorisation for non-local queues Application Activity Reports Cloud Support Simplifies and support Cloud deployments Additional HVE images Enhanced Clustering Improves ease-of-use Authorisation on Cluster Q rather than XMIT Q on Dist. Platforms Bind-on-Group Support Multicast capability New messaging QoS provides low latency with high fan-out capability MQ Pub/Sub Topic space can now map to multicast Group Addresses Provides direct interoperability with MQ LLM Improved scalability and availability on z/OS Further exploitation of z196 Customer control over CF storage use CF Connectivity Loss improvements Code contention reduced to improve multi-processor linear scaling Use of MQ Datasets rather than DB2 significantly improves “large” message capability Structure rebuild capability for CF Connectivity Loss scenarios Improved Performance on Dist platforms Improved multiprocessor exploitation Various code improvements
  7. 7. © 2014 IBM Corporation WebSphere MQ V7.5: Feature Summary (June 2012) • For Windows, Unix and Linux New Feature Benefits Details Integrated Installation Makes it easier to deploy systems Simpler licensing Combines several products into a single package Common experience Enhanced Clustering Improves ease-of-use Improves application isolation Split Cluster Transmission Queue Java Application Identification Makes it easier to distinguish applications Applications no longer to all have the same name AMS channel interception Provides a level of message protection even when application environment cannot run AMS Interception in the SVRCONN still protects messages before hitting queues FTE Logger Options Can write FTE audit records to flat file No longer a requirement for an enterprise database Easier to read data immediately
  8. 8. © 2014 IBM Corporation 2013 Updates
  9. 9. © 2014 IBM Corporation WebSphere MQ: Feature Summary (2013) • Updates to pricing and function during 2013 New Feature Benefits Details MQ 7.1 Value Unit Edition introduced for z/OS One time charge (OTC) pricing for zNALC workloads Queue managers supporting qualified workloads on System z New Application License Charge (zNALC) LPARs Includes WebSphere MQ Client Attach, allowing free-of-charge connections from MQ Clients to z/OS SHA-2 CipherSpecs for SSL/TLS on z/OS Stronger hashing algorithms Required/recommended by some authorities Available from V7.1 GA on distributed platforms Now also available on z/OS 7.1, with two APARs* Internet PassThru (MS81) refresh Updates to SOE and crypto algorithms Consistent SSL/TLS support and certificate DN attributes with MQ V7.1 Uses JRE-provided Java Secure Sockets Extension (JSSE) Support for SHA-2 and elliptic curve encryption, in line with US NIST standard SP800-131A recommendation MQ JCA RA support in WAS Liberty profile MQ 7.5.0.2 RA is easily configured in Liberty Connects to any supported version of MQ Liberty profile expects resource providers (database, messaging) to supply provider-specific classes Configure “wmqJmsClient.rar.location” variable in server.xml MQ 7.1 Extended Transactional client for HP NSS platform MQ V7.1 function for NonStop applications accessing MQ on other systems Free and fully supported Supports C/C++, COBOL, pTAL, JMS Supports Guardian and OSS applications including OSS multi- threaded applications Available as SupportPac MAT1 *APAR OA39422 needed on z/OS V1R13 for System SSL *APAR PM77341 for MQ on z/OS V7.1
  10. 10. © 2014 IBM Corporation SHA-2 for SSL/TLS on z/OS • SHA-2 CipherSpecs available at V7.1 GA on Distributed platforms – Stronger hashing algorithms – Required/recommended by some authorities • Now also available on z/OS • APAR OA39422 needed on z/OS V1R13 for System SSL • APAR PM77341 for MQ on z/OS V7.1
  11. 11. © 2014 IBM Corporation Internet Pass-Thru – SupportPac MS81 • Previous MQIPT 2.0 release was in 2008 – Many new operating systems have been released since then – New cryptographic algorithms since then • Redesigned to use the JRE-provided Java Secure Sockets Extension (JSSE) – Previously used a separate SSL implementation • This gives consistent SSL/TLS support – Also has consistent certificate DN attributes with MQ V7.1 • US NIST standard SP800-131A recommends: – Support for SHA-2 (e.g. SHA-256, SHA-384 and SHA-512) – Elliptic Curve encryption
  12. 12. © 2014 IBM Corporation MQ V7.1 VUE for z/OS • MQ Value Unit Edition product introduced for z/OS • One time charge (OTC) pricing for zNALC partition workloads – OTC price metric instead of MLC • Run new workloads that are qualified to run on System z New Application License Charge (zNALC) LPARs • Includes code and entitlement for WebSphere MQ Client Attach, allowing free-of-charge connections from MQ Clients to z/OS
  13. 13. © 2014 IBM Corporation JMS in Liberty Profile • WAS Liberty profile does not include a copy of the MQ JMS client – For consistency with other resource providers such as databases – Provider specific classes come from the resource provider • The RA provided with MQ can be easily configured in Liberty – Define one variable in server.xml to tell the wmqJmsClient-1.1 where the client is <variable name="wmqJmsClient.rar.location" value="${shared.resource.dir}/wmq/wmq.jmsra.rar"/> • Requires the MQ 7.5.0.2 rar or a fix on top of 7.5.0.1 • More information is at – https://www.ibmdw.net/wasdev/2013/06/14/using-websphere-mq-with-the-liberty-profile/ – http://www-01.ibm.com/support/docview.wss?uid=swg21633761
  14. 14. © 2014 IBM Corporation New client support for HP NSS (aka Tandem) • Extended Transactional client support at an MQ V7.1 release level • Full MQ V7.1 function for NonStop applications accessing MQ on other systems • Client is free and fully supported – C / C++ extended transactional client – Cobol – pTAL support – JMS client • Supports both Guardian and OSS applications – including OSS multi-threaded applications • Available as SupportPac MAT1
  15. 15. © 2014 IBM Corporation MQ MFT and Sterling • For comprehensive file transfer needs IBM provides integration between MQ Managed File Transfer, and Sterling Connect:Direct, with monitoring by Sterling Control Center • Sterling Control Center provides real time visibility into file-driven information exchanges within and between businesses, and this now supports MQ Managed File Transfer as well as Sterling Connect:Direct • New licensing terms give entitlements to MQ MFT alongside Sterling Connect:Direct and Sterling Control Center
  16. 16. © 2014 IBM Corporation Now available
  17. 17. © 2014 IBM Corporation Reuse is not just for code • Another new book where the MQ chapter may look familiar
  18. 18. © 2014 IBM Corporation End of Service for old platforms and versions • MQ V7.0.0 and V7.0.1 for multiplatforms – EOM, EOS effective September 2015 – V7.0 will have had more than 7 years of support • MQ V7.0.1 for z/OS – EOM, EOS effective September 2015 – V7.0 .0 already out of service
  19. 19. © 2014 IBM Corporation 2013 enhancements: Developer J r r r Enhancement Benefits Details MQ Advanced for Developers – free for devt use!! Development use only edition Free of charge Full MQ Advanced V7.5 functionality Available free of charge for development use only Download from developerWorks, MQdev community Best effort community assistance IBM MessageSight for Developers – free for devt use!! Development use only edition Free of charge Virtual MessageSight image, updated to V1.1 Available free of charge for development use only Download from developerWorks, IBM Messaging community Best effort community assistance Mosquitto - Open source MQTT server Simple, open access to get on-board with MQTT and MQTT-SN Proposed Eclipse Mosquitto project for open-source MQTT server for lightweight devt use MQTT-SN (MQTT for sensor networks) specification available IBM MQ Light – alpha release Straight forward, easy to use messaging API for writing scalable and responsive applications Download and feedback via developerWorks community Available free of charge for development use Currently new API available in Java, more languages to come Regular updates planned introducing new features and responding to feedback
  20. 20. © 2014 IBM Corporation IBM MQ Light • Simplifying Development for developer-led Messaging Applications • “MQ Light” - a new messaging form factor, easy for developers – Straightforward download and unzip – zero install – Simple Web UI– no need to be an infrastructure specialist • Focus on your application – using simplified messaging API • Support for popular languages and tooling with seamless migration from development into production • MQ Light runtime not for advanced messaging uses cases, enterprise backbone or highly available/scalable apps Developer coding in JavaScript, Java, Python, Ruby, C#, PHP Builds messaging into applications using preferred IDE or CLI and tests in developer sandbox
  21. 21. © 2014 IBM Corporation Download “MQ Light” alpha and try it today https://www.ibmdw.net/messaging/mq-light
  22. 22. © 2014 IBM Corporation 2013 enhancements: Internet of Things, mobile & m2m J r r r Enhancement Benefits Details IBM MessageSight V1.1 High-performance, reliable, and scalable messaging - designed specifically for M2M and Mobile scenarios Balance mobile workloads across your enterprise application server clusters Single sign-on from mobile devices to your enterprise apps Disconnected app notification that messages are waiting IBM Internet of Things Cloud – statement of direction Fully cloud hosted solution for internet of things Freemium, PAYG & custom pricing Scalable connectivity for small and large numbers of devices Uses industry-standard, MQTT transport Registration of devices for access to the cloud service offering Ability for devices to produce and consume events and messages in near real-time Mobile Messaging clients Updated clients for mobile platforms Updated clients for Android, iOS & hybrid mobile apps
  23. 23. © 2014 IBM Corporation IBM MessageSight – a messaging Appliance • Extends the IBM Messaging family with a secure, easy to deploy appliance-based messaging server, optimized to address the massive scale requirements of machine to machine (m2m) and mobile use cases • A million connections, and millions of messages per second – Exploits hardware acceleration for performance • Designed to sit at the edge of the enterprise • Can extend your existing messaging infrastructure or used standalone • Complements MQ - provides an offload/accelerator for edge of enterprise scenarios • Supports familiar APIs with a mixture of standard and high-speed protocols
  24. 24. © 2014 IBM Corporation IBM MessageSight V1.1 - Major enhancements • Mobile to Enterprise – Balance mobile workloads across your enterprise application server clusters – Single sign-on from mobile devices to your enterprise apps – Disconnected app notification that messages are waiting • Security – Implements the Federal government recommendations with NIST SP 800-131A strengthened security – Uses client certificate identity for authentication and authorization • Developer Operations – New “at-a-glance” system dashboard – Flexible work environments supported with remote monitoring of MessageSight from client devices – Virtual MessageSight image speeds mobile and machine-to-machine app development
  25. 25. © 2014 IBM Corporation 2014 Updates
  26. 26. Elastic MQ Open Beta IBM’s fully managed cloud messaging service The same straightforward experience as MQ Light, aimed at developers available as a fully managed public cloud service in BlueMix Integrated into the BlueMix experience Simple API for node.js JMS API for Java Development focused tooling Push application into BlueMix and use Elastic MQ Develop cloud application using node, java, etc Develop offline using MQ Light Elastic MQ 1897: Messaging in cloud
  27. 27. © 2014 IBM Corporation Notes 2014 Updates – MQ V8 • The rest of this presentation goes into details about MQ V8
  28. 28. © 2014 IBM Corporation IBM MQ V8 delivering best in class enterprise messaging Platforms & Standards Security Scalability System z exploitation 64-bit for all platforms Userid authentication via OS & LDAP Multiplexed client performance 64-bit buffer pools in MQ for z/OS means less paging, more performance Multiple Cluster Transmit Queue on all platforms User-based authorisation for Unix Queue manager vertical scaling Performance and capacity Support for JMS 2.0 AMS for IBM i & z/OS Publish/Subscribe improvements Performance enhancements for IBM Information Replicator (QRep) Improved support for .Net and WCF DNS Hostnames in CHLAUTH records Routed publish/subscribe Exploit zEDC compression accelerator SHA-2 for z, i & NSS Multiple certificates per queue manager SMF and shared queue enhancements
  29. 29. © 2014 IBM Corporation MQ V8 Dates • Announce: 22 April 2014 • Availability: – 23 May 2014 (eGA Distributed) – 13 June 2014 (z/OS and pGA Distributed)
  30. 30. © 2014 IBM Corporation Notes Dates • Nothing more to say here
  31. 31. © 2014 IBM Corporation MQ platform and product consistency • 64-bit server support for all queue manager platforms – Completion of platform coverage by adding Windows 64-bit engine – Requires Windows 7 or later • Multiple Cluster Transmit Queue availability on z/OS and IBM i platforms – Permits separate monitoring of cluster traffic and prevents one message stream from affecting throughput of others • Integration of AMS and MFT capabilities into z/OS and IBM i platforms – Previously separately installable products • Client Attach Feature no longer needed on z/OS – Single price includes support for clients
  32. 32. © 2014 IBM Corporation Notes MQ platform and product consistency • This release has all the Distributed queue managers fully supporting 64-bit operations. The final remaining platform had been Windows, but now the queue manager runs as 64-bit processes. Existing 32-bit applications continue to work of course, but this should bring additional capacity and scalability to the queue managers on that OS. The lowest level of Windows now supported is Windows 7; older versions are not supported. A client-only package for 32-bit versions of Windows is provided, but the qmgr requires the 64-bit OS. • MQ V7.5 had one significant new technical feature, the ability to use multiple transmission queues within MQ clusters. That feature was not available on z/OS or IBM i, where a V7.5 was not released. MQ V8 brings consistency to those platforms for this feature. • Another big feature of V7.5 was the closer integration of AMS and File Transfer (MFT). As we will see later, this pattern has been followed on z/OS and IBM i. On z/OS the features are still separately licensed, but are better integrated than previously. • On z/OS, the CAF has been removed both as an installable feature and as a licensing option. All V8 queue managers are now capable of having any number of MQ clients directly connected. For customers who previously used the lack of a CAF to block client connections, we would strongly recommend they look at the other security-related controls such as CHLAUTH and SSL/TLS, or MAXINST values, to continue to prohibit clients. If you extend the number of directly-attached clients in your environment, make sure you first evaluate things such as CPU costs, performance, capacity etc.
  33. 33. © 2014 IBM Corporation MQ Security - Authentication • Verify userid and password – Typically supplied in MQI CSP structure or from channel security exit – Or JMS connect(user,pass) method – New client exit and tool provided to help unchanged applications insert passwords • Can verify against operating system – Including PassPhrase for z/OS • Can verify against LDAP repository on Distributed platforms – Enabling centralised identity control • Still constrained to 12 character userids – With LDAP, supplied username may be "long" (eg an email address or full DN) – But must have an associated 12 character shortname • Independent configuration for local bindings and clients – Ignored, Optional, Required, Required for admin id 1873: MQ Security
  34. 34. © 2014 IBM Corporation Notes MQ Security - Authentication • Applications can now be authenticated with a userid/password. This can be provided explicitly by the application as parameters in the MQCONNX verb or equivalent. This builds on features originally implemented in the MQI for MQ v6, but which were never exploited until now. • Also, to support client applications, a security exit is provided that can add the userid/password to a connection request if it is not supplied by the app. The exit reads the qmgr name from an ini file; the file contains the userid and a protected form of the password – ie not plaintext. The protection of the password is done by a tool that is also provided. • When V8 clients connect to V8 qmgrs, the userid/password information is protected against casual wire-sniffing, even when SSL/TLS is not used. This protection is not as strong as a full TLS-encrypted session, which is preferred, but is better than sending data in the clear. Obviously both the client and the qmgr must be at V8 for this protection to work; older clients can still send passwords but they are not protected. • Authentication is performed against the local OS (all platforms) or against an LDAP directory (Distributed only). Some operating systems may integrate LDAP services into their local user registry, in the same way as NIS, but when this is done transparently MQ does not know about it explicitly and can use the OS authentication method. • Using a central LDAP server means that passwords can be set in a single place. For example, we have used IBM's LDAP services (BluePages) to authenticate userids. When using LDAP, there is lots of flexibility in what the "userid" is – in BluePages it is generally the email address – but there must be a field in the schema to return a short name that can fit into the 12 character MQMD.UserIdentifier field. This short name is also used for authorisation and must be locally defined to the OS so that permissions can be calculated. • There are various configuration rules for different modes of connection, to specify whether a password is required, optional or ignored.
  35. 35. © 2014 IBM Corporation MQ Security - Authorisation • Make Unix OAM userid-based – Optional configuration – Consistent with other platforms – Will no longer add primary group to authorities during setmqaut – Chosen at queue manager creation or by editing qm.ini • Default is still group-based authorisations $ crtmqm –oa user QMU ---------------- Service: Name=AuthorizationService EntryPoints=14 SecurityPolicy=User
  36. 36. © 2014 IBM Corporation Notes MQ Security - Authorisation • One further point of consistency in this release is making the Unix authorisation model the same as for Windows – permissions can now be set for individual users, and not just groups. So running a command such as "setmqaut –t qmgr –p usr1 +connect" works for just that user, and not the primary group. • This is configured by either creating the queue manager with the "-oa user" option or by editing the ini file as shown for existing queue managers – restarting the queue manager sets it to work in the new mode. The change is deliberately not dynamic, and requires the restart, because it is so fundamental to how the queue manager permissions operate, and is not something we would expect to be done frequently. • All existing permissions are left unchanged when you switch to user-mode authorisations, so the group permissions that have been set remain, but new permissions can be set for the users. • The user-based model is not the default for new queue managers; to keep compatibility with older systems, the default is still the group-based model.
  37. 37. © 2014 IBM Corporation MQ Security - Other • Use DNS hostnames in CHLAUTH records – Also provide a way to disable reverse lookup • Configurable default certificate label for qmgrs and clients – Instead of "ibmwebspheremq<qmgr>" or "ibmwebspheremq<userid>" • Channel-level certificates – To support different business partners using different CAs. – For queue managers and C clients • Not Java yet, because Java 7 JSSE does not fully support SNI – Both ends must be V8 • Delete Authority record by SID – Solve problem of orphaned authorities when Windows id is deleted
  38. 38. © 2014 IBM Corporation Notes MQ Security - Other • The CHLAUTH rules that were introduced in V7.1 have been extended to meet the most frequently-requested enhancement – the ability to use hostnames in the rules as well as IP addresses. Names can be used all the same rules, and in the same way, as IP addresses with the one exception of the listener blocking which is still only address-based. • The hostnames can include wildcard patterns such as "*.example.com". The matching is simple string-based; the "." characters are not treated as special separators. • The label used to find the queue manager or client's certificate in the SSL keystore is now configurable. This gives more flexibility in naming, and can even permit sharing of the keystore between multiple queue managers if you wish. On z/OS, there is in addition a configuration attribute for the QSG-related certificate (traditionally "ibmwebspheremq<qsgname>". • A further extension for certificate use is designed for scenarios where you may wish to use different certificates when communicating with different partners. A common reason for this is when a queue manager is used for both "internal-facing" channels and for connections to a partner, who may have different certificate requirements, such as using a different CA. You can now configure a different certificate label to be used on individual channels. The implementation of this requires both ends of the channel to be at MQ V8, as there has to be cooperation between the sending side and the receiving side of the channel. And it is not available in all environments; in particular, Java clients cannot currently participate as the standard JSSE provider does not yet support the Server Name Indication (SNI) flows that go alongside the socket setup calls. • One final security feature is specifically for Windows, to deal with situations where users have been deleted from the system but their MQ permissions have not been deleted from the OAM. You can now use the setmqaut command to delete permissions based on SID instead of name, and this will remove the orphaned entries.
  39. 39. © 2014 IBM Corporation Pub/sub scalability - cluster behaviour before V8 • All queue managers in a cluster know everything and need to be able to connect to anyone CLUS1 FR TOPIC(T1) CLUSTER(CLUS1) Sub to T1 Pub to T1 Queue manager CLUSQMGR knowledge Channel Proxy subscription
  40. 40. © 2014 IBM Corporation Notes Pub/sub scalability - cluster behaviour before V8 • Every queue manager is aware of every subscribed topic string and queue manager in the cluster • It’s very easy to end up with a fully interconnected cluster • The load per queue manager is proportional to the total number of queue managers in the cluster • Many systems in larger clusters are not designed to support such a configuration • Imagine what is happening in a busy cluster with hundreds of queue managers or more
  41. 41. © 2014 IBM Corporation Pub/sub scalability - cluster behaviour with V8 • New concept of "routed" topics • Configure subset of queue managers to know everything and connect to everyone • Publications sent via these queue managers Queue manager CLUSQMGR knowledge Channel Proxy subscription CLUS1 TOPIC(TOPIC1) CLUSTER(CLUS1) FR Sub to T1 Pub to T1 1870: MQ Pub/Sub
  42. 42. © 2014 IBM Corporation Notes Routed topics • Publish/subscribe across a cluster previously required direct connectivity between all publishing queue managers and subscribing queue managers. • Now routing via intermediary queue managers in the cluster is possible – The aim is to allow topologies where queue manager-to-queue manager connectivity and knowledge is restricted • With DIRECT pub/sub: – Direct publication routing – Every queue manager must scale with the size of the system • With ROUTED pub/sub – The load on the majority of queue managers is independent from the size of the system – Publications may incur additional hops • Messages published on topic host routed topics are similar to messages put to clustered queues: – Think of a routed topic def as a clustered queue and a publisher to the topic as an app putting to that queue – Each message published is sent to one of the topic host queue managers, and from there onto the queue managers where subscriptions exist – Messages are workload balanced across all topic hosts with available channels from the publishing queue manager to the topic hosts • Unavailable topic hosts are avoided – Workload balancing behaviour is as for a clustered queue using all default settings (CLWLPRTY, CLWLRANK, etc.) except for DEFBIND, which is effectively set to NOT_FIXED • Each individual message is ‘evenly’ workload balanced across topic hosts • Workload balancing is based on the cluster channel rather than the topic (as for queues), so channel workload balancing control still applies (CLWLPRTY, CLWLRANK, CLWLWGHT)
  43. 43. © 2014 IBM Corporation Configuration of routed topics • Topic routing is configured in the TOPIC object definition – Uses the CLROUTE property: – DIRECT: Provides V7 behaviour, publications travel directly from publishing queue managers to subscribing queue managers – TOPICHOST: publications travel via a topic hosting queue manager • New function in MQ V8 – Only V8 queue managers can participate in routed clustered publish/subscribe – Full repositories must also be at V8 – Older queue managers are not told of the routed topic definitions and therefore behave as if the topic was not clustered. – All V7 queue managers can continue to participate in direct clustered pub/sub DEFINE TOPIC(topic) CLUSTER(clustername) CLROUTE(DIRECT|TOPICHOST)
  44. 44. © 2014 IBM Corporation Improved pub/sub status reporting • Additional display attributes on DISPLAY PUBSUB. • Permits detection of unexpected growth in topics/subscriptions – Can gauge the magnitude of a DISPLAY TPSTATUS/SUB/SBSTATUS command. DISPLAY PUBSUB ALL 3 : DISPLAY PUBSUB ALL AMQ8723: Display pub/sub status details. QMNAME(QMGR3) TYPE(LOCAL) STATUS(ACTIVE) SUBCOUNT(241) TPCOUNT(105)
  45. 45. © 2014 IBM Corporation General pub/sub improvements • More efficient handling of subscriptions for popular topic sub-trees and dynamic subscriptions – MQ V7.x behaviour sends out individual proxy subscriptions – MQ V8 topic object with PROXYSUB set to FORCE • Generates a single wildcarded subscription • Disables individual proxy subs for topic strings lower in the topic tree • Better pub/sub error handling in multi-queue manager environments • Selectors are evaluated on the message as published, before modification by the publish operation, for delivery to each subscriber • More efficient handling of large numbers of topics – Linear scaling to at least a million topics
  46. 46. © 2014 IBM Corporation Notes General pub/sub improvements
  47. 47. © 2014 IBM Corporation Changes to runmqsc • Can now be run by any user (not just mqm group) – Can take a userid/password for authentication: new "-u" flag • Can now connect as a client to remote systems: new "-c" flag – Client channel definitions located by MQSERVER -> MQCHLLIB -> MQCHLTAB • Can act as standalone program to create local CCDT: new "-n" flag – Does not connect to queue manager; commands subset to update local channel definition file $ ls –l runmqsc -r-xr-xr-x 1 mqm mqm 25930 06 Mar 04:46 runmqsc $ export MQPROMPT="MQ +MQ_INSTALLATION_NAME+> " $ runmqsc –u metaylor QM1 5724-H72 (C) Copyright IBM Corp. 1994, 2014. Enter password: ****** Starting MQSC for queue manager QM1. MQ Installation5> DIS QMGR … • Ease of use – Customisable prompt using environment variable – New "exit" and "quit" synonyms for "end"
  48. 48. © 2014 IBM Corporation Notes Changes to runmqsc • This release introduces a number of changes to the runmqsc program • Firstly, it is now exectuable by any user, not just members of the mqm group. Security controls still apply of course, but the security is checked on each individual command. This makes it easier to have MQ administrators who have been granted full access to objects, but who are not in the mqm group. • Another reason for making runmqsc world-executable was to make it usable on machines which do not have queue managers installed. It is now installed even on client-only systems, and it can be run either as a client program connecting directly to a remote queue manager, or as a completely standalone program to permit local creation of the Client Channel Definition Table. So you can create and modify a CCDT with no queue manager access at all. • The program is one of several that have been updated to accept a userid for authentication. If the –u flag is given, then a password is requested. Note that the password is read from stdin so that it can be redirected from a file if necessary. If you also use scripts piped into runmqsc, then you can group commands to avoid having to put the password in the same script as the MQSC commands. – Unix: (cat password.stash ; cat script.mqsc) | runmqsc –u userid QM1 – Windows: (type password.stash & type script.mqsc) | runmqsc –u userid QM1 • There are also a couple of usability enhancements. Firstly, there are some synomyms added to complete an MQSC session – END, QUIT and EXIT can all be used so you don't have to try them all. Different scripting environments for different products typically use one of these commands, and it's annoying to have to remember which goes with which. • Secondly, you can now make it easier to see that you are in an MQSC command environment and some details of the current environment by setting the MQPROMPT environment variable. Replaceable inserts are recognised such as date and time, and installation-specific details. These are the same variable subsitutions as available for SERVICE objects.
  49. 49. © 2014 IBM Corporation Distributed Performance • Improvements to distributed queue manager scaling – Improve efficiency – Better exploitation of wider SMP machines • Multiplexed client performance – Increase the performance of multiplexed client channels (SHRCONV > 0) – Especially for SHRCONV=1 • Other areas that helped: – Cache alignment for internal structures – Extended 64-bit exploitation for locking primitives – RFH2 handling, particularly for waiting-getter • Fewer copies of data are needed – Better compiler optimisations – Faster data conversion (especially for 1208) • Many messages are in 1208 codepage • Optimised handling when the queue manager needs to convert them
  50. 50. © 2014 IBM Corporation Distributed Performance: Object Catalogue restructure • This test has a reliance on repeatedly opening and closing queues • Although old, this shows the kind of detail investigated during development
  51. 51. © 2014 IBM Corporation Distributed Performance: Persistent Messaging • A realistic view of how persistent message performance has improved
  52. 52. © 2014 IBM Corporation Distributed Performance: Non-persistent Messaging • CPU Limited example
  53. 53. © 2014 IBM Corporation Distributed Performance: Non-persistent Messaging  Lock Limited example
  54. 54. © 2014 IBM Corporation Notes Performance improvements • These charts are examples of some of the performance improvements made in this release. They are not from the GA level but are representative; the official performance reports will come later. • Measurements have been made of not just "traditional" benchmarks but also of other patterns that we have seen as being typical application designs. • The first chart in this batch is several months old, but shows an example of how testing progressed. Rather than using the optimal application pattern (basically open the queues at the start and then keep putting/getting messages), this was looking at what happens as applications frequently start and stop, causing lots of inquiries to the Object Catalogue (the list of queues and key attributes). Looking at where the bottlenecks were in that scenario allowed us to reduce some contention points and therefore increase the parallelism and the number of transactions. The "dip" in this chart was then investigated further to deal with it. • Other charts show typical performance improvements for persistent and non-persistent messaging. • To repeat though, numbers will always vary by platform and workload. The new performance reports will show the more formal and official numbers.
  55. 55. © 2014 IBM Corporation MQ for z/OS: 64-bit bufferpools • 64-bit buffer pools in MQ for z/OS – Allows large numbers of messages to be cached before writing to pagesets – Allows MQ to exploit the vast amount of storage on today's machines • Improves performance of putting/getting messages by minimizing disk I/O • Minimizes administrative overhead of managing buffer pools • Buffer pool LOCATION attribute says where it is located relative to the bar – BELOW: The default. Buffer pool is located below the bar in 31 bit storage – ABOVE: Buffer pool is located above the bar in 64 bit storage – This can be altered dynamically • Storage can be pinned based on pageclass attribute 1876: MQ z/OS Deep Dive
  56. 56. © 2014 IBM Corporation Notes Buffer pool problems before V8 • There is not much space below the bar for buffer pools once queue manager code and data is taken into account. Maximum 1.6GB available for buffer pools depending on common area • Putting/getting messages into the buffer pool works at 'memory' speed, putting/getting messages from the page set works at 'disk' speed • For scenarios where several applications read and/or write large number of messages to the same buffer pool a lot of time is spent getting pages from page set into buffer pool and getting pages from buffer pool into page set – This is detrimental for performance • A maximum of 16 buffer pools are supported while up to 100 page sets are supported • This can result in a lot of time spent tuning buffer pool sizes and the relationship between queues, buffer pools and page sets • These problems are resolved by allowing bufferpools to be defined in 64-bit space, above the bar
  57. 57. © 2014 IBM Corporation MQ for z/OS: 64-bit bufferpools • Buffer pools above the bar can (theoretically) use up to 16 EB storage • Increased maximum size of pool to 999,999,999 buffers – Was 500,000 • Allows up to 100 buffer pools – Was 16 – Can have a 1-1 page set – buffer pool mapping DATA CODE DATA Buffer Pool Buffer Pool Buffer Pool Buffer Pool 2 GB BAR 16 EB Up to 1.6 GB Available Queue Manager Address Space Buffer Pool
  58. 58. © 2014 IBM Corporation Notes MQ for z/OS: 64-bit bufferpools • 64-bit bufferpools can now theoretically use a huge amount of storage • Having the same number of pools and pagesets makes it much simpler to monitor and control the usage of these resources • SMF 115, subtype 215 – Up to 100 buffer pools are now supported. However there is not enough space for 100 buffer manager statistics records (QPST) in the existing SMF 115, subtype 2, record – If OPMODE(NEWFUNC,800) is specified in system parameters then an SMF 115, subtype 215, record will be cut for buffer manager statistics. The SMF 115, subtype 2, record will still contain the self-defining section for buffer manager but it will be all zeros – If OPMODE(COMPAT,800) is specified in system parameters then buffer manager statistics will continue to be in SMF 115, subtype 2.
  59. 59. © 2014 IBM Corporation MQ for z/OS: Performance and Capacity • Log RBA constraint relief – Already improved messages to warn of approaching RBA – Now widening RBA field from 6 to 8 bytes – At 100MB/sec this will now take about 5578 years to fill • Support for LP64 batch/RRS C applications • Performance enhancements for IBM Information Replicator (QRep) and similar application patterns – Read-ahead and changes to deferred write processing allows MQ to increase sustainable data rates • General improvements to channel performance
  60. 60. © 2014 IBM Corporation Notes Log RBA extensions • WebSphere MQ for z/OS V7 implements a 6 byte Log RBA (Relative Byte Address) – This give an RBA range of 0 to x'FFFFFFFFFFFF' (= 255TB) – Some customers are now reaching this limit in 12 months • If we reach the end of the Log RBA range (i.e. “wrap”): – Queue Manager terminates and requires a cold start – a disruptive outage – Potential for loss of persistent data • To avoid an outage: – Run CSQUTIL RESETPAGE, at regular planned intervals, to RESET the LOG RBA • With current maintenance, MQ V7.x issues warning messages when approaching maximum – Then terminates, to prevent loss of data, if log RBA reaches x'FFF800000000'. • V8 increases size of Log RBA to 8 bytes – Upper limit on logical log will be 64K times bigger – Format of BSDS and log records will change to accommodate 8 byte RBAs, URIDs will become 8 bytes long – Like DB2, the control point for new function is a BSDS conversion utility – Run the new CSQJUCNV utility • utility will check that entire QSG is at correct level • copies data from old primary / secondary BSDS pair to new primary / secondary pair • All V8 queue managers can read data in both the old and new formats • All V8 queue managers and utilities will display all log RBAs as 8 bytes • V8 will ONLY write in new format, once BSDS has been converted
  61. 61. © 2014 IBM Corporation Notes LP64 Support • Externalising technology previously used by Broker and JMS • Limited to C language (no 64bit COBOL) – LP64 compile option – Supported by cmqc.h • Restricted environments – Batch, TSO, USS – CICS and IMS do not support 64bit apps • Must use sidedeck & DLL, not stubs: – csqbmq2x (uncoordinated batch & USS) – csqbrr2x (RRS coordinated, srrcmit()) – csqbri2x (RRS coordinated, MQCMIT)
  62. 62. © 2014 IBM Corporation Notes Performance improvements • QRep has implemented a common application pattern – basically a single-stream reading or writing of messages. That program, and others that follow the same pattern, can benefit from some of the performance enhancements in MQ. For example, fetching data for the "next message" from a pageset at the same time as for the "current message" (readahead) can reduce the I/O operations and hence reduce CPU and increase throughput.
  63. 63. © 2014 IBM Corporation MQ for z/OS: Other features • Exploitation of zEDC compression accelerator – SMF – Channel compression (zlibfast option) can be useful when using SSL • Support for Flash Express feature on zEC12 and zBC12 servers – Improves resiliency of Coupling Facility with cost-effective standby capacity to handle overflow of shared queues – Messages <63K fully held in Flash – Messages >63K have pointers in Flash, body in SMDS just as for traditional CF structures • SMF enhancements – Channel statistics allow better monitoring and tuning of channel behaviour – Correlation of MQ and CICS statistics • Message suppression – Up to 16 message numbers (particularly X500,X501) can be defined to be excluded – Removes cost of writing WTO messages which are then ignored – Can now differentiate between messages for client channels and other types
  64. 64. © 2014 IBM Corporation AMS and MFT integration with z/OS • Following the model used by MQ V7.5 on distributed for closer integration • AMS – Starts automatically with qmgr – Reduced overhead (now only one started task instead of 2) – Policies and their administration remain unchanged • MFT – Now looks more natural for a z/OS person – Closer integration with standard system facilities such as ARM – Started task templates – Supported JCL provided instead of samples – Job info logged to JCL task • Both features still separately licensed
  65. 65. © 2014 IBM Corporation JMS 2.0 • Long-awaited update from JMS 1.1 standard • JMS 2.0 – JSR 343 Java Message Service (JMS 2.0) – Final release on 21 May 2013. – https://java.net/projects/jms-spec/pages/JMS20FinalRelease • New Messaging Features – Delivery Delay – Asynchronous Send – Subscriptions can be shared across a messaging provider • API Changes – Use of java.lang.AutoCloseable – Simplified API [combined connection/session] – Session doesn't need parameters (for Java EE) • Java 7 prereq • Java EE 7 prereq for use of the Resource Adapter in Application Servers
  66. 66. © 2014 IBM Corporation Notes JMS 2.0 • The JMS 2.0 specification now requires JMS providers to implement both P2P and Pub-Sub. • The following new messaging features have been added in JMS 2.0: – Delivery delay: a message producer can now specify that a message must not be delivered until after a specified time interval. – New send methods have been added to allow an application to send messages asynchronously. – JMS providers must now set the JMSXDeliveryCount message property. • The following change has been made to aid scalability: – Applications are now permitted to create multiple consumers on the same durable or non-durable topic subscription. In previous versions of JMS only a single consumer was permitted. • Several changes have been made to the JMS API to make it simpler and easier to use: – Connection, Session and other objects with a close method now implement the java.jang.AutoCloseable interface to allow them to be used in a Java SE 7 try-with-resources statement. – A new "simplified API" has been added which offers a simpler alternative to the standard API, especially in Java EE applications. – New methods have been added to create a session without the need to supply redundant arguments. – Although setting client ID remains mandatory when creating an unshared durable subscription, it is optional when creating a shared durable subscription. – A new method getBody has been added to allow an application to extract the body directly from a Message without the need to cast it first to an appropriate subtype. • New methods have been added to Session which return a MessageConsumer on a durable topic subscription. Applications could previously only obtain a domain-specific TopicSubscriber, even though its use was discouraged. • The specification has been clarified in various places. • JMS 2.0 implementations require Java 7 for the runtime. They also require Java EE 7 for use of the Resource Adapter in Application Servers. Not all App Servers currently support Java EE 7. However, as with all client implementations, older versions of the RA still work when communicating to an MQ V8 queue manager.
  67. 67. © 2014 IBM Corporation .Net enhancements • MQ .Net classes can now use SSL without needing the C client installed – A secure fully-managed .Net implementation – Uses Windows native certificate stores • For MQ .NET classes (aka Base .NET Classes) SSL properties can be set at – MQEnvironment.cs – Hashtable properties (input parameter to MQQueueManager constructor) • For XMS .NET, SSL properties can be set as ConnectionFactory properties • WCF interface extended to non-SOAP, non-JMS messages – Making it easier for apps using WCF to communicate with any other MQ application
  68. 68. © 2014 IBM Corporation Notes .Net enhancements: SSL • MQ .NET Unmanaged mode SSL support – MQ .NET in unmanaged mode supports the SSL feature since MQ v6.0.1 – Based on based on C Client (and GSKit) • MQ .NET Managed mode SSL support – Based on Microsoft SSLStreams/Security kit. • Managed SSL limitations include – CipherSpec setting can be made only at Windows Group policy (gpedit.msc). • CipherSpec set on client channel is used only to determine SSLProtocol. – Make sure you set same cipherspec on Windows group policy and client channel to make sure correct protocol version is flowed. – KeyRepository uses Windows Key Store only. • Set value as *SYSTEM for accessing certificates under Computer Account • Set value as *USER for accessing certificates under User account – FIPS can be enabled only from Windows group policy. – KEYRESET is not supported by Microsoft SSLStreams • This limitation is overridden by using KEYRESETCOUNT and Client Auto Reconnect feature of MQ. • Application can set KEYRESETCOUNT during connection, once the number of bytes sent/received reaches the count, connection will be forcibly broken. If Client Auto Reconnect facility is enabled, connection will be automatically reconnected. – No managed way to support Cryptographic hardware • Product samples have been updated to demonstrate SSL Connections. – WebSphere MQtoolsdotnetsamplescsbaseSimple
  69. 69. © 2014 IBM Corporation Notes .Net enhancements: WCF • Additional model for sending MQ messages from WCF applications – Both SOAP/JMS and MQMessaging can be used • SOAP/JMS – Supported since MQ v7.0.1 – Based on XMS .NET and makes JMS-like calls for MQI – Uses JMS nomenclature for URI(jms:) and Bindings – Now also supports “wmq:” style of URI • Uses MA93 supportpac specification for URI format/syntax – Messages can be delivered only to SOAP enabled Client/Service • MQMessaging – New in MQ V8.0 – Transmits MQ Messages over the WCF Channel without any SOAP headers – Use “wmq:” style of URI • Uses MA93 supportpac specification for URI format/syntax – Messages can be delivered to SOAP or NON-SOAP MQ applications
  70. 70. © 2014 IBM Corporation IBM has a 20 year track record of innovation in Messaging 1990s 2000s 2010s JMS MQI Assured delivery IBM MQSeries Multi-platform Mobile .NET Common criteria Eclipse JMS 1.1 RCMS IBM MQ Low Latency V1.1 V2 V5 V5.1 V5.3 V2.1 V5.2 V6 V7 V7.0.1 SSL SOAP XML IBM MQ Managed File Transfer IBM MQTT HTTP AJAX REST Web 2.0 Managed File Transfer Pub/sub IBM MQ Everyplace IBM MQ Advanced Message Security V7.1 V7.5 Integrated Messaging Hypervisors IBM MQ Advanced System Pattern Application Pattern IBM MQ Advanced for Developers IBM MessageSight Multiple cluster XMIT queue Multi-instance QMGR IBM MQ Low Latency 20th Anniversary of MQ at IMPACT V8
  71. 71. © 2014 IBM Corporation And continues to invest in all Messaging markets • Enterprise Messaging where MQ continues to lead • Messaging for Mobile and the Internet of Things • Supporting Cloud deployments with Messaging services • Helping developers use Application Messaging to create better applications
  72. 72. Thank You
  73. 73. Messaging Sessions this Week Monday Tuesday Wednesday Thursday 09:00 1868: IBM WS MQ: Disaster Recovery 1870: IBM WS MQ: Using Pub Sub in an MQ Network 1924: Roundtable: IBM WS MQ Light in a IBM WS MQ Infrastructure 10:30 1880: Secure Messages with IBM WS MQ Advanced Message Security 1866: Introduction to IBM Messaging Capabilities 2640: MQ Telemetry Transport (MQTT) Details 3134: Meet the Experts: IBM MessageSight 1924: Roundtable: IBM WS MQ Light in a IBM WS MQ Infrastructure 1896: How to Develop Responsive Applications with IBM WS MQ Light 1885: IBM WS MQ on z/OS & Distributed Platforms - Are They Like Oil & Water 1917: Hands-on Lab: Developing a First Application with IBM WS MQ Light 1294: Enable Active-Active Business Through Enterprise High-availability Messaging Technology 1873: IBM WS MQ Security: Latest Features Deep Dive 12:00 LUNCH LUNCH LUNCH LUNCH 3420: Managing What Needs to Be Managed - It Shouldn’t Matter Where It Is 13:00 1227: How Not to Run a Certificate Management Center of Excellence 1869: IBM WS MQ: Using the Publish Subscribe Messaging Paradigm 1863: What's New in IBM Messaging 1872: IBM WS MQ: Managing Workloads, Scaling & Availability with MQ Clusters 1879: Using IBM WS MQ in Managed File Transfer Environments 1922: Roundtable: IBM Messaging Feedback 1883: Where Is the Message - Analyze IBM WS MQ Recovery Logs, Trace Routes, & Look In Applications 14:15 1800: IBM WS MQ for z/OS & CICS: Workload Balancing in a Plexed World 1863: What's New in IBM Messaging 1924: Roundtable: IBM WS MQ Light in a IBM WS MQ Infrastructure 1876: IBM WS MQ for z/OS: Latest Features Deep Dive 1229: The IBM WS MQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows 1804: Mean Time to Innocence: IBM WS MQ Problem Determination 16:00 1877: IBM WS MQ for z/OS: Performance & Accounting 1894: What Is IBM WS MQ Light & Why It Matters 15:45 1882: Building a Scalable & Continuously Avail- able IBM WS MQ Infrastructure with Travelport 1720: Building a Managed File Transfer Service at ADP 1897: Messaging in the Cloud with IBM WS MQ Light & IBM BlueMix 1916:Hands-onLab:IBMWSMQ 3133: Meet the Experts: IBM Messaging 1874: IBM WS MQ: Performance & Internals Deep Dive (Not zOS) 1866: Introduction to IBM Messaging Capabilities 2454: Using IBMs Managed File Transfer Portfolio to Maximize Data Effectiveness 17:15 1881: Using IBM WS MQ with IBM WAS & Liberty Profile 1873: IBM WS MQ Security: Latest Features Deep Dive 17:00 1878: IBM WS MQ for zOS: Shared Queues 1922: Roundtable: IBM Messaging Feedback 1867: IBM WS MQ: High Availability 1922: Roundtable: IBM Messaging Feedback 2646: Discover the Value IBM Software Delivers On Top of Open Source
  74. 74. 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.

×