You are on page 1of 206

V9.

cover

IBM Training Front cover


Instructor Exercises Guide

IBM Integration Bus V9.0 System Administration


Course code WM645/ZM645 ERC 1.1

WebSphere Education
Instructor Exercises Guide

Trademarks
IBM® is a registered trademark of International Business Machines Corporation.
The following are trademarks of International Business Machines Corporation in the United States,
or other countries, or both:
AIX® CICS® DataPower®
DB2® developerWorks® Express®
HACMP™ IMS™ Informix®
Language Environment® MQSeries® Notes®
ObjectGrid® Q® Rational®
Redbooks® Tivoli® VisualAge®
WebSphere® z/OS®
Adobe is either a registered trademark or a trademark of Adobe Systems Incorporated in the United
States, and/or other countries.
Itanium and Pentium are trademarks or registered trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other
countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Java™ and all Java-based trademarks and logos are trademarks or registered trademarks of
Oracle and/or its affiliates.
VMware and the VMware "boxes" logo and design, Virtual SMP and VMotion are registered
trademarks or trademarks (the "Marks") of VMware, Inc. in the United States and/or other
jurisdictions.
Other product and service names might be trademarks of IBM or other companies.

November 2014 edition


The information contained in this document has not been submitted to any formal IBM test and is distributed on an “as is” basis without
any warranty either express or implied. The use of this information or the implementation of any of these techniques is a customer
responsibility and depends on the customer’s ability to evaluate and integrate them into the customer’s operational environment. While
each item may have been reviewed by IBM for accuracy in a specific situation, there is no guarantee that the same or similar results will
result elsewhere. Customers attempting to adapt these techniques to their own environments do so at their own risk.

© Copyright International Business Machines Corporation 2013, 2014.


This document may not be reproduced in whole or in part without the prior written permission of IBM.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
V9.0
Instructor Exercises Guide

TOC Contents
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Instructor exercises overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Exercises configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Exercises description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Exercise 1. Integration node setup and customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

Exercise 2. Using the IBM Integration Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

Exercise 3. Administering the runtime components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

Exercise 4. Administering IBM Integration Bus security . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1

Exercise 5. Using trace facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

Exercise 6. Identifying runtime problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1

Exercise 7. Recording and replaying message flow data . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1

Exercise 8. Viewing runtime statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1

Exercise 9. Managing unresponsive message flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1

Exercise 10. Implementing web services and web services security . . . . . . . . . . . . . . . . 10-1

Appendix A. Exercise solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1

© Copyright IBM Corp. 2013, 2014 Contents iii


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

iv Integration Bus System Administration © Copyright IBM Corp. 2013, 2014


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

TMK
Trademarks
The reader should recognize that the following terms, which appear in the content of this training
document, are official trademarks of IBM or other companies:
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide.
The following are trademarks of International Business Machines Corporation, registered in many
jurisdictions worldwide:
AIX® CICS® DataPower®
DB2® developerWorks® Express®
IMS™ Informix® Language Environment®
MQSeries® Notes® ObjectGrid®
Q® Redbooks® Tivoli®
WebSphere® z/OS®
Adobe is either a registered trademark or a trademark of Adobe Systems Incorporated in the United
States, and/or other countries.
Itanium and Pentium are trademarks or registered trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other
countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Java™ and all Java-based trademarks and logos are trademarks or registered trademarks of
Oracle and/or its affiliates.
VMware and the VMware "boxes" logo and design, Virtual SMP and VMotion are registered
trademarks or trademarks (the "Marks") of VMware, Inc. in the United States and/or other
jurisdictions.
Other product and service names might be trademarks of IBM or other companies.

© Copyright IBM Corp. 2013, 2014 Trademarks v


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

vi Integration Bus System Administration © Copyright IBM Corp. 2013, 2014


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

pref
Instructor exercises overview
After completing the exercises, students should be able to:
• Complete the configuration tasks that prepare the IBM Integration Bus
environment for use
• Use the IBM Integration Toolkit to deploy and test message flows
• Administer IBM Integration Bus components by using IBM Integration
Explorer, IBM Integration Bus commands, and the IBM Integration web
console
• Back up and recover IBM Integration Bus components
• Set and test IBM Integration Bus access control for the integration nodes,
integration servers, and message flows
• Use the IBM Integration Bus problem diagnosis tools to identify problems
in message flow applications
• Enable integration node statistics and subscribe to IBM Integration Bus
topics for statistics collection
• Activate message flow monitoring and record and replay messages
• Manage unresponsive message flows
• Set up SSL to use with web services message flow applications
Some of the exercises depend on the successful completion of a previous
exercise.

© Copyright IBM Corp. 2013, 2014 Instructor exercises overview vii


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

viii Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

pref
Exercises configuration
In the exercise environment, students typically have their own systems and
work independently.
The lab environment includes WebSphere MQ, IBM Integration Bus, DB2,
and WebSphere MQ SupportPac IH09 (RFHutil).
Lab exercise files are provided in the C:\labfiles directory.

© Copyright IBM Corp. 2013, 2014 Exercises configuration ix


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

x Integration Bus System Administration © Copyright IBM Corp. 2013, 2014


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

pref
Exercises description
This course includes the following exercises:
• Exercise 1: Integration node setup and customization
• Exercise 2: Using the IBM Integration Toolkit
• Exercise 3: Administering the runtime components
• Exercise 4: Administering IBM Integration Bus security
• Exercise 5: Using trace facilities
• Exercise 6: Identifying runtime problems
• Exercise 7: Recording and replaying message flow data
• Exercise 8: Viewing runtime statistics
• Exercise 9: Managing unresponsive message flows
• Exercise 10: Implementing web services and web services security
In the exercise instructions, you can check off the line before each step as
you complete it to track your progress.
Most exercises include required sections, which should always be
completed. It might be necessary to complete these sections before you can
start later exercises. Some exercises might also include optional sections
that you might want to complete if you have sufficient time and want an extra
challenge.

© Copyright IBM Corp. 2013, 2014 Exercises description xi


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

xii Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 1. Integration node setup and
customization

Estimated time
01:00

What this exercise is about


In this exercise, you complete the configuration tasks that prepare the IBM
Integration Bus environment for use.

What you should be able to do


At the end of the exercise, you should be able to:
• Configure a Windows system for use with IBM Integration Bus
• Get build and version information for IBM Integration Bus components
• Set up basic security
• Create an integration node and integration server
• Find information in the help and IBM Integration Bus Information Center

Introduction
In this exercise, you create an IBM Integration Bus integration node and
integration server on Windows. As a final step, you start IBM Integration
Explorer and examine the online help.

Requirements
• IBM Integration Bus, IBM Integration Explorer, IBM Integration Toolkit,
and WebSphere MQ
• The IBM Integration default configuration

Instructor hint
Sometimes, students make typographical errors with queue manager names during the creation of
IBM Integration Bus components. Students can use the following commands to review the current
settings of the component services:
•mqsilist

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

•mqsiservice <inodeName>
Mismatched parameters can sometimes be corrected with the mqsichange command. Otherwise,
it might be necessary to delete the component (mqsidelete command) and re-create it
(mqsicreate command).

Instructor note: Installed software versions


The exercises for WM645 were created with the following product versions:
• IBM Integration Bus V9.0.0.0
• IBM Integration Toolkit V9.0
• IBM Integration Explorer V9.0.0.0
• WebSphere MQ V7.5.0.1
• IBM WebSphere MQ SupportPac IH03 RFHUtil 7.0.2
• DB2 Express V9.7

1-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Exercise instructions


The required licensed programs are already installed on your exercise image. These licensed
programs include:
• IBM Integration Bus
• IBM Integration Explorer
• IBM Integration Toolkit
• WebSphere MQ
Your user ID (IIBAdmin) is a member of the Windows “Administrators” group.
The development default configuration with an integration node that is named IB9NODE and a
queue manager that is name IB9QMGR is already installed.
For all exercises in this course, use the information that is listed in this table.

Windows user ID IIBAdmin


Windows password Web1sphere
IBM Integration Bus installation directory c:\Program Files\IBM\MQSI\9.0.0.0\
WebSphere MQ installation directory c:\Program Files (x86)\IBM\
Websphere MQ
IBM Integration Bus integration node IB9NODE
IBM Integration Bus queue manager name and IB9QMGR, port 1414
listener port number

In addition, a directory (C:\labfiles) contains test tools, test files, and other components that you
use during the course exercises.

Part 1: Getting build and version information


It is important to know the current software version and build level for all your software. In this part
of the exercise, you verify the maintenance (fix pack) levels of the IBM Integration Bus environment
software.
__ 1. Get the software version information for the IBM Integration Toolkit.
__ a. From the Windows Start menu, click All Programs > IBM Integration Toolkit > IBM
Integration Toolkit 9.0.0.0 > Integration Toolkit 9.0.0.0. Optionally, you can
double-click the shortcut icon on the Windows desktop.

Note

You can also start the IBM Integration Toolkit with commands as follows:
1. Start an IBM Integration Console session and change to the IBM Integration Toolkit
directory C:\Program Files(x86)\IBM\IntegrationToolkit90

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

2. Enter the following command:


mb.exe

__ b. In the Workspace Launcher window, enter C:\Workspace\Lab01 for the workspace


name, and then click OK.
After a few moments, the Integration Toolkit opens and the Welcome page is presented.
From the Welcome page, you can learn more about the features of IBM Integration Bus,
create a default configuration, review sample applications, and review other helpful
information.
__ c. Close the Welcome page by clicking Go to the IBM Integration Toolkit in the
upper-right corner, or by clicking the X on the right side of the Welcome tab in the
upper-left corner.
__ d. To display configuration information about the Integration Toolkit and the IBM Integration
Bus environment, click Help > About IBM Integration Toolkit.
A window shows version information.

The Build ID identifies the latest fix pack that is applied. In this example, the build ID is
9.0.0, dated June 19 2013 (20130619).
__ e. The icons across the About IBM Integration Toolkit page contain information about the
features that are installed in the IBM Integration Toolkit. Click one or more of these icons
and explore the installed elements.
__ f. Click Installation Details on the About IBM Integration Toolkit window to show the
installed toolkit components and their versions.

1-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Within the Installation Details page, you can select tabs to view the installed
components, the IBM Integration Toolkit installation history, the installed features, and
plug-ins.

__ g. Click the Configuration tab.

The Configuration tab contains the details about the installed configuration of the IBM
Integration Toolkit environment. This page is a summary of the other tabs on the
Installation Details page.
Before you update any components in the IBM Integration Toolkit environment, you
should always use the Copy to Clipboard action, and then paste the clipboard contents
into a file. Save the file for reference in case you need to determine which components
are installed at a specific point in time.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ h. Click Close to close the configuration details.


__ i. Click OK to close the About IBM Integration Toolkit window.
__ j. Leave the IBM Integration Toolkit open (minimize it if you want); you use it later in this
exercise.
__ 3. Retrieve the software version information for the IBM Integration Bus.
__ a. Start an IBM Integration Bus Console session by clicking All Programs > IBM
Integration Bus 9.0.0.0 > IBM Integration Console 9.0.0.0 from the Windows Start
menu. As an option, you can double-click the shortcut icon on the desktop.

Important

When IBM Integration Bus is installed, a special command console is also installed from which you
run IBM Integration Bus commands. It is a Windows command shell, but it sets a number of
environment variables when it is started.
Be sure to use an IBM Integration Bus command console session when you are directed to do so. If
you attempt to use a regular Windows command prompt session, the commands you issue might
fail because the appropriate environment variables are not set.

__ b. Use the mqsiservice command to report on and change the details of an IBM
Integration Bus component.
Enter the command:
mqsiservice -v
The response message contains the code page information, version, product, level, and
build type.

The Version and CMVC Level fields identify the latest fix pack that is applied. This

1-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty information is useful when working with IBM Support. In the example, the version is
9000; that is, Version 9.0.0.0, which indicates that no fix pack is applied. For example,
FixPack 1 would show as version 9001.
__ c. Close the IBM Integration Console window by typing the command exit (or clicking the
X in the upper-right corner of the window).
__ 4. Retrieve the software version information for IBM Integration Explorer.

Note

The IBM Integration Explorer is WebSphere MQ Explorer with a special plug-in. You can use either
explorer to access both WebSphere MQ and IBM Integration Bus.

__ a. Click All Programs > IBM Integration Bus 9.0.0.0 > IBM Integration Explorer
(Installation 1) from the Windows Start menu. The exercise image also contains a
shortcut icon on the desktop for IBM Integration Explorer.
__ b. From the menu bar, click Help > About IBM WebSphere MQ Explorer.
As you saw with the IBM Integration Toolkit, a page that contains details on the
configuration is displayed.

Version indicates the product version number. In this example, the version is 7.5.0.1,
which is the version of WebSphere MQ.
__ c. Click Installation Details to get detailed version and installation information that can be
copied to a clipboard and archived.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

The Installed Software tab shows that IBM Integration Explorer 9.0.0.0 is installed.

You should take a snapshot of this information for reference in case it is necessary to
determine which components are installed at a specific point in time.
__ d. Click Close to close the Configuration Details window.
__ e. Click OK to close the About IBM WebSphere MQ Explorer window.
__ 5. Retrieve the software version information for WebSphere MQ.
__ a. In the WebSphere MQ Explorer Navigator view, right-click IBM WebSphere MQ, and
then select Properties. The Properties page is presented.
__ b. In the left pane, click Configuration information.

The MQ Version property shows the latest fix pack that is applied. In the example, the
version is 7.5.0.1.
__ c. Click OK to close the Properties window.
__ 6. Minimize IBM Integration Explorer.

1-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 2: Set up authorizations


__ 1. To administer the integration node component, the integration node service ID must be a
member of the mqbrkrs security group.
In this step, you verify that the mqbrkrs security group exists on your system and that your
account (IIBAdmin) is a member. If the mqbrkrs group cannot be found, you create it and
add your account as a member of that group.
__ a. From the Windows Start menu, click All Programs > Administrative Tools > Active
Directory Users and Computers.
__ b. Click Users to display the users and groups.

__ c. If you are using the VMware image for this course, the mqbrkrs group is already
created. You do not need to create it.
Double-click the mqbrkrs group, click the Members tabs, and verify that IIBAdmin
(your user ID) is listed as a member of the group.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Information

If you are not using the pre-built image for this course, and the mqbrkrs group does not exist, you
can create it and then add your user ID to the Members list.
1. Right-click Users and click New > Group from the menu.
2. Enter mqbrkrs in the Group name field.
3. Click OK.
4. Open the new group and then add your account ID (IIBAdmin) as a member of the
group.
5.

__ d. Click Cancel to close the mqbrkrs Properties window.


__ 5. The integration node service ID must also be a member of the Windows administration
group mqm (this group is created automatically when WebSphere MQ is installed).
__ a. Verify that your user ID IIBAdmin is a member of mqm group.
__ b. If necessary, add your account (IIBAdmin) to group mqm.
__ c. Close the Active Directory Users and Computers window.
__ 6. The service ID that is used to create the IBM Integration Bus components must have
operating system authorization to create services.

Note

If you are using the pre-built image, IBM WebSphere MQ is configured at installation time to log on
with the LocalSystem ID. Because the service does not use a specific user ID, you do not need to
do these steps. They are included in case you need to do them in another environment.

To set (or verify) your user ID authorization:


__ a. From the Windows Start menu, click All Programs > Administrative Tools > Local
Security Policy.
__ b. In the left pane, expand Local Policies.
__ c. Select User Rights Assignment.

1-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ d. Double-click Act as part of operating system.

__ e. Verify that your user ID (IIBAdmin) is in the list.


If it is not, click Add User or Group, enter your user ID (IIBAdmin) as the object name,
and then click OK.
__ f. Click OK to close the Act as part of operating system properties window.
__ g. Close the Local Security Settings window.

Note

The mqsisetsecurity command can be also used to create the Windows groups that IBM
Integration Bus requires for secure access to its runtime libraries and data.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Part 3: Create and set up WebSphere MQ queue managers


Developers can create a default integration node (IB9NODE) and queue manager (IB8QMGR) by
using the Default Configuration wizard. The default configuration is already created on the image
for this course, so you do not need to run the wizard.
In this part and the next part of the exercise, you manually create a development integration node
that is named DEVNODE and a queue manager that is named DEVQMGR. The queue manager is
created with a dead-letter queue and a listener on port 1416.
__ 1. Switch to the IBM Integration Explorer session that you used earlier. If you closed it, click
Start > All Programs > IBM Integration Bus 9.0.0.0 > IBM Integration Explorer
(Installation 1). You can also use the IBM Integration Explorer shortcut icon on the desktop
to open IBM Integration Explorer.
__ 2. In IBM Integration Explorer, create a queue manager that is named DEVQMGR.
__ a. Right-click Queue Managers and then click New > Queue Manager.

__ b. For the Queue manager name, enter the following command:


DEVQMGR

Important

Queue manager names and queues names are case-sensitive. Enter the queue manager and
queue names exactly as directed in the exercise.

1-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ c. For the Dead-letter queue, enter the following command:


DEVQMGR.DLQ

__ d. Click Next.
__ e. For pages 2 and 3, make no entries; click Next.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ f. On page 4 of the Create Queue Manager wizard, verify that Create listener
configured for TCP/IP is checked and change the Listen on port number to 1416.

1-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ g. Click Finish. The Creating Queue Manager dialog box is shown. If you click Show
Details, you can watch the commands that the WebSphere MQ Explorer issues to
create the queue manager.

If you viewed the details, click Close to close the details window after you review the
output.
__ 3. Verify the results by examining the state of the queue manager in WebSphere MQ Explorer.
The queue manager should be “started’ as indicated by the green up arrow.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 4. Right-click DEVQMGR in the Navigator view and then click Properties. The Properties
window is displayed.

Review the various sections in the left pane. In particular, note the TCP property, which
shows the TCP port.
Click Cancel to close the Properties pane.
__ 5. Create the dead-letter queue for DEVQMGR by creating a local queue that is named
DEVQMGR.DLQ.
__ 6. Minimize the IBM Integration Explorer session. You use it later in this exercise.

1-16 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 4: Create an integration node

Note

For the following steps, use an IBM Integration Console. Remember that command arguments are
case-sensitive.

__ 1. Start an IBM Integration Console session by clicking Start > All Programs > IBM
Integration Bus 9.0.0.0, right-click IBM Integration Console 9.0.0.0, and then click Run
as administrator.
Optionally, you can right-click the IBM Integration Console icon on the desktop and then
click Run as administrator.
Click Yes to run the IBM Integration Console with “Administrator” privileges.
__ 2. Enter the following command to create an integration node that is named DEVNODE that uses
queue manager DEVQMGR, a service ID of IIBAdmin, and a password of Web1sphere:
mqsicreatebroker DEVNODE -i IIBAdmin -a Web1sphere -q DEVQMGR
__ 3. Enter the following command to modify (reduce) the integration node configuration timeout
(-g) and configuration delay timeout (-k). The default values (300 seconds and 60 seconds)
are too large for a local development environment.
mqsichangebroker DEVNODE -g 60 -k 15

Note

If you do not explicitly create the queue manager before creating the integration node, the first time
you enter a mqsicreatebroker command, it creates the queue manager that you specify in the
command. However, many important queue manager elements are missing:
• A dead-letter queue is not assigned.
• A listener is not activated.
• The new queue manager does not start automatically on restart (in the Windows
operating system).
• The new queue manager does not become the default queue manager.
If the mqsicreatebroker command creates the queue manager, you can modify the queue
manager properties in WebSphere MQ Explorer.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Part 5: Verify setup and start components


__ 1. Using the IBM Integration Console, list the local components and check the integration node
name, queue manager name, configuration timeout, and delay timeout.
Enter the following commands:
mqsilist
mqsiservice DEVNODE

__ 2. As you saw from the output of the mqsilist command, the integration node DEVNODE is
stopped.
Start the integration node service by entering the following command:
mqsistart DEVNODE

Minimize the IBM Integration Console window after you review the results of these
commands.
__ 3. In the Windows environment, WebSphere MQ and IBM Integration Bus run as Windows
services. You can also start and stop the components from the Windows services control
panel.
You can configure the components to start automatically when Windows starts.
__ a. Open the Windows services control panel by clicking Start > Administrative Tools >
Services.

1-18 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ b. Integration nodes appear in the list of services, prefixed with IBM Integration Bus
component.
In the Name column, locate IBM Integration Bus component DEVNODE.

__ c. Right-click the item and click Properties.


__ d. Change the Startup type from Manual to Automatic.

__ e. Click OK. You see that the Startup Type value for the integration node service now
shows as Automatic.
__ f. Close the Services Control Panel window.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 4. Verify the integration node and its components.


From an IBM Integration Console, enter the command:
mqsicvp DEVNODE
You should see some successful verification messages for the integration node and the
integration node queues.

Minimize the IBM Integration Console.


__ 5. Verify that the services started correctly by examining the local error log by using the
Windows Event Viewer.
__ a. From the Windows Start menu, click All Programs > Administrative Tools > Event
Viewer. You can also start The Event Viewer from a Windows command prompt by
entering:
eventvwr
__ b. Expand Windows Logs.
__ c. Select the Application log view.
Entries from the IBM Integration Bus are identified in the Source column with the string
IBM Integration Bus V9000.
Find the message that indicates that the DEVNODE service started.

1-20 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

Part 6: Create an integration server


__ 1. Create an integration server (execution group) that is named INTSERV1 on the integration
node DEVNODE.
From an IBM Integration Console, enter the command:
mqsicreateexecutiongroup DEVNODE -e INTSERV1

Note

You can also create the integration server from the IBM Integration Explorer:
1. Under the Integration Nodes folder, right-click integration node DEVNODE.
2. Click New > Integration server, and then enter the integration server name INTSERV1.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 3. Open IBM Integration Explorer, if it is not already running, and verify that the integration
server was created and is running.
__ a. In the WebSphere Explorer Navigator view, expand Integration Nodes.
__ b. Expand the integration node DEVNODE, if necessary.
__ c. Confirm that integration server INTSERV1 exists and is running (the green arrow icon is
displayed on the integration server name).

__ 4. Review the Windows Event Viewer Application log for messages that indicate the
integration server was created and started. As with many IBM Integration Bus commands
and operations, multiple messages are logged to the event log.

1-22 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 7: Explore the help system


__ 1. From the IBM Integration Explorer menu bar, click Help > Help Contents. A separate
window opens, and the WebSphere MQ Information Center is displayed.
__ 2. The information center shows a Contents list in the left pane. You can search for specific
terms or topics by using the Search box. You can also expand items in the table of contents.
For example, expand IBM Integration Bus Version 9.0.0.0 in the Contents list. You see
sections on the product overview, upgrading from a previous version, installing the product,
how to configure integration nodes, and more.

__ 3. Switch to the IBM Integration Toolkit.


You can get context-sensitive help by selecting an object and pressing F1.
For example, click Integration Nodes in the lower-left corner of the IBM Integration Toolkit
to highlight it, and then press F1.
A help window is displayed at the right side of the IBM Integration Toolkit that provides help
information about the Integration Nodes view.
This method opens topics that are related to the current location of your cursor.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-23
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 4. Double-click the Help tab to expand the view within the IBM Integration Toolkit window. This
information can be helpful if you are viewing a window that contains a large amount of
information.
Double-click the tab a second time to return the window to its original size and location in the
IBM Integration Toolkit. This same technique can be used to expand and resize any window
in the IBM Integration Toolkit.

Part 8: Clean up
__ 1. Close any open windows.
__ 2. Exit the IBM Integration Explorer.
__ 3. Exit the IBM Integration Toolkit.

End of exercise

1-24 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Exercise review and wrap-up


In this exercise, you used the IBM Integration Console to create a queue manager, integration
node, and integration server. You also used the Help options to get information about the product
installation, features, and functions.

© Copyright IBM Corp. 2013, 2014 Exercise 1. Integration node setup and customization 1-25
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

1-26 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 2. Using the IBM Integration Toolkit

Estimated time
01:00

What this exercise is about


In this exercise, you use the IBM Integration Toolkit to complete basic
postinstallation configuration tasks. You also import, deploy, and test a
message flow to learn the administrative tasks available in the development
environment.

What you should be able to do


At the end of the exercise, by using the IBM Integration Toolkit, you should be
able to:
• Import, deploy, and test a message flow
• Use the BAR file editor to examine the BAR file contents

Introduction
You typically administer IBM Integration Bus through both the IBM Integration
Explorer, IBM Integration web console, and the IBM Integration Console.
Some basic administration functions are also available in the IBM Integration
Toolkit.
In this exercise, you use the IBM Integration Toolkit to complete some basic
postinstallation configuration tasks. You also import, deploy, and test a
message flow so that you can gain an understanding of the administrative
tasks that a developer often does in a development environment.
The message flow that you use in this exercise matches the message flow
that is shown in the lecture material. The message flow is already written.
The message flow is shown in the following figure.

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

This simple message flow accepts a basic XML message from a WebSphere
MQ queue of the form:
<InMsg><Version>2</Version></InMsg>
The message flow then validates the value of <Version> in a Filter node as
follows:
• If <Version> equals 2, send the message through the True terminal, add
a time stamp, and return the augmented message to the caller through a
reply-to queue (EX2_REPLY queue).
• If <Version> equals 1 or 3, send the message through the False
terminal to the FALSEQ node (FALSE queue).
• If <Version> does not equal 1, 2, or 3, send the message through the
Unknown terminal to the UNKNOWNQ node (UNKNOWN queue).
If the incoming message contains the string <Version>2</Version>, the
resulting transformed message contains the addition of a time stamp, that is:
<OutMsg>
<Version>2</Version>
<TimeIs>current time stamp</TimeIs>
<DateIs>current date stamp</DateIs>
</OutMsg>

2-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty You complete the exercise by deploying and testing the provided message
flow in the IBM Integration Toolkit. First, you import a BAR file, and then you
test the message flow.

Required materials
• WebSphere MQ and IBM Integration Bus software components
• DEVQMGR queue manager, DEVNODE integration node, and
INTSERV1 integration server that were created in Exercise 1
• Lab exercise files in the C:\labfiles\Lab02 folder.
• RFHUtil in the C:\Software folder

Instructor exercise overview


Introduce this exercise as one intended to do nothing more than to give the student an exposure to
a message flow and the administration options available to the developer.
The exercise is structured in four parts. Unit 3 is a rather large lecture unit. You can begin this
exercise after completing Topic 2. The sections on post-install activity and message flow
familiarization (Parts 1 and 2) can be assigned independently of the later two sections on
deployment and testing (Parts 3 and 4). In this manner, students are offered a break between
lecture and exercise and have the opportunity to work on the exercise while the corresponding
lecture material is still fresh in their minds.
Encourage the students to work through the exercise with their Student Notebooks open to the
lecture page that corresponds to the step they are working on. By comparing the images on their
workstation with the screen captures included in the Student Notebook, they can obtain immediate
feedback that they are progressing through the exercise in a positive manner. If they make a
mistake, their error should become immediately obvious, giving them a chance to make corrections
before the error cascades into a disaster.
The optional portion of the exercise is for those students that complete the exercise ahead of
schedule. Time is not allotted in the agenda for the optional portion of the exercise.

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise instructions
• This exercise assumes that you successfully completed Exercise 1 in which you created the
queue manager DEVQMGR, the integration node DEVNODE, and the integration server
INTSERV1. Consult with your instructor if you have doubts about your success with Exercise 1.
• This exercise follows the order of the lecture material in Unit 3 of your Student Notebook.

Part 1: Work with a simple message flow

Hint

See topic 2 of Unit 3 in your Student Notebook.

__ 1. Start the IBM Integration Toolkit.


__ a. Double-click the IBM Integration Toolkit 9.0 icon on the desktop.
You can also start the toolkit by clicking All Programs > IBM Integration Toolkit > IBM
Integration Toolkit 9.0.0.0 > IBM Integration Toolkit 9.0.0.0.
After a few moments, the Workspace Launcher is shown.
__ b. For Workspace, enter: C:\Workspace\Lab02 and then click OK.
The IBM Integration Toolkit opens and the Welcome page is displayed.

Note

A Progress information window also opens. You can click the button to "Run in Background".

__ c. In the upper-right corner, click Go to the IBM Integration Toolkit. The Integration
Development perspective opens.
__ 2. Import a message flow project into your workspace.
__ a. From the menu bar, click File > Import. The Import dialog box is displayed.
__ b. Expand Other.
__ c. Click Project Interchange, and then click Next.

2-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ d. To the right of From zip file, click Browse.


__ e. Browse to the C:\labfiles\Lab02\resources directory.
__ f. Select EX2_PROJECT.zip and then click Open.
__ g. Select EX2_PROJECT (if it is not already selected) and then click Finish.

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

The IBM Integration Toolkit imports the project and constructs the workspace. Wait for
the Building workspace message to disappear from the lower right corner of the IBM
Integration Toolkit before proceeding.
__ 3. The EX2_PROJECT is now displayed in the Application Development navigator view,
under the Independent Resources hierarchy.
Expand the EX2_PROJECT by clicking the plus (+) sign and examine its contents.
You see that the project contains folders for Flows, ESQLs, Flow Tests, BARs, and Other
Resources. Double-clicking an object in the Application Development view causes the
corresponding editor to open the object in the editor pane, on the right side of the IBM
Integration Toolkit.
__ a. Fully expand the Flows subtree in the Application Development navigator until the
message flow file Ex2Flow.msgflow is displayed.
__ b. Open the message flow in the Message Flow editor by double-clicking
Ex2Flow.msgflow.
__ 4. Examine the message flow. Verify that it agrees with the figure that is displayed at the
beginning of the exercise.
__ 5. The properties of each node in the message flow are preset to transform and route the
message as described at the beginning of the exercise. Verify that the node properties
match the following table.

2-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty • You can view (or change) a property by right-clicking a node and then clicking
Properties.
• Node properties are grouped into pages. The Basic page is initially visible for most
nodes.

Node name Node type Properties

EX2_IN MQInput Basic: Queue name = EX2_IN


Input Message Parsing: Message Domain = XMLNSC
Advanced: Transaction mode = Yes

TraceExList Trace Basic: Destination = File


File path = C:\TraceExList.txt
Pattern = In TraceExList! Root ===> ${Root}
ExceptionList ===> ${ExceptionList}

REPLYQ MQReply Default values used; no overrides specified

FAILUREQ MQOutput Basic: Queue name = FAILURE

Test_Version=2 Filter Basic: Filter expression = Check_for_V2

Add_Date_Time Compute Basic: ESQL module = Set_Date_Time

CATCHQ MQOutput Basic: Queue name = CATCH

UNKNOWNQ MQOutput Basic: Queue name = UNKNOWN

FALSEQ MQOutput Basic: Queue name = FALSE

Part 2: Deploy a message flow with a BAR file

Hint

See topic 3 of Unit 3 in your Student Notebook.

__ 1. The project that you imported has a BAR file that is named Ex2Flow.bar. It is in the BARs
folder under the EX2_PROJECT.
The BAR file contains the Ex2Flow.msgflow in a form suitable to be delivered to an
integration node. Review the BAR file.
__ a. In the Navigator, fully expand the BARs subtree.
__ b. Open the BAR File editor by double-clicking Ex2Flow.bar.
__ c. The BAR File editor opens with the Manage tab.
In the Manage tab, you can review and manage the resources that are contained within
the BAR file. You can add, remove, or modify resources, and then rebuild the BAR file, in
preparation for deployment.
The top-level component in the BAR file is the compiled message flow file Ex2flow.cmf.

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ d. In the grid in the Manage tab of the BAR file editor, expand Ex2Flow.cmf by clicking the
plus (+) sign. The BAR file contains one message flow named Ex2Flow.
__ e. Expand the contents of the message flow by clicking the plus (+) sign next to Ex2Flow.
You see an entry for each node in the message flow. The nodes are listed in alphabetical
order.

__ f. Examine the contents of the Properties tab below the BAR File editor view as you click
each node that is contained within the BAR file. These properties are known as
configurable properties, and they can be overridden in the BAR file. In most cases,
these properties are a subset of the node properties that you see in the Message Flow
editor.

2-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 2. Deploy the BAR file to an integration server.


__ a. In the Application Development view, right-click Ex2Flow.bar and then click Deploy
from the menu. The Deploy dialog box is displayed.
__ b. Select the integration server that is named INTSERV1 under the DEVNODE integration
node as the target for the deployment.

__ c. Click Finish. A Deploying dialog box is displayed while the BAR file is deployed to the
integration server.

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Note

As you learn later in the course, there are several ways to deploy a message flow to an integration
server. Another commonly used method is to click the BAR file in the Application Development
navigator and drag it to the integration server that you want in the Integration Nodes view.

__ 3. Verify that the operation was successful by using the IBM Integration Toolkit Integration
Nodes view and the Deployment log.
__ a. Select the Integration Nodes view in the lower-left view of the IBM Integration Toolkit (if
it is not already selected).
__ b. Expand the Integration Nodes > DEVNODE > INTSERV1 hierarchy until you see the
message flow, Ex2Flow.

If the icon next to a message flow is a green upward arrow, the flow is successfully
deployed and is running.
If the icon is a yellow triangle, examine the Problems view (in the lower-right pane of the
IBM Integration Toolkit) for more status information. It might be that the message flow is
deployed but not yet running. If the message flow startup is in progress, the icon
changes to the green upward arrow when the message flow is started. It is also possible
that the flow might require a manual start, in which case you right-click the message
flow, and then click Start.
You also see another item in the hierarchy with the same name (Ex2Flow). This
component is the ESQL code that the message flow uses in the Filter node. It is
included in the BAR file automatically.
__ c. Click the Deployment log tab in the lower-right pane of the IBM Integration Toolkit. The
Deployment log shows whether the BAR file was deployed successfully.

2-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ d. Expand the message in the Deployment Log by clicking the plus sign (+).

You should see a message that indicates that the BAR file was successfully deployed to
the integration server. BIPnnnns messages that are preceded with a blue “i” icon (for
“information”) indicate success; a yellow triangle icon indicates a warning message, and
a red exclamation point icon indicates a deployment failure.

Part 3: Test the message flow


There are two main test tools available for testing message flows: the IBM Integration Toolkit Test
Client and RFHUtil. For this exercise, you use WebSphere MQ Explorer and the RFHUtil program
(contained in SupportPac IH03).

Hint

See topic 4 of Unit 4 in your Student Notebook.

__ 1. Use the WebSphere MQ runmqsc command to define the queues that are required for this
exercise. You use a command script for this purpose.
__ a. Start an IBM Integration Console session by double-clicking the shortcut icon on the
desktop or by clicking Start > All Programs > IBM Integration Bus 9.0.0.0 > IBM
Integration Console 9.0.0.0.
__ b. Change to the C:\labfiles\Lab02\resources directory.
Enter the command:
cd C:\labfiles\Lab02\resources
__ c. Enter the command:
runmqsc DEVQMGR < Ex2_Q_Defs.txt

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ d. Examine the screen and verify success.

You can also use the IBM Integration Explorer to verify that the queues are created on
DEVQMGR.
The following queues should now exist on the DEVQMGR queue manager: EX2_IN,
EX2_REPLY, FAILURE, UNKNOWN, FALSE, and CATCH.
__ e. Close the IBM Integration Console.
__ 2. The deployed message flow is running. It is waiting for a message to enqueue on the
EX2_IN queue. After it does, the message flow reads (dequeues) the message and sends it
through the message flow. In this exercise, you use the RFHUtil program to read a message
from a file and place the message on the EX2_IN queue to start the process.
__ a. Start the WebSphere MQ Explorer if it is not already running.
__ b. In the navigator pane, expand Queue Managers.

2-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ c. Under the DEVQMGR queue manager, double-click Queues. The list of queues that are
defined to DEVQMGR is displayed in the right pane.

__ d. Examine the EX2_IN queue. Notice that the Open input count value is 1, which means
that an application (the message flow) is waiting for a message to be put on that queue
as “input” to the message flow.
Similarly, the Open Output count column indicates the number of applications that are
connected to a queue for output (to place messages on the queue).
The Current Queue Depth column indicates the number of messages that are on the
queue.
__ 3. Start RFHUtil by double-clicking RFHUtil.exe in the C:\Software directory. You can also
use the shortcut icon on the Windows desktop.
__ 4. Enter the following parameters on the Main tab in RFHUtil:
• Queue Manager Name, select DEVQMGR
• Queue Name, select the input queue EX2_IN
__ 5. Click Open File.

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

A file selection window is displayed.


__ 6. Browse to C:\labfiles\Lab02\data, select the file Test_V2_msg.xml, and then click
Open.
__ 7. The status window near the lower left of the RFHUtil Main tab indicates that 35 bytes were
read from the file.
Examine the data that was read from the file by switching to the Data tab. The input file
name and byte count are displayed in the message above the data display window. Based
on the format, the data seems to be XML.

To the right of the Data window is a set of radio buttons that are labeled Data Format.
Select XML and notice how the data format display changes. Select some of the other
formats to see the other formats that are available.

2-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 8. In the message flow, the node that is named REPLYQ is an MQReply node. A message that
is routed to an MQReply node must have a queue name included in the message. This
queue name is specified in the WebSphere MQ message descriptor (MQMD) so that the
MQReply node knows where to send the message.
You can specify the ReplyToQueue value (and any other MQMD values) in RFHUtil in the
MQMD tab.
Switch to the MQMD tab and set Reply To Queue to:
EX2_REPLY.

Instructor note: If a student forgets to set the Reply To Queue in the MQMD, the message
flow fails with a BIP2642 message “ReplyToQ name not specified”. The MQInput node
Catch terminal gets the error and routes the message to the CATCHQ queue. This error
does not appear in the Windows event log because the Catch terminal is wired, but the
Trace node output from TraceExList shows the error.
__ 9. You are ready to send the test message to the queue for processing by the message flow.
Before you do, re-examine the message flow diagram.
Given the test data that you are about to send to the queue, what do you think the message
flow does with the message? Where does the incoming message go?
________________________________________________________________

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

________________________________________________________________
__ 10. Send the test data.
__ a. In RFHUtil, switch to the Main tab.
__ b. To write the test data to the queue you specified, click Write Q. The status window
reports the number of bytes written and to which queue.

__ 11. Based on your answer to step 9, where did the message go? The possible destination
queues are EX2_IN, EX2_REPLY, UNKNOWN, FALSE, CATCH, and FAILURE.
Use WebSphere MQ Explorer to determine the location of your test message. One way to
determine where the message was sent is to examine the Current queue depth column. A
queue depth greater than zero indicates that a message is waiting on that queue, as shown
here.

Reminder

WebSphere MQ Explorer automatically refreshes its display. The default refresh interval for queue
managers is 15 seconds. To change the refresh interval, right-click the queue manager that you
want to change in the Navigator view and then select Select Refresh Interval. Enter the refresh
frequency in seconds that you want, and then click OK.

__ 12. When you determine the queue that received the message, you can browse the data in the
queue by using either WebSphere MQ Explorer or RFHUtil:
To browse by using WebSphere MQ Explorer:
• Right-click the queue that you want to browse.
• Click Browse messages.
• The content of the message is in the Message data column.
To browse by using RFHUtil:
• Click the desktop shortcut icon to start a second instance of RFHUtil. You can use the
instance that is already open, but when you are working with several queues at one
time, it can be more efficient to open multiple instances of RFHUtil.
• Select the queue manager (DEVQMGR) and the queue that you want to browse.
• Click Browse Q. The status window reports the size of the message you are browsing.

2-16 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty You can also click Read Q instead of Browse Q. What is the difference between the two
operations?
________________________________________________________________

________________________________________________________________
• Switch to the Data tab to view the data. Again, click the appropriate Data Format radio
button to display the data in the appropriate data format.
Using this test data, the resulting message should show as follows:
<OutMsg>
<Version>2</Version>
<TimeIs>current time stamp</TimeIs>
<DateIs>current date stamp</DateIs>
</OutMsg>

__ 13. The message should show on the EX2_REPLY queue. If your message is not on
EX2_REPLY, check the following questions:
- Is the message still on the EX2_IN queue?

YES NO
The message flow might be deployed, but in a
stopped state.
Is there a running message flow that is Check the Integration Nodes view in the IBM
getting messages from EX2_IN (Open Integration Toolkit or WebSphere MQ
Input Count= 1)? Explorer. Examine the icon next to the
message flow. If necessary, start the
message flow.
If Open Input Count for EX2_IN = 0, but the
deployment was successful, then you might
Are the number of messages on the have a typographical error in the input queue
Backout Requeue Queue = 0? name of the MQInput node. One or more
error messages should also be present in the
Windows Event Log.
If Open Input Count for EX2_IN > 1, there are
multiple message flows getting messages
Are the number of messages on the
from EX2_IN. This situation is more likely to
Backout Requeue Queue > 0 and
happen in later exercises, should you
increasing?
duplicate one flow to serve as a starting point
for another.
- Is the message on the CATCH queue? If so, check the Windows Event Log to determine the
cause of the runtime error.
- Is the message on the FALSE or UNKNOWN queue? If so, check your test message. Is the
<Version> field present? Does <Version> = 2?

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Part 4: Clean up
You can complete the optional exercise first, if you choose to do so. When you are done testing,
clean up the environment.
__ 1. Remove the message flow components from the integration server. You can do so by using
the IBM Integration Toolkit or WebSphere MQ Explorer.
• To remove the message flow from the integration server in the IBM Integration Toolkit,
right-click the INTSERV1 integration server in the Integration nodes view, and then
click Delete > All Flows and Resources.
• To remove the message flow from the integration server in the WebSphere MQ Explorer,
right-click the integration server INTSERV1 under the DEVNODE integration node in the
Navigator, and then click Delete all flows and resources.
__ 2. Delete any messages from the queues. You can do so by using RFHUtil or WebSphere MQ
Explorer.
• To use RFHUtil to delete messages from the queues, select the queue manager
DEVQMGR, select the queue name, and then click Purge Q. After you confirm the
action, the status displays the number of messages that were purged. Repeat for the
other queues that contain messages.
• To use WebSphere MQ Explorer to delete messages from the queues, right-click the
appropriate queue and then click Clear Messages. Use the default Clear type option
and click Clear. Repeat for the other queues that contain messages.
__ 3. Close the IBM Integration Toolkit.

End of Exercise

2-18 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Optional exercise


Instructions for optional exercises are intentionally brief in this exercise. For more information, see
to the Student Notes, previous exercises, and the information center.
__ 1. Deploy the Ex2Flow.bar file to INTSERV1 on DEVNODE, if it is not already deployed.
__ 2. Use the IBM Integration Toolkit to create another integration server that is named
Ex2TestGrp.
__ 3. Use the IBM Integration Toolkit to deploy the Ex2Flow.bar file to the Ex2TestGrp and verify
that the deployment succeeded.
__ 4. Use RFHUtil to retest with the test message.
Change the MQMD Reply To Queue name to EX2_OUT (and create that queue by using
WebSphere MQ Explorer).
Does the transformed message end up on EX2_OUT rather than EX2_REPLY?
Retest a number of times and observe results. It is likely that the test messages do not
consistently reach only one of the two output queues. If that is the case, what must you do to
correct the situation?
__ 5. Override the input queue name in the Ex2Flow.bar file in the BAR File editor.
__ a. Open the BAR file and click the Manage tab.
__ b. Expand the compile message flow file (.cmf) until the nodes are listed.
__ c. Select the input node EX2_IN.
__ d. On the Properties tab, change Queue name to IN_QUEUE (remember to create the
queue by using WebSphere MQ Explorer).
__ e. Save the BAR file.
__ 6. Start an IBM Integration Console session, change directories to the lab directory, and deploy
the BAR file by using the mqsideploy command (shown here with a subset of parameters
and options):
mqsideploy <inodeName> -e <iserverName> -bar <barFileName>
For details about the mqsideploy command, see the information center.
Ensure that the BAR file is in the directory from which the mqsideploy command is
entered. A suggestion is to work from \<install_directory>\bin\
__ 7. Retest with the <Version> = 2 message. Be sure to change RFHUtil to submit the test
message to IN_QUEUE rather than EX2_IN. Verify that the output goes to EX2_OUT.

End of Optional Exercise

© Copyright IBM Corp. 2013, 2014 Exercise 2. Using the IBM Integration Toolkit 2-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise review and wrap-up


In the first part of this exercise, you did the required postinstallation tasks so that the IBM
Integration Toolkit instance can interact with an integration node. These postinstallation tasks are a
fundamental requirement for administrators.
You then completed some developer tasks in the IBM Integration Toolkit such as developing a
message flow and testing a message flow. Many businesses allow developers to do administrative
tasks in development environments. In smaller businesses, the application developer might also act
as the administrator.

2-20 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 3. Administering the runtime
components

Estimated time
01:30

What this exercise is about


In this exercise you use IBM Integration Bus commands, IBM Integration
Explorer, and the IBM Integration web console to manage IBM Integration
Bus runtime components. You also back up and restore the integration node
configuration data.

What you should be able to do


At the end of the exercise, you should be able to:
• Administer IBM Integration Bus components by using IBM Integration
Bus commands, IBM Integration Explorer, and the IBM Integration web
console
• Create an integration set in IBM Integration Explorer
• Back up and restore the integration node and its configuration data

Introduction
IBM Integration Bus administrators can manage and manipulate the IBM
Integration Bus components by using WebSphere MQ Explorer with the IBM
Integration Bus plug-in. However, it is also possible to use IBM Integration
Bus commands to complete the same tasks. While IBM Integration Explorer
is easier to use and more intuitive, commands give the ability to fully
automate the management tasks by using scripts.
You can also use the IBM Integration web console and the IBM Integration
API to further extend the administrative capabilities.

Requirements
• WebSphere MQ and IBM Integration Bus software components
• DEVQMGR queue manager, DEVNODE integration node, and
INTSERV1 integration server that were created in Exercise 1
• Lab exercise files in the C:\labfiles\Lab03 directory

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Instructor exercise overview


In the first part of this exercise, students start the IBM Integration Console and use various
commands to operate and manage various IBM Integration Bus components. In the second part of
the exercise, students use IBM Integration Explorer to do similar administration tasks as with the
command interface. In the third part of the exercise, students use the IBM Integration web console
to complete some basic administration tasks. Then, students briefly work with the supplied IBM
Integration API Exerciser. There is no programming with the API; just the use of the Exerciser.

3-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Exercise instructions


Notes
This exercise assumes that Exercise 1 was successfully completed. Recall that you used several of
the commands in Exercise 1 when you set up your integration node.

Part 1: Use the IBM Integration Console


In this part of the exercise, you use the IBM Integration Console to check the status and
configuration of the integration node, integration servers, and message flows.

Important

When you enter commands, do not press Enter where you see a line break in the command. You
must enter commands on a single line, although it is permissible for the command to wrap to
subsequent lines as you type it. Press Enter only after you type the entire command.

__ 1. As you saw in the previous exercises, the IBM Integration Bus environment supplies a
special command console from which you run IBM Integration Bus commands. To view what
happens if you try to work outside of the command console, open a Windows command
prompt window.
__ a. From Windows, click Start > Run.
__ b. Enter cmd in the Open field and then click OK.
__ c. Enter the command: mqsilist DEVNODE
You know that the integration node is deployed and running, so what might cause this
problem?
In the lecture material, you learned that you must run mqsiprofile.cmd to set up the
environment for various components. Do not run that command now, however.
__ 2. Review the mqsiprofile.cmd file in the C:\<Integration Bus Install Path>\bin
directory. In this course, the Integration Bus Install Path is C:\Program
Files\IBM\MSQI\9.0.0.0\.
__ a. Use Windows Explorer to locate the file.
__ b. Right-click the file and click Edit to open the file in Notepad. You can see that the
command file sets a number of environment variables. When you use the IBM
Integration Console in the Windows environment, mqsiprofile.cmd is automatically
called to set the command environment.
__ c. Close the file when you are done browsing it. Do not save any changes if you are
prompted to do so.
__ 3. Start the IBM Integration Console. Use the icon on the desktop, or click Start > All
Programs > IBM Integration Bus 9.0.0.0, right-click IBM Integration Console, and then
click Run as administrator.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 4. Get a list of running integration servers and message flows on DEVNODE by entering the
command:
mqsilist DEVNODE -d2

Note

For most commands, you can enter the command followed by a question mark character (?) to get
a summary of the command syntax.

What message flows are running?___________________________________


Instructor notes: No message flows are running unless the student did not clean up the
running flow from the previous exercise.
__ 5. Now, use the IBM Integration Console to create an integration server for the DEVNODE
integration node. Name it DEVEX3, as shown:
mqsicreateexecutiongroup -q DEVQMGR -b DEVNODE -e DEVEX3

Note

The syntax for the commands in this part of the exercise do not specify a host ID (-i) and port (-p).
These options are not required if you are referencing a local integration node. They are required to
connect to remote components.

__ 6. Deploy the Admin1.bar file to the new DEVEX3 integration server.


__ a. When deploying a BAR file, the mqsideploy command looks for the file in the current
directory (the one from which the command is run) by default. If the BAR file is not in that
directory, you must specify the full path.
Change directories to the directory that contains the BAR file
(C:\labfiles\Lab3\resources) before you deploy the file.
Enter the command:
cd C:\labfiles\Lab03\resources
__ b. Enter the command to deploy the Admin1.bar file:
mqsideploy DEVNODE -e DEVEX3 -a Admin1.bar
__ c. Enter the command to view the contents of the BAR file:
mqsireadbar -b Admin1.bar

3-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 7. Verify that the flow was successfully deployed:


mqsilist DEVNODE -e DEVEX3
__ 8. Remove the deployed message flow from the DEV3EX3 integration server:
mqsideploy DEVNODE -e DEVEX3 -d Admin1
Notice that you do not include the “.bar” file extension when you are removing a
message flow from an integration server.

Hint

To reduce the amount of typing you do, you can press the up arrow key on your keyboard in the IBM
Integration Console window to retrieve a previous command. You can then edit the portion of
command that changed (if necessary), by using the left arrow, right arrow, Delete, and Backspace
keys. Press Enter to run the command after you finish editing it.
For example, the command you enter in the next step is identical to the command you entered in
step 6b. Press the up arrow key until the mqsideploy command is displayed and then press Enter
to reissue the command.

__ 9. Redeploy the Admin1.bar file to the DEVEX3 integration server on DEVNODE:


mqsideploy DEVNODE -e DEVEX3 -a Admin1.bar
__ 10. Now, enter a command that stops the message flow that you deployed:
mqsistopmsgflow DEVNODE -e DEVEX3 -m Admin1

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 11. Restart the message flow:


mqsistartmsgflow DEVNODE -e DEVEX3 -m Admin1
__ 12. Minimize or close the IBM Integration Console window. You use it later in the exercise.

Part 2: Use IBM Integration Explorer


In this part of the exercise, you use WebSphere MQ Explorer (with the IBM Integration Bus plug-in)
to complete many of the same tasks that you completed in Part 1 of this exercise. In addition, you
use IBM Integration Explorer to examine the BAR file contents and message flow properties.
__ 1. If it is not already running, start IBM Integration Explorer.
__ 2. Expand the subtrees under the Integration Nodes folder.
The icon symbols and colors indicate the current state of the integration nodes, integration
servers, and message flows.

__ 3. Double-click DEVNODE under the Integration Nodes folder, and then examine the
properties in the Connection QuickView, Status QuickView, and Properties QuickView.

3-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 4. Use the WebSphere MQ Explorer to create an integration server that is named IBX3 for the
integration node IB9NODE.
__ a. Right-click the integration node that is named IB9NODE in the Integration Nodes
subtree.
__ b. Click New > Integration Server.
__ c. Enter the name IBX3, and then click OK.
After a brief pause, the new integration server is created and started. It is displayed
under the IB9NODE hierarchy.
__ d. Check the Administration Log for IB9NODE.
You should see two new log entries. The first entry is an Administration Request to
create the integration server. The second entry is a Change Notification that shows that
a process ID changed from zero, which indicates that the integration server is running.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 5. Import the Admin1.bar file from the C:\labfiles\Lab03\resources folder into IBM
Integration. You use it later in this part of the exercise.
__ a. In the WebSphere MQ Navigator, right-click the Bar Files folder and then click New >
Bar folder.
__ b. For the Bar folder name, enter:
Development
__ c. Right-click the new Development folder under Bar Files and then click Import Bar
Files.
__ d. For the From Directory, click Browse and go to the C:\labfiles\Lab03\resources
directory
A resources folder is displayed in the left pane, and the Admin1.bar file is displayed in
the right pane.
__ e. Select the box beside the Admin1.bar file.

__ f. Click Finish to import the BAR file. The Admin1.bar file should now appear under the
Development folder in the Navigator.

3-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 6. View the BAR file contents and message flow properties.


__ a. Right-click Admin1.bar and click Open with > Bar Editor. The BAR File editor opens.
The BAR File editor in the IBM Integration Explorer is similar to the BAR File editor in the
IBM Integration Toolkit; however, the BAR File editor in the IBM Integration Explorer
does not include a Prepare tab.
__ b. In the Manage view, expand the Admin1.cmf compiled message file and the Admin1
message flow.
__ c. Right-click the ADMIN_IN node and click Configure. The Properties view opens in the
lower left of the IBM Integration Explorer and displays the properties that you can
override.

Note

The views in the screen capture that is provided here were rearranged for capture purposes. Your
views might not appear exactly as shown here.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 7. Deploy the message flow to the newly created IBX3 integration server by dragging the file
Admin1.bar from the Bar Files > Development folder to the integration server IBX3 in the
Navigator.
__ 8. Double-click the integration server IBX3 and examine the integration server Properties
QuickView and Deployed Flows and Flow Resources QuickView.
The QuickView shows the message flow properties such as queues used, user trace status,
and node names.

3-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 9. Expand the IBX3 integration server, and then double-click the Admin1 message flow.
Examine the message flow properties in the Properties QuickView.
The QuickView shows the message flow properties such as queues used, user trace status,
and node names.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 10. Remove the deployed message flow Admin1 from the IBX3 integration server.
__ a. Right-click the Admin1 message flow in the Navigator and then click Stop. Click Yes on
the confirmation message.
__ b. After the message flow stops (as indicated by the status icon), right-click the Admin1
message flow in the Navigator and then click Delete. Click Yes on the confirmation
message.
__ 11. Stop the IBX3 integration server by right-clicking it in the Navigator and then clicking Stop >
Integration server from the menu.

Part 3: Creating integration sets


In this part of the exercise, you create an integration set in IBM Integration Explorer. The integration
set automatically contains all integration nodes that are stopped.
__ 1. In the IBM Integration Explorer, right-click the Integration Nodes folder and then click
Integration Sets > New Integration Set.
__ 2. Enter Stopped integration nodes as the integration set name.
__ 3. Select Automatic for the type so that any integration node in the “stopped” state is
automatically displayed in this integration node set.

__ 4. Click Next.
__ 5. Select brokerStatus:Stopped in the Available filters column and then click Add to move it
to the Selected filters column.

3-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 6. Click Finish.
__ 7. Two new folders are displayed under the Integration Nodes folder:
• All contains all the integration nodes.
• Stopped integration nodes contains only the integration nodes in the “stopped” state.
__ 8. Test the integration set.
__ a. Expand the All set under Integration Nodes.
__ b. Stop the integration node IB9NODE by right-clicking it and clicking Stop > Integration
Node.
__ c. Expand the Stopped integration nodes set. The integration node IB9NODE is now
displayed in that set, and also in the All set

__ d. Restart the integration node IB9NODE by right-clicking it and selecting Start.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 9. Create another integration set for all integration nodes that are “Development” nodes.
__ a. In the IBM Integration Explorer, right-click the Integration Nodes folder and then click
Integration Sets > New Integration Set.
__ b. Enter Development as the integration set name and select Automatic for the type. Click
Next.
__ c. Select brokerEnvironment:Development in the Available filters column and then
click Add to move it to the Selected filters column. Click Finish.
__ 10. Tag the integration node DEVNODE as a “Development” node.
__ a. Right-click DEVNODE in the Navigator and then click Modify Integration Node Tags.
__ b. Select brokerEnvironment:Development and then click Finish.

__ c. The DEVNODE integration server should now appear under the Development
integration set.

3-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 4: Using the IBM Integration web console


In this part of the exercise, you use the IBM Integration web console to complete basic
administration.
__ 1. Use IBM Integration Explorer to enable web administration for the DEVNODE integration
node.
__ a. In IBM Integration Explorer, right-click DEVNODE and then click Properties.
__ b. Select WebAdmin.
__ c. Verify that Enabled is set to true.
__ d. The HTTP port for IB9NODE and DEVNODE are currently both set to the default port of
4414. Change the HTTP Port property for DEVNODE to 4416.

__ e. Click OK.
__ 2. Stop and then start the DEVNODE integration server to apply the change to the HTTP port.
__ 3. Start the IBM Integration web console for DEVNODE.
__ a. Open a web browser.
__ b. For the URL, enter: http://127.0.0.1:4416
__ 4. Display the DEVNODE QuickView and Advanced Properties.
__ a. Select DEVNODE in the IBM Integration navigator in the left pane.
__ b. Show the integration node Advanced Properties by clicking the down arrow on the
Advanced Properties heading in the right pane.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 5. Display the properties for the DEVEX3 integration server.


__ a. Expand DEVNODE by clicking the plus (+) sign.
__ b. Select DEVEX3.
__ c. Show the integration server Advanced Properties by clicking the down arrow on the
Advanced Properties heading in the right pane.

3-16 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 6. Display the properties of a message flow that is deployed to the DEVEX3 integration server.
__ a. Expand Resources under the DEVEX3 integration server to show the message flow
that is deployed to the integration server.
__ b. Select the Admin1 message flow to display the message flow properties.
__ c. Expand the Advanced Properties and Deployed Properties sections.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 7. Stop the message flow that is running on DEVEX3.


Click the down arrow next to the Admin1 message flow and then select Stop.

3-18 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

Verify that the runMode property for the message flow is now set to stopped.
__ 8. Restart the Admin1 message flow.
__ 9. Close the web browser window.

Part 5: Using the IBM Integration API Exerciser


__ 1. Start the IBM Integration API (CMP) Exerciser by clicking Start > All Programs > IBM
Integration Bus 9.0.0.0 > IBM Integration Java APIs > Integration API Exerciser.
__ 2. To connect to the local integration node (broker), right-click the icon and click the Connect
to Local Broker.

__ 3. Select the integration node DEVNODE from the list, and then click Submit.
__ 4. After a connection is established, note the status information that is displayed in the lower
part of the Exerciser screen.
In the upper part of the screen is information about the integration node.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 5. Highlight the message flow Admin1.cmf that you deployed to the integration server
DEVEX3 to display the message flow properties.

3-20 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 6. By right-clicking the message flow, you can turn on tracing, start and stop the message flow,
delete the message flow, and do several other operations.

Stop the flow by clicking Stop on the menu. Verify that the flow stopped by verifying that the
runMode property is now set to stopped.
You can also use the IBM Integration Explorer and IBM Integration web console to verify the
status of the message flow.
__ 7. Delete the DEVEX3 integration server.
Right-click the integration server and then click Delete. The delete is completed without
confirmation.
__ 8. Next, you record a script of an operation, which captures it for reuse. The script can then be
run against other integration node environments.
__ a. From the menu bar of the IBM Integration API exerciser, click Scripting > Record New
Script.
__ b. Give the script a useful name:
CreateNewIS.xml
Store it in the root directory (C:\).
Scripting is now active.
__ 9. Right-click the DEVNODE integration node and then click Create execution group.

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-21
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 10. Name the new execution group (integration server) EX3B, and then click Submit.
__ 11. After you see the new integration server show in the list of integration servers, stop the
script recording by clicking Scripting > Stop Recording.
__ 12. From the IBM Integration API Exerciser, delete the EX3B integration server.
__ 13. Re-create the integration server from the script.
__ a. Click Scripting > Play Back Recorded Script.
__ b. Browse to the root directory (C:\)
__ c. Find the XML file that was used for the recording (CreateNewEG.xml), and then click
Open.
The script runs and creates the EX3B integration server again. The integration server is
displayed in the list after it is created.
__ 14. Right-click the EX3B integration server and click Deploy BAR.

__ 15. Browse to the C:\labfiles\Lab03\resources directory and then select the Admin1.bar
file. Click Open and wait for the deployment to complete.

3-22 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 16. Verify that the flow was deployed by looking at the log entries in the IBM Integration API
Exerciser.
__ 17. After you confirm that the message flow successfully deployed, stop the Admin1 message
flow and delete the EX3B integration server.
__ 18. Close the IBM Integration API Exerciser.

Part 6: Back up and restore the integration node


In this part of the exercise, you back up the integration node configuration information.
Normally, you want to back up the integration node configuration information to a separate drive.
For this exercise, however, you create a local folder and back up to that location.
__ 1. Use Windows Explorer to create a folder that is named DEVNODE_Backup in the root (C:\)
directory.
__ 2. Open an IBM Integration Console and back up the integration node configuration to the new
folder. You can use the -a option to name the archive. You do not use it here so that you
can see the default file name for the archive.
Issue the command:
mqsibackupbroker DEVNODE -d C:\DEVNODE_Backup

The command should return a message like the following example:

BIP125I: Creating backup file ‘C:\DEVNODE_Backup\DEVNODE_ccmmdd_hhmmss.zip’


for broker ‘DEVNODE’.
BIP8071I: Successful command completion.

Where ccmmdd is the year, month, and day, and hhmmss is the hour, minute, and second of
the backup file creation time.
__ 3. Open a Windows Explorer session and browse to the C:\DEVNODE_Backup folder.
You now have all the necessary information to restore your integration node. This file can be
copied and stored elsewhere (on some type of external media) or, at a minimum, on a
separate drive from where the domain exists.

Important

The integration node backup command does not back up all the resources that message flows
require to function correctly. These resources include:
- WebSphere MQ queues
- Data that is stored in user databases
- Transient information for inflight aggregations or collections
- Runtime code, including resources that are associated with user-defined extensions such
as nodes, parsers, and exits

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-23
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Next, you simulate a system failure by deleting the integration node and integration node
components. After you complete the system failure simulation, you restore the integration node and
components by using the backup file that you created in Step 2.
__ 4. From the IBM Integration Explorer, stop from the integration node DEVNODE.
__ 5. From IBM Integration Explorer, delete the integration node and queue manager.
__ a. Right-click DEVNODE in the navigator and then select Delete Integration Node.
__ b. Select the option to also delete the integration node queue manager.
__ c. Click Next.
__ d. Click Finish.

Note

You can also stop the integration node services by using the Windows Services control panel.
Select All Program > Administrative Tools > Services
Scroll to the IBM Integration Bus component for the integration node and click Stop.

__ 6. Attempt to start the integration node from a command console:


mqsistart DEVNODE
You receive a message that indicates that the integration node does not exist.
__ 7. From IBM Integration Explorer, re-create the integration node DEVNODE.
__ a. Right-click Integration Nodes in the Navigator and click New > Local integration
node.
__ b. For the New integration node name, enter DEVNODE, and then click Next.
__ c. For the Queue manager, enter DEVQMGR, and then click Next.
After a few moments, the integration node is created, and the Create Integration Node
wizard summary is displayed.
__ d. Click Finish.
__ 8. Stop the DEVNODE integration node by using the IBM Integration Console or the IBM
Integration Explorer. The integration node must be stopped before you can restore it.
__ 9. Using the IBM Integration Console, restore the integration node. Enter:
mqsirestorebroker DEVNODE -d C:\DEVNODE_Backup -a archive_file
Where archive_file is the name of the archive file that the mqsibrokerbackup
command created in Step 2.
After the restore completes, you receive a message that indicates that the integration node
was restored.
__ 10. Start the integration node by using the IBM Integration Explorer or the IBM Integration
console.

3-24 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 11. Test that the integration node is properly restored.


You should have one integration server that is name INTSERV1.
Be sure to check the event log to ensure that everything worked properly.

Part 7: Clean up
__ 1. Reset the IBM Integration Explorer to its default view. From the menu bar, click Window >
Reset Perspective. Click OK when prompted to confirm.
__ 2. Close any open windows and programs.

End of exercise

© Copyright IBM Corp. 2013, 2014 Exercise 3. Administering the runtime components 3-25
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise review and wrap-up


This exercise provided you with an opportunity to use the IBM Integration Bus command interface
to issue commands by using the IBM Integration Console. It also exposed you to administering IBM
Integration Bus components with WebSphere MQ Explorer and IBM Integration web console and
the IBM Integration API Exerciser. The IBM Integration API allows customization of administrative
functions, but that is a programming task, not covered in this exercise.
Backing up the integration node is an important exercise for administrators. In the exercise, you
learned how to back up and restore all necessary integration node components.

3-26 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 4. Administering IBM Integration Bus
security

Estimated time
01:00

What this exercise is about


In this lab exercise, you set and test IBM Integration Bus access control for
the integration nodes, integration servers, and message flows.

What you should be able to do


At the end of the exercise, you should be able to:
• Activate administration authority
• Assign security permissions for integration nodes, integration servers,
and message flows with IBM Integration Explorer and IBM Integration
Bus commands
• Use the IBM Integration API Exerciser to test the secured environment

Introduction
IBM Integration Bus uses a special set of queues on the integration node
queue manager to control access to each entity that must be secured in
terms of administrative access. Each administrative action, such as creating
an integration server, and deploying or stopping a message flow, is mapped
to one of three categories; read, write, or run. These categories are mapped
to WebSphere MQ security properties as follows:
• Inquire maps to Read
• Put maps to Write
• Set maps to Run
One or more of the WebSphere MQ security permissions are set on a
particular queue to control access to the object that queue represents; an
integration node or an integration server. This design uses a familiar, already
present mechanism (queue security) and provides excellent granularity and
flexibility.
Administrative security is turned off by default when an integration node is
created. It must be turned on with the mqsichangebroker command. A flag is
also provided on the mqsicreatebroker command that turns on security as
part of the creation process.

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Requirements
You use the fully configured workstation from Exercise 1.
Here is some information about the resources that you use in the exercise:
• Admin_Security_Test1.bar and Admin_Security_Test2.bar
A copy of the Project interchange file and a BAR file are in the
C:\labfiles\Lab04\resources folder.
• Runas_No_Auth_ID_For_CMP.bat
Windows batch script, which is in the C:\labfiles\Lab04\resources
folder. This batch script starts a session as user No_Auth_ID.
• Microsoft Windows user that is named No_Auth_ID and group that is
named Test_1 with IBM Integration Bus permissions as shown in Part 1
of the exercise.
• IBM Integration Bus default configuration.

4-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Exercise instructions

Preface
To effectively test administrative security, you must run under a different user ID than the
administrator ID IIBAdmin because it has full authority over the integration node environment.
Logging out of that account and logging in as another user is not a good solution on Windows
because that starts a different or unique configuration of installed software. The solution is to
use the Windows option to Run as different user. This option allows you to run a program with
different permissions than the currently logged-on user ID provides.
You use the Run as different user option in this lab to run the IBM Integration API Exerciser
under a different user ID. One feature of the IBM Integration API Exerciser is that it provides a
window at the bottom of the interface that shows frequent and detailed status. The window
shows the results from a test, including error messages, without having to use another tool.
While this lab uses the IBM Integration API Exerciser; it is important that you understand that all
IBM Integration Bus applications are subject to security authentication when administrative
security is active. Those applications include IBM Integration Explorer, the IBM Integration
Toolkit, and the IBM Integration web console.

Instructor exercise overview


In the first part of this exercise, students set up user and group authorities for a specific
non-privileged Windows user. That same user ID is used in testing the next parts of this lab.

Part 1: Setting user and group security


The exercise image has a user ID No_Auth_ID with basic privileges only. The No_Auth_ID is a
member of the group Test_1.
In this part of the exercise, you grant Test_1 group-specific WebSphere MQ privileges.
This exercise also uses the default configuration integration node (IB9NODE), queue manager
(IB9QMGR), and integration server (default).
__ 1. Start the Windows Computer Management application by clicking Start > Administrative
Tools > Active Directory Users and Computers.
__ 2. Click Users.
A list of all users and groups is displayed in the right pane.
__ 3. Review the details of the user ID No_Auth_ID.
__ a. In the right pane, double-click the user ID No_Auth_ID.
__ b. Select the Member of tab and review the groups to which the user ID belongs. Notice
that the user ID is not a member of the “Administrators” group.

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ c. Click Cancel to exit without saving any changes to the user ID.

__ 4. Review the groups to which the user ID belongs.


In this exercise, you are setting all authorities at the group level. The No_Auth_ID user ID
inherits its authorities from the groups to which it belongs.

Note

While it is possible to assign authorities at the user level in Windows, most other operating systems
do not support this capability.

__ a. Double-click group Test_1 to open it.


__ b. Select the Members tab. You see that user ID No_Auth_ID is the only member.
__ c. Click Cancel to exit without saving any changes to the user ID.
__ d. Close the Active Directory Users and Computers window.
__ 5. If it is not already running, open IBM Integration Explorer.
__ 6. In IBM Integration Explorer, grant the group Test_1 Connect and Inquire privileges for
queue manager IB9QMGR.
__ a. Under the Queue Managers folder, right-click IB9QMGR and click Object Authorities
> Manage Queue Manager Authority Records. The Manage Authority Record dialog
box is displayed.
__ b. Review the existing groups and users by selecting the Groups tab and then the Users
tab. The only two groups that you see are mqm and mqbrkrs.

4-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ c. On the Groups tab, click New (at the bottom of the window). The New Authorities
dialog box is displayed.
__ d. For Entity name, enter:
Test_1
__ e. Under the MQI authorities options, select Connect and Inquire.

__ f. Click OK, and then click OK again on the result dialog box.
The Test_1 group is displayed in the Groups list with Connect and Inquire authority.

__ g. Close the Manage Authority Records window.


__ 7. Grant the group Test_1 Put privileges on the SYSTEM.BROKER.DEPLOY.QUEUE so
that users connected to that group can deploy message flows to an integration server.
__ a. Expand the IB9QMGR queue manager folder in the Navigator.
__ b. Click Queues.

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ c. Click the Show System Objects icon (the first icon in the upper right in the WebSphere
MQ Explorer tab) so that the system queues are displayed.

__ d. Right-click SYSTEM.BROKER.DEPLOY.QUEUE and click Object Authorities >


Manage Authority Records.
__ e. Expand Specific Profiles and then select SYSTEM.BROKER.DEPLOY.QUEUE.

__ f. Select the Groups tab, and then click New (at the bottom of the window).
__ g. For Entity name, enter:
Test_1
__ h. Under the MQI authorities options, select Put.

__ i. Click OK, and then click OK again on the result dialog box.
__ j. Verify that the Test_1 user ID is displayed in the authority records table and that the
Put authority is selected.
__ k. Close the Manage Authority Records dialog box.

4-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 8. Follow the same procedure that is described in Step 7 to grant the group Test_1 Put and
Get privileges on the SYSTEM.BROKER.DEPLOY.REPLY queue.

__ 9. Import the BAR files that are used in this lab into IBM Integration Explorer.
__ a. In the IBM Integration Explorer Navigator, right-click the Bar Files folder, and then click
New > Bar Folder.
__ b. For the BAR folder name, type Security, and then click Finish.
__ c. Expand the Bar Files folder.
__ d. Right-click the new Security folder and click Import Bar Files.
__ e. To the right of From directory, click Browse, go to the C:\labfiles\Lab04\resources,
and then click OK.
__ f. In the right pane, select the Admin_Security_Test1.bar file and the
Admin_Security_Test2.bar file.

These message flows are basic MQInput to MQOutput message flows. You do not run
them in this exercise, but you do deploy them later in the exercise.
__ g. Click Finish.
The BAR files show in the IBM Integration Explorer Navigator under the Bar Files >
Security folder.

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Part 2: Testing the default unsecured environment


The steps in this part of the exercise show that the No_Auth_ID user can successfully
operate in the integration node environment because of the set of authorities you configured
in Part 1 of this exercise.
Instructor note: This part of the exercise shows what a user who has minimal security can do
within the IBM Integration Bus environment.
__ 1. So that you can run as another user without having to log off and back on, you use the Run
as different user option in Windows.
__ a. Click Start > All Programs > IBM Integration Bus 9.0.0.0 > IBM Integration Java
APIs.
__ b. While holding down the Shift key, right-click IBM Java API Exerciser and then click
Run as different user.
__ c. A command prompt window opens and you are prompted to enter the user ID and
password.
For the user ID, enter No_Auth_ID
For the password, enter Web1sphere
After a few moments, the IBM Integration API Exerciser starts.
__ 2. It is necessary to adjust the timeout values for the IBM Integration API Exerciser if you are
running this exercise on a VMware image.
__ a. Click File > Set Timeout Characteristics.
__ b. Modify the timeout values as follows:
- Set Maximum wait time for BAR deployment to 60
- Set Maximum wait time for execution group creation to 60
- Set Maximum wait time for other requests to 20

__ c. Click Submit.
__ 3. The next steps assume that the integration node is running.
If the integration node IB9NODE is not running, start it now from WebSphere MQ Explorer or
from the IBM Integration Console.

4-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 4. The IBM Integration API Exerciser is running under No_Auth_ID and gets all permissions
from the settings for that user and its group, which is Test_1. The Exerciser must be
connected to an integration node.
__ a. Right-click and click Connect to Local Broker from the menu.
__ b. Select IB9NODE and click Submit. After a few seconds, the IBM Integration API
exerciser connects to the integration node.
__ 5. Verify that Administrative Security is turned off in IB9NODE.
__ a. Click IB9NODE in the IBM Integration API Exerciser navigator (left pane) to highlight it.
__ b. Scroll to the bottom of the data window (right pane).
__ c. Verify that isAdminSecurityEnabled() shows false, indicating that administrative
security is disabled.

When the IBM Integration API Exerciser is connected to the integration node, information
about the integration node is displayed under the integration node in the navigation pane.
The fact that an integration server is displayed implies that a certain level of access was
granted to the user. In this case, the No_Auth_ID user has “read” access to the integration
node.
__ 6. Attempt to deploy a BAR as the No_Auth_ID user.
__ a. Select the default integration server in the IBM Integration API Exerciser navigator (left
pane), and then right-click and click Deploy BAR from the menu.

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Note

Be sure to select an entity before right-clicking it in the IBM Integration API Exerciser.

__ b. Browse to the C:\labfiles\Lab04\resources directory, select


Admin_Security_Test1.bar, and then click Open.
The deployment request succeeds, as indicated in the status log in the bottom pane of
the IBM Integration API Exerciser.

__ 7. Determine whether this user can stop a message flow.


__ a. Fully expand the default integration server in the navigator.
__ b. Right-click Admin_Security1_MsgFlow.cmf and click Stop from the menu.
__ c. Verify that the message flow stopped by selecting the message flow and checking the
runMode status, which should now be set to stopped.

__ 8. Restart the flow by right-clicking Admin_Security1_MsgFlow.cmf and clicking Start from


the menu.

4-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 9. Verify that the flow is started by reviewing the status log. The runMode status should now
be set to running.
__ 10. Disconnect the IBM Integration API Exerciser from the integration node by right-clicking
IB9NODE in the navigation pane and clicking Disconnect.
This step completes the testing in the unsecured environment. You saw that, given a minimum set
of authorizations, the No_Auth_ID has access to the integration node.

Note

Do not exit from the IBM Integration API Exerciser. You use it again in the next part of the exercise.

Part 3: Activating administration security and testing the secured


environment
Instructor note: In this part of the lab, IBM Integration Bus security is activated, and the same
non-privileged user ID is used to demonstrate that the user cannot use any functions in the IBM
Integration Bus environment.
__ 1. Activate integration node administrative security from a command.
__ a. Start an IBM Integration Console session.
__ b. Enter the following command to stop the integration node so that you can make the
necessary configuration change:
mqsistop IB9NODE
__ c. Verify that the integration node is stopped:
mqsilist IB9NODE
__ d. Enter the following command to activate security:
mqsichangebroker IB9NODE -s active
__ e. Verify that administration security is active for IB9NODE:
mqsireportbroker IB9NODE
Review the output for the string “Administration security”. In this case, it shows “active”
to indicate that security is enabled.

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ f. Enter the following command to restart the integration node:


mqsistart IB9NODE
__ 2. In IBM Integration Explorer, right-click Queues under IB9QMGR queue manager. Confirm
that the queue SYSTEM.BROKER.AUTH.default exists.
__ 3. Connect to the IB9NODE in the IBM Integration API Exerciser.
The IB9NODE is displayed in the navigation pane because the No_Auth_ID was able to
connect to its queue manager. However, no integration node details are displayed in the
navigator pane, and a lock icon is displayed next to the integration node name. The lock
icon indicates that a security issue occurred.
__ 4. Verity that a BrokerProxy Method of getLastBIPMessages is displayed in the method list
with an authorization error in the result column. The error message explains that the
No_Auth_ID user is not authorized to view the integration node. The “view” operation
populates the integration node properties in the navigation pane.
This message implies that administrative security is active.

4-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 5. In the WebSphere MQ Explorer, right-click the SYSTEM.BROKER.AUTH queue on


IB9QMGR and click Object Authorities > Manage Authority Records from the menu.
__ 6. Expand Specific Profiles and select SYSTEM.BROKER.AUTH.
Test_1 is not displayed in the profiles list so it does not have permissions on the
SYSTEM.BROKER.AUTH queue. For that reason, the queue manager and integration
server did not show in the IBM Integration API Exerciser. The group must be defined to the
queue and it must have Read (“inquire”) authority.
__ 7. Enable Read (“inquire”) authority on the SYSTEM.BROKER.AUTH queue for the Test_1
group:
__ a. Select the Groups tab, and then click New (at the bottom of the window).
__ b. Enter Test_1 as the Entity name.
__ c. Under the MQI authorities options, select Inquire.
__ d. Click OK, and then click OK again on the result dialog box.
The Test_1 group is displayed in the Groups list with Inquire authority.
__ e. Close the Manage Authority Records dialog box.
__ 8. In the IBM Integration API Exerciser, right-click IB9NODE and click Refresh from the menu.
With the security change, the queue and integration server now show in the navigation
pane. Notice also that the lock icon is no longer displayed beside the integration node
name.
However, granting authority to the integration node did not grant authority to the integration
servers contained within it.
__ 9. Select any of the integration servers. You see the same BIP2852 error message in the
Result field that indicates the user is not authorized.
To list the contents of an integration server, the user ID must have Read (“inquire”) access to
the integration server.

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 10. Enable Read (“inquire”) access to the default integration server for the Test_1 group:
__ a. In WebSphere MQ Explorer, in the list of queues, right-click
SYSTEM.BROKER.AUTH.default queue and click Object Authorities > Manage
Authority Records from the menu.
__ b. Expand Specific Profiles and select SYSTEM.BROKER.AUTH.default.
__ c. Select the Groups tab, and then click New (at the bottom of the window).
__ d. Enter Test_1 as the Entity name.
__ e. Under the MQI authorities options, select Inquire.
__ f. Click OK, and then click OK again on the result dialog box.
The Test_1 group is displayed in the Groups list with Inquire authority.
__ g. Close the Manage Authority Records dialog box.
__ 11. Return to the IBM Integration API Exerciser. Right-click the default integration server and
click Refresh from the menu.
You now see the contents of the default integration server and the Result column for the
getLastBIPMessages method result is blank.
__ 12. Next, try to deploy a flow from the IBM Integration API Exerciser.
__ a. Right-click the default integration server and select Deploy BAR from the menu.
__ b. Go to the C:\labfiles\Lab04\resources directory and then select
Admin_Security_Test2.bar.
__ c. The deployment fails, and a message that indicates that the user does not have
authorization is displayed in the log area of the IBM Integration API Exerciser.

The ability to deploy requires Write (Put) permission on the integration server.
__ 13. In WebSphere MQ Explorer, add Write (Put) permissions to the integration server queue
SYSTEM.BROKER.AUTH.default.
__ a. Expand Specific Profiles and select SYSTEM.BROKER.AUTH.default.
__ b. Select the Groups tab, and then select the Test_1 row in the table.
__ c. Click Edit (at the bottom of the window).
__ d. Under the MQI authorities options, select Put.
The Test_1 group now has both Inquire (Read) and Put (Write) permissions.
__ e. Click OK, and then click OK again on the result dialog box.
The Test_1 group is displayed in the Groups list with Inquire and Put authority.

4-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ f. Close the Manage Authority Records dialog box.


__ 14. Now try to deploy the Admin_Security_Test2.bar in the IBM Integration API Exerciser.
Verify that the flow was successfully deployed by reviewing the messages in the IBM
Integration API Exerciser status log.
__ 15. Stop the message flow from the IBM Integration API Exerciser.
__ a. Expand Admin_Security_Test2.bar in the navigation pane.
__ b. Right-click Admin_Security2_MsgFlow.cmf and then click Stop.
The stop command fails because the Test_1 group does not have Set (Run) authority,
which is required for a “stop” or “start” command.
__ 16. In WebSphere MQ Explorer, modify the permissions for the Test_1 group to include Set
(Run) permissions on the SYSTEM.BROKER.AUTH.default queue.
Review the substeps in step 13 if you need help. This time, select Set authority in addition to
the authorities that are already set.
__ 17. In the IBM Integration API Exerciser, try to stop the message flow now that the permissions
are modified.
__ 18. To verify that the flow stopped, scroll to the last entry in the MessageFlowProxy Method
list. The last entry in the Result column is the isRunning method with a result of false,
which indicates that the flow is stopped.

__ 19. Attempt to create an integration server (execution group) in the IBM Integration API
Exerciser.
__ a. Right-click IB9NODE and then click Create execution group from the menu.
__ b. Enter Admin_Security for the New integration server name and then click Submit.
The requested action fails because the Test_1 group does not have Write (Put)
permission on the integration node queue.

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 20. In WebSphere MQ Explorer, add Write (Put) permissions to the SYSTEM.BROKER.AUTH


queue for Test_1.
The Test_1 group now has both Read (Inquire) and Write (Put) permissions.
__ 21. Attempt to add the Admin_Security integration server to IB9NODE again. Refer to step 19
if necessary.
This time, the command is successful.
__ 22. Attempt to deploy the Admin_Security_Test1.bar file that is in the
C:\labfiles\Lab04\resources directory to the Admin_Security integration server.
The deployment fails because the group Test_1 does not have sufficient authority to deploy
to the new integration server. The deployment operation requires Put (Write) authority on
the SYSTEM.BROKER.AUTH.Admin_Security queue.

Note

The process of creating the integration server automatically creates the queue
SYSTEM.BROKER.AUTH.Admin_Security, but it does not automatically create the required
authorities.

__ 23. To supply the required authority, you must modify permissions on the
SYSTEM.BROKER.AUTH.Admin_Security queue in WebSphere MQ Explorer to grant Put
(Write) authority to the group Test_1 or the user No_Auth_ID.
As you saw in previous steps, the group also needs Inquire (Read) permission to see the
artifacts that are deployed to the integration server.

Part 4: Clean up
__ 1. In the IBM Integration API Exerciser, disconnect from the integration node by right-clicking
IB9NODE and then clicking Disconnect.
__ 2. Close the IBM Integration API Exerciser.
__ 3. Disable administrative security on IB9NODE from a command in the IBM Integration
Console.
__ a. Stop the integration node and verify that it is stopped:
mqsistop IB9NODE
mqsilist IB9NODE
__ b. Disable administration security:
mqsichangebroker IB9NODE -s inactive
__ c. Verify that administration security is inactive, and then restart the integration node:
mqsistart IB9NODE
mqsireportbroker IB9NODE

4-16 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 4. In WebSphere MQ Explorer:


__ a. Delete the integration server Admin_Security.
__ b. Delete all flows and resources from the default integration server.
__ 5. Reset the WebSphere MQ Explorer to its default view. From the menu bar, click Window >
Reset Perspective. Click OK when prompted to confirm.
__ 6. Close any open windows and programs.

End of exercise

© Copyright IBM Corp. 2013, 2014 Exercise 4. Administering IBM Integration Bus security 4-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

4-18 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 5. Using trace facilities

Estimated time
00:45

What this exercise is about


In this exercise, you use the IBM Integration Bus problem diagnosis tools to
identify problems in message flow applications. You enable and disable trace
nodes, user traces, and service traces to capture runtime information.

What you should be able to do


At the end of the exercise, you should be able to:
• Enable and disable a trace node within a message flow
• Activate a user trace and service trace to capture information
• Administer trace nodes and the message flow debugger

Introduction
You use various problem determination tools to administer message flows
with trace nodes and use administration tools to generate and control tracing.
This exercise uses a flow like the message that is used in Exercise 2 but with
the addition of a trace node.

© Copyright IBM Corp. 2013, 2014 Exercise 5. Using trace facilities 5-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Requirements
• A fully configured workstation, as used in previous exercises
• Successful completion of Exercise 1
• The lab exercise files in the C:\labfiles\Lab05 folder

5-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Exercise instructions


Part 1: Import the BAR file into IBM Integration Explorer
In this part of the exercise, you import an existing BAR file into IBM Integration Explorer. The BAR
file contains a message flow that contains a Trace node.
After you import the BAR file, you examine the Trace node properties and then deploy the BAR file
to the DEVNODE integration node.
__ 1. In the IBM Integration Explorer, expand the Bar Files folder in the Navigator.
__ 2. Create a BAR folder that is named Trace.
__ 3. Right-click the Trace folder, and then click Import Bar Files.
__ 4. To the right of From directory, click Browse, go to C:\labfiles\Lab05\resources
directory, and then click OK.
__ 5. In the right pane, select the BAR file EX5_PD.bar, and then click Finish.
The BAR file is displayed in the Navigator under the Trace folder.
__ 6. Open the message flow and examine the Trace node properties.
__ a. Double-click the EX5_PD.bar file in the IBM Integration Explorer Navigator to open the
BAR File editor.
__ b. Expand the SimpleFlowWithTrace.cmf file until all the nodes are displayed.
__ c. Right-click the Trace node that is labeled Trace and then click Configure. The node
properties are displayed in the Properties view.
The developer specified that the Trace node should create a trace file. Based on this
setting at design time, the only property that the administrator can change in WebSphere
MQ Explorer is the location of the trace file. In this exercise, the trace file location
(filePath) is set to: C:\Labs\Lab5\SimpleFlowtrace.txt.
Change the filepath to C:\SimpleFlowtrace.txt and then save the BAR file.

© Copyright IBM Corp. 2013, 2014 Exercise 5. Using trace facilities 5-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 7. In IBM Integration Explorer, create an integration server that is named default on


DEVNODE.
__ 8. Deploy the EX5_PD.bar to the default integration server in integration node DEVNODE.
__ a. Select the EX5_PD.bar file in the Navigator.
__ b. Drag it onto the default integration server under DEVNODE in the Integration Nodes
folder.
__ c. Check the Administration Log view to verify that the message flow was deployed
successfully.
You should also see the message flow under DEVNODE in the Integration Nodes
folder under the default integration server.

5-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 9. Use the WebSphere MQ runmqsc command to define the queues that are required for this
exercise. You use a command script for this purpose.
__ a. Start an IBM Integration Console session.
__ b. Change to the C:\labfiles\Lab05\resources directory.
Enter the command:
cd C:\labfiles\Lab05\resources
__ c. Enter the command:
runmqsc DEVQMGR < Q_Defs.txt

Part 2: Send a test message to the message flow


__ 1. Start RFHUtil by double-clicking the desktop shortcut icon.
__ 2. On the Main tab in RFHUtil:
• Select DEVQMGR for the Queue Manager Name
• Select EX2_IN for the Queue Name
__ 3. Click Open File. A file selection window is displayed.
__ 4. Go to C:\labfiles\Lab05\data and then select the file Test_V2_msg.xml. Click
Open.
__ 5. Select the MQMD tab.
__ 6. Update the following fields on the MQMD tab:
__ a. Use the drop-down list to set the MQ Message Format field to MQSTR (signifying the
message is string data).
__ b. Use the drop-down list to set the MsgType field to 1 Request (signifying the message
is a WebSphere MQ request message).
• Set the Reply To Queue name to EX2_REPLY so that the MQReply node routes the
message to that queue.

© Copyright IBM Corp. 2013, 2014 Exercise 5. Using trace facilities 5-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 7. Switch back to the Main tab, and then click Write Q to send the test message to the EX2_IN
queue.
__ 8. Open another RFHUtil instance and check the reply-to queue.
__ a. Enter the following parameters on the Main tab in RFHUtil:
• For Queue Manager Name, select DEVQMGR
• For Queue Name, enter EX2_REPLY
__ b. Click Read Q.
__ c. Switch to the Data tab and click XML as the Data Format. The message should show
as follows:
<OutMsg>
<Version>2</Version>
<TimeIs>current time stamp</TimeIs>
<DateIs>current date stamp</DateIs>
</OutMsg>
__ 9. Do not close the RFHUtil session, as you use it later in this lab.

5-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 3: User trace and trace node output


__ 1. In IBM Integration Explorer, activate UserTrace (Debug) for the SimpleFlowWithTrace
message flow that is running in the DEVNODE default integration server.
__ a. In the Navigator view, expand the integration node DEVNODE and the default
integration server.
__ b. Right-click the SimpleFlowWithTrace message flow and then click UserTrace >
Debug.
__ c. Verify that trace is active in the Administration Log view. You might have to wait briefly,
but you should see a message that indicates the user TraceLevel changed from ‘none’
to ‘debugTrace’.
You can double-click the message to display the entire message in a separate window.

__ 2. Click the DEVNODE default integration server in the Navigator to show the QuickViews.
The integration server Properties QuickView indicates that user trace is active and that
effects performance.

__ 3. Click the SimpleFlowWithTrace in the Navigator to show the QuickViews.

© Copyright IBM Corp. 2013, 2014 Exercise 5. Using trace facilities 5-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

The message flow Properties QuickView indicates that user trace is enabled and set to
Debug.

__ 4. Send another test message by clicking Write Q in the first RFHUtil session that you started.
Did a message arrive on the EX2_REPLY queue on queue manager DEVNODE?
__ 5. Retrieve the user trace data and deactivate tracing by running the GETTRACE script.
Open an IBM Integration Console and run the GETTRACE script. Enter the commands:
cd C:\labfiles\Tools
gettrace DEVNODE default
This command file runs several IBM Integration Bus commands:
- mqsireadlog reads the binary trace data that the trace node generated
- mqsiformatlog translates the binary trace data into human-readable format
- mqsichangetrace disables tracing (and can also be used to start tracing or
change trace parameters)
The command file then starts Windows Notepad to display the trace output.
__ 6. Review the user trace output. You should find all the runtime events (or errors) in the trace
file.
The trace shows the path that each message took through the message flow, and how each
node responded to the message. The trace listing also shows a detailed listing of all ESQL
statements that were run in the flow.
When you are done reviewing the trace listing, close the Notepad window.
A copy of user trace file default.txt is provided for your reference in the
C:\labfiles\Lab05\solution directory.

5-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 7. In IBM Integration Explorer, disable the user trace.


In the Navigator view, right-click the SimpleFlowWithTrace message flow and select User
Trace > None.
After a few moments, the Properties QuickView shows that trace is disabled.
__ 8. Now review the output from the trace node in the file you configured in the trace node
properties (in this case, C:\SimpleFlowTrace.txt).
__ a. Use Windows Explorer to locate the trace node output file.
__ b. Open the file and examine the contents. The entire message that the Trace node
received is displayed in the output because the developer specified ${Root} for the
trace pattern.

Note

A copy of the trace file that is generated by the Trace node in the message flow is provided for your
reference in the C:\labfiles\Lab05\solution directory.

© Copyright IBM Corp. 2013, 2014 Exercise 5. Using trace facilities 5-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Part 4: Generate a service trace


A service trace provides more detailed tracing, and generates a large amount of output. In this
exercise, you can enable and disable the trace by using a command or by using IBM Integration
Explorer.
Option 1: Enable a service trace from a command.
__ 1. In the IBM Integration Console, enter the following command to start a service trace for the
default integration server. The -r flag resets trace to delete any previous trace data that
was collected.
mqsichangetrace DEVNODE -t -e default -l debug -r
The character before “debug” in the command is a lowercase “L”, not a “1”.
__ 2. Now, to see what tracing is active, enter the following command:
mqsireporttrace DEVNODE -t -e default

You should see a response that indicates that the trace level is “debug”.

__ 3. Go to the first RFHUtil session and send another message to the EX2_IN queue by clicking
Write Q.
__ 4. Disable the service trace in the IBM Integration Console session.
Enter the command:
mqsichangetrace DEVNODE -t -e default -l none
Option 2: Enable a service trace from IBM Integration Explorer.
__ 1. In IBM Integration Explorer, right-click the default integration server for the DEVNODE and
then click Service trace > Debug.
A warning message is displayed in the Integration Servers properties view indicating that
there is a performance effect and the Service Trace property is set to Debug.
__ 2. Switch to the RFHUtil session and send another message to the EX2_IN queue by clicking
Write Q.
__ 3. Disable the service trace, by right-clicking the default integration server and clicking
Service Trace > None.

5-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 5: Process the service trace output


Regardless of the method you used to activate a service trace, you must retrieve the service trace
data into a file. For this exercise, the command file getsvctrace.cmd retrieves the trace data.
The command file is like the gettrace.cmd that you used when retrieving the user trace data.
__ 1. Retrieve the service trace data from an IBM Integration Console session.
Enter the commands:
cd C:\labfiles\Tools
getsvctrace DEVNODE default
__ 2. Review the service trace output in the Notepad session that the getsvctrace.cmd opens.
The information that is captured in the service trace is more detailed. It includes trace
information about the interactions of the various components (such as the toolkit and the
integration nodes).
Close the Notepad window when you are done reviewing the service trace information.

Note

A copy of the service trace file is provided for your reference in the C:\labfiles\Lab05\solution
directory.

Part 6: Administering Trace nodes


As mentioned earlier in this exercise, Trace nodes generate trace records that you can use to
monitor the behavior of a message flow. After a developer finishes testing a message flow, the
developer or the administrator must disable the Trace nodes to avoid the performance impact that
tracing causes. In IBM Integration Bus, tracing can be disabled without removing the Trace nodes
from the message flow.
__ 1. Check the status of the Trace nodes in the IBM Integration Explorer by selecting the
SimpleFlowWithTrace message flow under the default integration server in the Navigator
view.
The message flow Properties QuickView indicates the current state of the Trace nodes.

© Copyright IBM Corp. 2013, 2014 Exercise 5. Using trace facilities 5-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 2. If the Trace nodes are Enabled, disable them by right-clicking the message flow in the
Navigator view and then clicking Trace Nodes > Disable.
After a few moments, the Properties QuickView shows that trace nodes are disabled.

Part 7: Administering the message flow debugger


Developers can use the message flow debugger in the IBM Integration Toolkit to help diagnose
unexpected behavior within message flows. Breakpoints can be set to pause the flow and examine
and change the contents of the message, Extended Structured Query Language (ESQL), and Java
variables and mappings. While developers normally do these tasks, an administrator might be
called upon to help with setting up the debugging environment.
Since the Java runtime debug environment is used for all message flow debugging, you must
configure the JVM debug port for the integration server in which the message flow is running.
The debug port can be configured in the development environment by using IBM Integration Toolkit,
or in the administration environment by using IBM Integration Explorer or a command. As an
administrator, you must also be aware of the status of the debugger because of the potential impact
on overall performance. In this exercise, you configure and manage the message flow debugger
from IBM Integration Explorer.

5-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Note

You must configure the JVM debug port one time for each integration server. The Integration
Server Properties QuickView in IBM Integration Explorer identifies whether a debug port is
configured for an integration server.

__ 1. To determine whether a debug port is defined in the default integration server, right-click the
default integration server under the DEVNODE integration node, and then click Flow
Debug Port.
A flow debug port value follows the Enable menu option if one is already configured, or by
the phrase (No port set) if no debug port is defined. A check mark indicates whether the
flow debug port is enabled or disabled.
You see that the default integration server does not have a debug port set.

__ 2. To set the debug port, right-click the default integration server under the DEVNODE, and
then click Properties.
__ 3. Select Extended.
__ 4. Enter a value for the Flow Debug Port. For this exercise, enter 9997, and then click OK.

© Copyright IBM Corp. 2013, 2014 Exercise 5. Using trace facilities 5-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 5. Enable the debug port for the DEVNODE default integration server.
Right-click the DEVNODE default integration server in the Navigator, and then click Flow
Debug Port > Enable (on port 9997).
__ 6. When you set the flow debug port, the integration server must be stopped and restarted for
the port to be connected. When you use the WebSphere MQ Explorer to set the port, it stops
and restarts the integration server automatically.
Check the Administration Log to verify that the integration server was stopped and
restarted.

Note

You can also use the mqsichangeproperties command to configure the JVM debug port:
mqsichangeproperties <iNodeName> -e <iServerName>
-o ComIbmJVMManager -n jvmDebugPort -v <portNumber>
If you use mqsichangeproperties to set the debug port, you must also manually stop and restart
the integration server by using the mqsistop and mqsistart commands.

__ 7. The Integration Node Properties QuickView is updated to show that a debug port is
enabled.
A warning message is displayed at the top of the Properties QuickView to indicate that the
flow debug port is active and that it affects performance.

5-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 8. Disable the message flow debug port by right-clicking the DEVNODE default integration
server in the IBM Integration Explorer Navigator and then clicking Flow Debug Port >
Disable.

Part 8: Clean up
__ 1. Reset the IBM Integration Explorer to its default view. From the menu bar, click Window >
Reset Perspective. Click OK when prompted to confirm.
__ 2. Clear any remaining messages from the user queues on DEVQMGR.
__ 3. Remove the deployed message flow from the default integration server.
Right-click the default integration server in the navigator and then click Delete all flow and
resources.
__ 4. Close any open windows and programs (such as RFHUtil). You can leave the IBM
Integration Explorer.

End of Exercise

© Copyright IBM Corp. 2013, 2014 Exercise 5. Using trace facilities 5-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise review and wrap-up


In this exercise you used some of the troubleshooting tools available to developers and
administrators, including the user trace and service trace facilities. It also showed you the tools that
you, as an administrator, have available to monitor and manage the troubleshooting tools in any
environment (such as development, testing, pre-production, and production). Managing the
troubleshooting tools in a production environment is especially important as many of these tools
negatively affect performance.
In this exercise, you worked with a local integration node. The same tools are also available for
managing remote integration nodes after a connection is established to the remote integration node
from IBM Integration Explorer.

5-16 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 6. Identifying runtime problems

Estimated time
01:00

What this exercise is about


This exercise contains two parts. In the first part, you analyze a series of
message flows that produce runtime errors. You determine where the
incoming messages are found after the errors occur. In the second part of the
exercise, you analyze and correct error situations that involve the IBM
Integration Bus and the WebSphere MQ queue manager.

What you should be able to do


At the end of the exercise, you should be able to:
• Describe the symptoms of runtime and environmental problems
• Isolate a problem to a particular component
• Determine the cause of a problem and correct it

Required materials
• A lab environment with WebSphere MQ and IBM Integration Bus
• Successful completion of Exercises 1 and 2
• The exercise files in these directories: C:\labfiles\Lab06 and
C:\Labs\Tools.

Instructor exercise overview


Since transaction management is part of the exercise (Part 1), be prepared to discuss message
in-doubt scenarios.
Part 2 challenges students on their problem recognition and problem resolution capabilities.
Problem resolution might involve corrections to either an IBM Integration Bus component, the IBM
WebSphere MQ queue manager, or both.
Two error scenarios are presented, ranging from simple to complex. The first involves a mismatch
between an output queue name, which is specified as an MQOutput node property, and the
queues that are on the integration node queue manager. Students should see a WebSphere MQ
runtime error, specifically an MQPUT failure with MQRC_UNKNOWN_OBJECT_NAME
(RC=2085). The initial symptom is that no messages show on the anticipated output queue.

© Copyright IBM Corp. 2013, 2014 Exercise 6. Identifying runtime problems 6-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

However, the astute student can locate the message somewhere else, namely a CATCH queue. A
correction can be applied one of two ways:
• Create the (missing) queue so that the name agrees with the message flow
• Override the queue name by using the Configure properties of the BAR file, identifying a queue
that does exist on the integration node
The astute student, who examines the supplied BAR file in advance, can likely detect and correct
the queue name mismatch before the initial deployment. The error is also evident if the student
looks at the Windows Event Viewer where they see an error message that the EX2_Replyx queue
does not exist.
The second scenario is more ambitious, and can be more difficult to recognize. You might want to
supply a hint that user trace is a valuable tool in recognizing what is happening. The idea in this
scenario is to deploy a message flow with instructions to the integration node to start more
instances in the event the rate of messages to the input queue justifies the same. However, the
queue is set (also through the running of a script) to Open Exclusive, which prevents more threads
from being started. Recognition of the problem is visible in a user trace where only one thread
identifier is displayed (repeatedly), rather than several different thread identifiers. The goal here is
for the students to isolate the problem to a mismatch between the deployed message flow
properties (extra instances) with a conflicting queue property (open exclusive).

6-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Exercise instructions


Part 1: Analyzing message flow runtime failures
This part of the exercise presents eight message flows, each showing a runtime exception. Your
task is to evaluate the runtime circumstances and determine where the affected message is likely to
be located.
In each of the following scenarios, you are asked to determine what happens to the message that is
being processed when the designated processing node generates an exception.
In each of the flows, TxMode is the state of the Transaction mode property for the node.
__ 1. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Record your answer here:

The message is rolled back to the input queue. After rollbacks reach the backout threshold,
the message is put to IN_BOQ.
__ 2. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Record your answer here:

© Copyright IBM Corp. 2013, 2014 Exercise 6. Identifying runtime problems 6-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

The message is discarded because the flow is not transactional and therefore cannot be
rolled back. The MQInput node Catch terminal is not wired, so is not an option to consider.
__ 3. Queue manager dead-letter queue = DLQ; IN queue has no backout queue

Record your answer here:

The message is rolled back to the input queue. After the backout threshold is reached, the
message is put to the DLQ. The MQInput node Catch terminal is not wired.
__ 4. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Record your answer here:

The message is propagated through the Compute node failure terminal and is thus written
to the Failure queue.

6-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 5. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Record your answer here:

The message is propagated through the Compute node Failure terminal; this propagation
fails, so the message is propagated to the Catch terminal and thus to the Catch queue,
regardless of the transactional nature of the flow.
__ 6. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Record your answer here:

The message is written to the Failure2 queue (regardless of transaction mode).

© Copyright IBM Corp. 2013, 2014 Exercise 6. Identifying runtime problems 6-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 7. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ


Hint: The Out node generated the original exception, but more exceptions occurred during
explicit exception handling.

Record your answer here:


The message is put onto the IN_BOQ after 2*BackoutThreshold retries, which failed in
FAILURE2. If the IN_BOQ was full or PUT is disabled, the integration node tries to put the
message onto the DLQ. If that fails as well, the message loops between the MQInput node
and the Failure2 MQOutput node.
__ 8. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ
Hint: The original exception was in the Compute node, but more exceptions occurred
during explicit exception handling.

Record your answer here:


The message is discarded after the exception indicated in the Catch node. The Failure2
path is never taken because the flow is non-transactional; therefore no rollback beyond the
Catch node occurs.

6-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 2: Isolating and correcting problems


Instructions in this exercise are intentionally brief; otherwise, the goal of the exercise, for you to
apply your accumulated product and problem determination knowledge, is compromised.
In Scenario 1, you are given a preconfigured BAR file and some information about its content and
some information of what to expect, in terms of what constitutes successful completion of the flow.
Some general hints and tips, however, can be provided.
• What is (or are) the expected result (or results) of the BAR file content? This result is likely to be
the initial criterion to determine whether all is well (or not).
• Recall that several components participate in the IBM Integration Bus environment: WebSphere
MQ Explorer, the integration node, and the queue manager. When, and if, something goes
wrong, error messages are likely to be generated. The question to ask is, from which
component?
• What do you know, or what can you determine, about the message flow and its use of CATCH
or FAILURE logic? What do you know about the integration node queue manager in terms of a
dead-letter queue? Consider these factors when you answer the question “Where is the
message?” in the context of the default behaviors that were described in the lecture.
• Even though this course is about IBM Integration Bus, the interaction, and dependence
between the integration node and the queue manager are significant. When it comes to problem
recognition and problem resolution, there is considerable overlap between the two products.
• Although you have access to both WebSphere MQ Explorer and IBM Integration Toolkit in this
class, the focus of the exercise is to use WebSphere MQ Explorer and system tools as the
primary troubleshooting aids.
You can find solutions to these exercises in Appendix A.

Scenario 1
You work with a variation of the message flow that was used in Exercise 2. Recall that XML test
messages were delivered to queue EX2_IN, a time and date stamp were added, and then the
message was delivered to an output queue.

© Copyright IBM Corp. 2013, 2014 Exercise 6. Identifying runtime problems 6-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

In this message flow, the MQReply node is replaced with an MQOutput node. The MQOutput node
provides an equivalent function to the MQReply node (recall the three choices of Destination
Mode as an MQOutput node property) by returning messages directly to the EX2_REPLY queue.
__ 1. In the WebSphere MQ Explorer, import
C:\labfiles\Lab06\resources\Ex6a.bar into the Development folder under the Bar
Files folder.

__ 2. Most of the queues that are required for this message flow were created in Exercise 2.
Verify that the following local queues exist on DEVQMGR:
• CATCH
• EX2_IN
• EX2_REPLY
• FAILURE
• FALSE
• UNKNOWN
If any of the queues are missing, create them as local queues on DEVQMGR.
__ 3. Delete any deployed message flows from the default integration server on DEVNODE.
__ 4. Deploy Ex6a.bar to the default integration server.
The message flow Ex2Flow6a is displayed as a running flow after the deployment is
complete.

6-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 5. Use RFHUtil to test the message flow.


Use test message Test_V2_Msg.xml that is in C:\labfiles\Lab06\data.
Write the message to queue EX2_IN in queue manager DEVQMGR.

Hint

See Exercise 2 for the steps to test the message flow.

__ 6. Evaluate the results. Where was the message sent?


Use whatever problem determination tools you think are required to understand exactly
what is taking place. Apply corrective action as you see fit. If there is a problem, can you
correct it more than one way?
Consider your efforts successful when the transformed message is displayed on
EX2_REPLY.

Scenario 2
In this part of the exercise, you deploy a supplied BAR file.
The BAR file is the same as the one from Scenario 1, only in this case you modify the
Additional Instances property for the message flow (Ex2Flow6a.cmf) to indicate that the
integration node can run up to three more instances of the message flow, which is based on the
load on the input queue (EX6_IN).
__ 1. Create the EX6_IN queue on DEVQMGR by running a supplied script file.
__ a. Open an IBM Integration Bus Console.
__ b. Change to the C:\labfiles\Lab06\resources directory.
__ c. Enter the command:
runmqsc DEVQMGR < MQ64Lab6c.txt

© Copyright IBM Corp. 2013, 2014 Exercise 6. Identifying runtime problems 6-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 2. If it is not already open, double-click Ex6a.bar under Development in the Bar Files folder.
The BAR file opens in the BAR File editor.
__ 3. Ensure that scenario 1 does not interfere with the testing in this scenario. Using the BAR
File editor, change the node properties to use the correct queues.
__ a. In the BAR File editor, expand the message flow until you see the nodes.
__ b. Right-click the EX2_REPLY node and then click Configure.
__ c. Set the queue name property to EX2_REPLY
__ d. For the EX2_IN node, set the queue name to EX6_IN
__ 4. In the BAR File editor, select the message flow file Ex2Flow6a.cmf.
__ 5. On the Workload Management properties section, set the Additional Instances property
to 3.

__ 6. Deploy the modified Ex6a.bar file to the default integration server as before.
When you are prompted, click OK to save the changes to the BAR file.
__ 7. Message flow Ex2Flow6a should show as a running message flow. Ensure that there are no
other message flows running in this integration server or any other in the DEVNODE
integration node.
__ 8. Open a Windows Command Prompt window (Start > Run, enter cmd, and then click OK),
and then use the cd command to change the directory to C:\labfiles\Lab06\data.

6-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 9. Use the WebSphere sample program amqsput to put several messages at one time to the
input queue (EX6_IN).
Use the test message file Test_Lab6_GroupMsg.txt found in C:\labfiles\Lab06\data
as shown here:
amqsput EX6_IN DEVQMGR < Test_Lab6_GroupMsg.txt
__ 10. The test file Test_Lab6_GroupMsg.txt contains 11 (duplicate) messages, so the same
number should show on EX2_REPLY (correct?).
By running amqsput with a batch of messages, the additional instances provision of the
BAR file would likely activate. How can you be sure?
If more instances were not started, how might you correct it?

Hint

User trace is a good tool to use to verify the number of threads that are allocated to the Ex2Flow6a
message flow.
WebSphere MQ Explorer can provide, from the Open Input Count, an indication of the activity on
EX6_IN. The question is: If multiple threads are not being allocated, what might be the cause?
The problem can be the result of a mismatch between integration node attributes and queue
manager attributes. Can you determine which ones?

Part 3: Clean up
__ 1. Reset the WebSphere MQ Explorer to its default view. From the menu bar, click Window >
Reset Perspective. Click OK when prompted to confirm.
__ 2. Close any open windows and programs (such as RFHUtil). You can leave the WebSphere
MQ Explorer open.
__ 3. Clear any remaining messages from the queues.
__ 4. Delete the Ex2Flow6a message flow in the default integration server on DEVNODE.

© Copyright IBM Corp. 2013, 2014 Exercise 6. Identifying runtime problems 6-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise review and wrap-up


The first part of the exercise helped you to understand integration node default behavior in the
event of an error (that is, an exception) in a message flow. Message flow design and WebSphere
MQ queue definitions and specifications also affect where the messages are ultimately found.
Part two simulated, to a degree, the nature of runtime and environmental errors that are likely to be
encountered in a typical installation. Probably the most important thing to remember is the close
relationship between the IBM Integration Bus and the queue manager. Although a problem might
manifest itself in one product, the contributing cause might be the other.

6-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 7. Recording and replaying message
flow data

Estimated time
01:00

What this exercise is about


In this exercise, you enable monitoring events and then record and replay
messages. You also capture and report failed events.

What you should be able to do


At the end of this exercise, you should be able to:
• Activate message flow monitoring
• View event messages in the IBM Integration web console
• Replay messages
• Capture and report failed events

Introduction
This lab uses an application that contains several message flows.
The application processes stock trade requests, and each trade runs five
message flows: TRD1, TRD2, TRD3*, TRD4 and TRD5. The TRD3 message
flow is run by customer type (“Gold”, “Regular”, or “Guest”).
Several of the nodes of the message flows have monitoring points that are
defined on them, using the Monitoring tab on the node properties. These
monitoring points publish certain items of the message payload data. The
Data viewer in the IBM Integration web console uses this data to access
messages that were processed, and to resubmit (replay) the message for
reprocessing.
The application contains the following message flow structure. The TRD3
flows are selected based on the customer type. The TRD6 flow is run if a
validation failure occurs in TRD1.

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Note

In this lab exercise, monitoring points are configured on the message flow by using the Monitoring
function on the flow and node properties. Flow monitoring can also be achieved noninvasively by
using monitoring templates, which are not covered in this lab.

Requirements
• WebSphere MQ and IBM Integration Bus components installed
• The IBM Integration Bus default configuration
• Lab files in the C:\labfiles\Lab07 directory
• The following WebSphere MQ queues (created in the exercise):
TRADE.VALIDATE.IN, TRADE.CUST.TYPE.IN, TRADE.GOLD.IN,
TRADE.REGULAR.IN, TRADE.VALIDATION.FAILURE.IN, TRADE.GUEST.IN,
TRADE.RECONCILIATION.IN, TRADE.COMPLETE.IN,
TRADE.COMPLETE.OUT, TRADE.FIX.IN, TRADE.FIX.OUT,
TRADE.REPLAY.INPUT

7-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Instructor exercise overview


In the first part of this exercise, students set up the environment for recording and replaying
messages. Even though this is a developers course, developers should be aware of the database
and configurable service requirements for record and replay. The queues that are required for this
exercise are already created if students are using the VMware image for this course.
The message flow warning messages that are listed in the Problems view can be ignored.
Students do not set up security for the IBM Integration web console in this lab exercise. Web
console security is taught in the IBM Integration Bus V9 System Administration course.

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise instructions
Part 1: Set up the application for record and replay
__ 1. If not open, start the IBM Integration Explorer.
__ 2. Verify that the IB9NODE integration node and default integration server are running.
__ 3. Import the BAR File that is named Trades.bar from the C:\labfiles\Lab07\application
directory into the Bar Files > Development folder.

7-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 4. Open the Trades.bar file in the BAR File editor and then expand the Trades application. It
contains eight message flows. The message flows are run in sequence, with just one of the
TRD3* messages flows used, depending on the type of customer.

The imported message flows contained in the Trades application already have several
monitoring event points defined.
__ 5. Deploy the Trades application to the default integration server on IB9NODE.
Drag the Trades.bar file from the Bar Files > Development folder to the default
integration server on IB9NODE under the Integration Nodes folder.
__ 6. Validate that the Trades application is deployed.

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Part 2: Set up the environment for Record and Replay


In this part of the exercise, you set up the Record and Replay database, JDBC connections, and the
queues that are required for the Trades application. Command and batch files are provided in the
C:\labfiles\Lab07\install directory to automate this process. You can examine any of the files
by using Notepad.
__ 1. Create the queues for the TRADES message flows and the database tables for storing the
messages.
__ a. Run an IBM Integration Console as the administrator (right-click the IBM Integration
Console shortcut on the desktop and then click Run as administrator).
__ b. Go the WebSphere MQ setup directory for the lab:
cd C:\labfiles\Lab07\install\MQSetup
__ c. Run the command to create the queues:
runmqsc IB9QMGR < TradeQueues.mqsc

7-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ d. Go the database setup directory for the lab:


cd ..\DBSetup
__ e. Run the command to create the DB2 database and tables:
CreateTRADES_Tables.bat
This command opens a DB2 command window and creates the Record and Replay
tables in the TRADES database. The tables are re-created so that this lab starts with a
clean display of monitor events, and so that new events are easily viewable in the IBM
Integration web console.
It might take a few minutes for this batch file to complete.
Verify that the command ran successfully and then press Enter in the DB2 command
window to close the window.
__ f. Run the command to define the JDBC connections from the IB9NODE to the TRADES
database:
configureJDBC
__ 2. Enable flow monitoring on the message flows in the Trades application.
__ a. In the IBM Integration Console, change directories to:
C:\labfiles\Lab07\monitoring

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ b. Run the command to enable monitoring on each of the message flows:


enableMonitoringTrades
This command runs the integration node command:
mqsichangeflowmonitoring IB9NODE -e default -k Trades
-f TRD1_Validate -c active
It also runs equivalent commands for the other message flows in the Trades application.

Important

If you redeploy the Trades application, the flow monitoring status is reset. You must reissue the
command enableMonitoringTrades command to reactivate flow monitoring.

__ 3. Import the data store configurable service.


The Record and Replay function uses a data store, which represents the database that
holds the captured monitoring events. The data store is defined to the integration node by
using configurable services.
You can define the configurable services manually. For this lab, the configurable services
are already created but they must be imported into the IB9NODE integration node.
__ a. In IBM Integration Explorer, expand IB9NODE under the Integration Nodes folder.

7-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ b. Right-click Configurable Services and then click Import *configurable service.

__ c. Browse to the C:\labfiles\Lab07\configurable_services directory and select


Trades_data_capture_store.configurableservice
__ d. The DataCaptureStore/Trades configurable service should now be listed under the
Configurable Services folder.
__ 4. Following the same process as in the previous step, import
Trades_source.configurableservice and
Trades_BPM_Data_Destination.configurableservice from the
C:\labfiles\Lab07\configurable_services directory.
You should now have three new configurable services for the Trades application:
• DataCaptureSource/Trades_Source
• DataCaptureStore/Trades
• DataDestination/Trades_Redirect_to_BPM

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Note

The Trades_Source service subscribes to the topic


$SYS/Broker/IB9NODE/Monitoring/default/#. So this data source collects all monitoring events
that the applications in the default integration server generate. This data source does not collect
events that are emitted in other nodes or integration servers.

7-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 3: View messages in the IBM Integration web console


__ 1. Open a web browser.
__ 2. Enter the following URL to start the IBM Integration web console:
http://localhost:4414
__ 3. In the IBM Integration web console navigator, you should see full details of the integration
node, and the deployed applications. You can also complete various operations, such as
starting and stopping the applications.
Expand Data > Data Capture Stores in the navigator and then select the Trades data
capture store.
The events list for Trades is empty.

__ 4. Use RFHUtil to send some new events to the Trades application queues on IB9QMGR.
__ a. In RFHUtil, open the file for a ‘gold’ customer:
C:\labfiles\Lab07\data\TradeMessageGold_BNY347290.xml
__ b. Send one instance of the data to the queue TRADE.VALIDATE.IN on IB9QMGR.

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ c. Send a message to TRADE.VALIDATE.IN for a ‘regular’ customer:


C:\labfiles\Lab07\data\TradeMessageRegular_BNY809092.xml.
__ d. Send a message to TRADE.VALIDATE.IN for a ‘guest’ customer:
C:\labfiles\Lab07\data\TradeMessageGuest_BNY348475.xml.
__ 5. Click Refresh on the Data viewer in the IBM Integration web console to show the new
events.

Note

If you receive an error when trying to access the Data Capture Store, restart the default integration
server and try to access the Data viewer again.

7-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 6. The Data viewer uses the standard column heading names. You can customize the
headings so that they are more descriptive.
There are several options for customizing the column headings:
• You can change the display name of each column by double-clicking the required
display name, and entering another name. These changes are stored in the Integration
Registry, and are retained uniquely for each data capture store. All users who display
data from the same data capture store see the changes that this user makes. If you want
to record and view data with different headings, record the events in a separate data
capture store.
• You can select or clear any of the recorded fields for display.
• You can override the width of the displayed column. The widths can also be overridden
by using the divider bars.
Click Customize and change the column heading Display name as follows:
__ a. Change Local Transaction ID to Customer number.
__ b. Change Parent Transaction ID to Trade number.
__ c. Change Global Transaction ID to Stock/Trade amount.
__ d. Change Event name to Trade processing stage and change the field width to 160.
__ e. Change hasBitstream (Data) so that it is not selected for display.

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ f. Click Apply. The column names are updated with the new values.
__ 7. You can click the column headers to change the order of the events in the Data viewer.
For example, click the Event time column to display the oldest events first.
__ 8. You can limit the data that is displayed in the Data viewer by using the Filter function.
__ a. Click Filter
__ b. Specify the filter criteria of:
Customer number starts with CG
__ c. Click Filter to activate the defined filters.

__ 9. You can add more filters to the display.


__ a. Click Filter again, and click the green plus sign to add a second filter.

7-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ b. Specify the filter criteria of:


Trade processing stage contains Complete.
__ c. Click Filter to activate the new filter.

Note

The values for each filter are case-sensitive.

__ 10. Clear the filters by selecting Filter from the Data viewer tab and then clicking Clear.

Part 4: Replay messages


In this part of the exercise, you configure the IB9NODE to allow messages to be replayed. Replay
allows messages that are listed on the IBM Integration web console to be selected and sent to the
same, or a different, message flow for further processing.
In this lab, you replay the message by sending it to a separate WebSphere MQ queue; another
application does not process it.
Depending on the message flow and the types of events that you want to replay, the replay queue
might be the same input queue that the original message flow uses or a different queue. The replay
might also be a separate (and different) message flow.
__ 1. Review the configurable service that was defined to enable the replay.
__ a. In the IBM Integration Explorer, expand the Configurable Services folder under the
IB9NODE.
__ b. Select the DataDestination/Trades_Redirect_to_BPM configurable service.
This configurable service enables messages to be routed to the TRADE.FIX.IN queue
on the IB9QMGR.
In this lab, a simple message flow in the Trades application processes this queue. In
another scenario, a business process management application might process it and
amend the message before sending it to the Trades application again.
__ 2. In the IBM Integration web console Data viewer, enable the Data column.
__ a. Click Customize,
__ b. Enable the hasBitstream (Data) column.
__ c. Click Apply.
__ 3. Select some of the messages for replay.
__ a. Select the check box for the message to enable it.
__ b. Make sure that at least one of the selected messages shows the colored bitstream icon
in the Data column.
__ c. Click Mark for replay, which is now active.

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 4. Clicking Mark for replay displays the Replay list. However, you still cannot start the Replay
function. You must first select the Data Destination.
On the Data Destination menu, select the destination Trades_Redirect_to_BPM.

__ 5. On the Replay list view, click Replay All (or you can replay each item individually by
clicking the green arrow next to each message).
You should see that the item that contained the data bitstream was successfully sent to the
replay destination. It does not mean that the application successfully processed data; it was
successfully sent to the receiving destination.
Items that did not contain a data bitstream cannot be replayed, as described by the error
message that is seen on the Replay list view.

7-16 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 6. Confirm that the messages were sent to the Replay queue.


__ a. Open IBM Integration Explorer.
__ b. Select Queues under IB9QMGR.
__ c. The Current queue depth of TRADE.FIX.OUT should increase by 2 (or however many
messages you sent for replay).

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Part 5: Handle failed messages


If a message flow encounters an error during processing, it can be captured and reported by using
the IBM Integration web console.
To enable this feature, the monitoring point on the message flow node must include the
$ExceptionList in the monitoring event message.
__ 1. Using RFHUtil, send another message to the Trades application.
__ a. Open the file C:\labfiles\Lab07\data\TradeMessage_BadMessage.xml
__ b. Send the message to TRADE.VALIDATE.IN queue on IB9QMGR.
Although this message is a valid XML message, it is missing a required XML element. It
fails validation on the ReceiveTrade node because validation set to Content and
Value.
__ 2. In the IBM Integration web console, you should see two new entries.
The Trade processing stage for the first event is Trade instruction received.
The Trade processing stage for the second event is Data validation failure.

__ 3. Failed events can be highlighted in the IBM Integration web console Data viewer by
customizing the displayed columns. Click Customize.
__ a. If it is not already selected, enable the hasException (Errors) column.
__ b. Click Apply.
The Errors (hasException) column shows a red cross for all monitoring events that
contain the $ExceptionList data.

7-18 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 6: Clean up


__ 1. Close all open editor windows by typing Ctrl + Shift + W. You do not need to save any
changes, if you are prompted.
__ 2. In the Integration nodes view, right-click the default integration server under IB9NODE,
and then click Delete > All Flows and Resources. When the delete confirmation dialog box
is displayed, click OK.
__ 3. Close RFHUtil.
__ 4. Close the IBM Integration web console.

End of exercise

© Copyright IBM Corp. 2013, 2014 Exercise 7. Recording and replaying message flow data 7-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise review and wrap-up


In Part 1 of this exercise, you imported an application into the IBM Integration Toolkit and verified
event configuration on the message flow.
In Part 2 of this exercise, you set up the environment for recording and replaying messages. Set up
included building the database tables and importing the configurable services.
In Part 3 of this exercise, you viewed event messages in the IBM Integration web console,
customized the Data viewer, and defined filters to limit the data that is displayed.
In Part 4 of this exercise, you replayed messages by sending them to an alternative queue.
In Part 5 of this exercise, you configured the message flow to generate the $ExceptionList and
identified failed messages in the IBM Integration web console.

7-20 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 8. Viewing runtime statistics

Estimated time
01:00

What this exercise is about


In this exercise, you enable integration node statistics collection and view the
collected statistics with IBM Integration Explorer and the IBM Integration web
console. You also create a subscription for the integration node statistics and
write them to a queue.

What you should be able to do


At the end of the exercise, you should be able to:
• Enable integration node resource and message flow statistics
• View integration node statistics in IBM Integration Explorer and the IBM
Integration web console
• Set up a subscription for integration node statistics

Required materials
• A fully configured workstation, as used in previous exercises
• Successful completion of Exercises 1 and 2
• The lab exercise files in the C:\labfiles\Lab08\resources directory

Instructor exercise overview


This exercise combines the use of publish/subscribe with gathering statistics.

© Copyright IBM Corp. 2013, 2014 Exercise 8. Viewing runtime statistics 8-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise instructions
Part 1: Enabling message flow and resource statistics
In this part of the exercise, you enable message flow statistics and resource statistics from IBM
Integration Explorer for the message flow that you ran in exercise 2.
__ 1. Delete all existing flows and resources from the default integration server on DEVNODE, if
you did not do so after the previous exercise.
__ 2. In the WebSphere MQ Explorer, import
C:\labfiles\Lab08\resources\Ex8Flow.bar into the Development folder under the Bar
Files folder.
__ 3. Deploy the Ex8Flow.bar file to the default integration server on DEVNODE.
__ 4. Enable message flow statistics collection on the Ex2Flow message flow.
__ a. Right-click the Ex2Flow message flow in the IBM Integration Explorer Navigator view.
__ b. Click Statistics > Start Message Flow Statistics from the menu.
__ c. Verify that statistics collection is started on the message flow by checking that the
Statistics property in the Flow Properties QuickView is set to Started.

Note

You can also view the message flow statistics collection status by running the
mqsireportflowstats command from an IBM Integration Console.
For example, to view the message flow statistics collection status for the default integration server
that is running on the DEVNODE enter:
mqsireportflowstats DEVNODE -e default -s -g -j

8-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 5. Enable resource statistics collection on the default integration server that is running on
DEVNODE.
__ a. Right-click the default integration server in the WebSphere MQ Explorer Navigator view.
__ b. Click Statistics > Start Resource Statistics from the menu.
__ c. When resource statistics are being collected, the Resource Statistics Active property
identifies the resources that are being monitored. In addition, a warning message is
displayed at the top of the integration server properties view indicating that statistics
collection has a performance effect.
Verify that resource statistics collection is started on the default integration server by
checking the Resource Statistics Active property in the Properties QuickView.

Note

You can also view the resource statistics collection status by running the
mqsireportresourcestats command from an IBM Integration Console.
For example, to view the resource statistics collection status for the default integration server that
is running on the DEVNODE enter:
mqsireportresourcestats DEVNODE -e default

Part 2: Viewing integration node statistics with IBM Integration Explorer


In this part of the exercise, you view resource and message flow statistics, change filter settings,
and pause statistics collection in IBM Integration Explorer.
__ 1. From the IBM Integration Explorer taskbar, click Window > Show View > Resource
Statistics.
The integration server Resource Statistics view opens (at the bottom of the pane) and
Resource Statistics Graph view (at the top of the pane). These two views are displayed
together. If you close one of the views, the other view also closes.

© Copyright IBM Corp. 2013, 2014 Exercise 8. Viewing runtime statistics 8-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 2. On the Default Resource Statistics tab (at the lower right of the right pane), click the JVM
tab on the integration server Resource Statistics view.
It might be necessary to resize the Default Resource Statistics tab to find the JVM tab.

The resource graph for the JVM is displayed.


Note: You can use the arrow icons at the right side of the row of tabs to scroll them.
__ 3. In the Resource Statistics Graph tab, click Filter (in the upper right of the view).

The Graph Metrics dialog box is displayed.

8-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 4. Clear the options for reporting statistics on InitialMemoryInMB and


CumulativeNumberOfGCCollections, and then click OK.

__ 5. On the Default Resource Statistics tab, display the sockets statistics by clicking the
Sockets tab.
__ 6. Click Filter on the Resource Statistics Graph view. The Graph Metrics dialog box is
displayed.
Statistics (graph metrics) information varies for each resource. Click Cancel to close the
Graph Metrics dialog box without saving changes.

© Copyright IBM Corp. 2013, 2014 Exercise 8. Viewing runtime statistics 8-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 7. From the taskbar, click Window > Show View > Message Flow Statistics to open the
Message Flow Statistics view and Message Flow Statistics Graph view. These two
views are displayed together. If you close one of the views, the other view also closes.

__ 8. If it is not already selected, select the Ex2Flow message flow in the IBM Integration
Explorer.
The Message Flow Statistics Graph view (top pane) shows the performance statistics for
the entire message flow. The flow statistics for each node are shown in the bottom pane.
__ 9. On the Message Flow Statistics Graph view, click Filter.
__ 10. Click Select All to enable all the graph metrics, and then click OK.
__ 11. In the Message Flow Statistics view (in the lower right), right-click anywhere in the table,
and then click Filter Table. The Table Metrics dialog box is displayed.
Click Select All, and then click OK.

8-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 3: Viewing integration node statistics with IBM Integration web
console
In this part of the exercise, you enable and view message flow statistics with the IBM Integration
web console.

Note

Not all web browsers support the viewing of IBM Integration Bus statistics in the web console. Refer
to the IBM Support site for the list of supported browsers.

__ 1. Open Mozilla Firefox as the web browser.


__ 2. Enter the following address for DEVNODE integration node DEVNODE:
http://localhost:4416
__ 3. Enable statistics monitoring for all flows that are running on the default integration server.
__ a. Under the DEVNODE folder, expand Servers.
__ b. Click the arrow next to the default integration node and then select Statistics on.

After a few moments, you should see a message that flow statistics are on.
__ 4. Click the Statistics tab.
You should see the Flow comparison charts with the throughput per message flow in the
top chart and the throughput for all nodes in the bottom chart.

© Copyright IBM Corp. 2013, 2014 Exercise 8. Viewing runtime statistics 8-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

You can sort the information by using any one of these statistics by clicking the header of
the required column.
__ 5. Click the icon to the right of the message flow name (Ex2Flow) to go to the Flow analysis
view for the message flow.
This view shows the message rate graphs, latest data per node, and the flow profile.
You can select any three statistics to display in the charts by clicking the arrow in the table
next to each graph and then selecting the required statistic from the list.
__ 6. Click the integration server in the navigator to return to the Flow comparison view.
__ 7. Minimize the browser window.

8-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 4: Set up subscriptions for resource statistics


If you enable resource statistics collection for one or more integration servers on an integration
node, you can subscribe to the messages that the integration node publishes. The integration node
publishes statistics at 20-second intervals on the topic:
$SYS/Broker/iNodeName/ResourceStatistics/iServerName
In this part of the exercise, you subscribe to the resource statistics topic.
__ 1. When you enable message flow accounting and statistics collection in IBM Integration
Explorer, a WebSphere MQ subscription is automatically created for ResourceStatistics and
Message Flow statistics.
When you enable statistics in the IBM Integration web console, subscriptions are also
created for notifications and statistics.
To view the subscriptions in IBM Integration Explorer:
__ a. Click the MQ Explorer - Content tab.
__ b. In the Navigator, under Queue Managers > DEVQMGR, click Subscriptions.

• The subscription $SYS/Broker/+/StatisticsAccounting/SnapShot/# reports the


message flow and accounting statistics.
• The subscription $SYS/BROKER/+/ResourceStatistics/# reports the resource
statistics.
• If you start the collection of message flow statistics data by using the web user interface,
subscriptions are created for statistics that are emitted in JSON format for the integration
node.
__ 2. Create the local queue SUBREPLY_QUEUE for the subscription by running the following
command from an IBM Integration Console:
runmqsc DEVQMGR < C:\labfiles\Lab08\resources\PUBSUB.mqsc
__ 3. Create a subscription for the statistics.
__ a. In IBM Integration Explorer, right-click Subscriptions under DEVQMGR and click New
> Subscription.
__ b. For the subscription name, enter GetResourceStatistics and then click Next.

© Copyright IBM Corp. 2013, 2014 Exercise 8. Viewing runtime statistics 8-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 4. Configure the subscription properties on the Change properties window:


__ a. For Topic name, click Select, select SYSTEM.BROKER.DEFAULT.SUBPOINT, and
then click OK.
__ b. For Topic string, enter $SYS/Broker/+/ResourceStatistics/#
__ c. For Destination queue manager, enter DEVQMGR
__ d. For Destination name, enter SUBREPLY_QUEUE

__ e. Click Finish, and then click OK on the confirmation window.


__ 5. Verify that you created a subscription by displaying active subscriptions in IBM Integration
Explorer for queue manager DEVQMGR. Your subscription should be displayed in the list of
subscriptions.

Part 5: Retrieve and review collected statistics


In this part of the exercise, you view the resource statistics from the subscription destination
message queue and create an XML file that contains the resource statistics.

Note

You can automate this process by having an IBM Integration Bus developer create a message flow
that reads the messages from the queue and writes the data to a file.

__ 1. Start RFHUtil.
__ 2. Select DEVQMGR for the Queue Manager Name.

8-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 3. Select SUBREPLY_QUEUE for the Queue Name.


__ 4. Click Browse Q.
__ 5. Click the Data tab. You should see the resource statistics.
__ 6. Under Data Format, select XML so the data can be viewed as XML data.

__ 7. To make it easier to read the statistics data, copy the data into Windows Notepad, save it as
an XML file, and start it in a web browser.
__ a. Select the message data in RFHUtil, right-click the selected data, and then click Copy.
__ b. Open Windows Notepad (click Start > Run and enter Notepad).
__ c. Right-click in the Notepad session and click Paste.
__ d. Save the file in C:\labfiles\Lab08 as Statistics.xml and then close Windows
Notepad.
__ e. In Windows Explorer, locate the file and then double-click it to start a web browser
window.

© Copyright IBM Corp. 2013, 2014 Exercise 8. Viewing runtime statistics 8-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 8. Review the statistics. When you are finished, close the web browser window.
__ 9. Stop resource statistics in IBM Integration Explorer.
__ a. Right-click the default integration server and click Statistics > Stop Resource
Statistics.
__ b. Verify that resource statistics collection is stopped by checking for a message on the
Administration Log.
The Resource Statistics Active property in the integration server Properties
QuickView is also now set to None.
__ 10. Stop message flow accounting and statistics in the IBM Integration web console.
__ a. Click the down arrow next to the default integration server and then click Statistics off.
__ b. Verify that message flow statistics collection is stopped by clicking the Statistics tab.
You should see an indication that statistics are off for the message flow.

8-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 6: Clean up


__ 1. Reset the IBM Integration Explorer to its default view. From the menu bar, click Window >
Reset Perspective. Click OK when prompted to confirm.
__ 2. Delete the Ex2Flow message flow components from the default integration server by
right-clicking the integration server.
__ 3. Close any open windows and programs (such as RFHUtil). You can leave the IBM
Integration Explorer and IBM Integration web console open.
__ 4. Clear any remaining messages from the queues.
End of exercise

© Copyright IBM Corp. 2013, 2014 Exercise 8. Viewing runtime statistics 8-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise review and wrap-up


In this exercise, you used the WebSphere MQ Explorer and commands to enable integration node
and message flow statistics collection.
Finally, you used the WebSphere MQ Explorer to create a subscription for statistics information that
is being collected. You learned how to enable the collection of statistics and to check on the status
of collection settings.

8-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 9. Managing unresponsive message
flows

Estimated time
01:00

What this exercise is about


In this exercise, you learn how to set Workload Management properties in an
IBM Integration Bus BAR file to automatically force an unresponsive
message flow to stop.

What you should be able to do


At the end of the exercise, you should be able to:
• Manually force an unresponsive message flow to stop
• Specify the maximum amount of time that any message flow is allowed to
process a message
• Specify an action to take if the message flow exceeds the maximum
processing time

Introduction
When a message flow has an undetected design flaw, it can become
unresponsive. This behavior can be caused by excessive “sleep” time in an
ESQL command, a bad message that causes a backout, or another looping
condition. In IBM Integration Bus, you can remove an unresponsive message
flow.
You have a choice of three methods to remove the unresponsive message
flow:
• Programmatically check from within a message flow to see whether it
was requested to stop
• Manually force a message flow to stop
• Automatically force a message flow to stop
In this exercise, you manually force an unresponsive message flow to stop
and create a policy to automatically force an unresponsive message flow to
stop.

© Copyright IBM Corp. 2013, 2014 Exercise 9. Managing unresponsive message flows 9-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Required materials
• You require a fully configured workstation, as used in previous exercises.
• The IBM Integration Bus default configuration.
• Lab files in the C:\labfiles\Lab09 directory.

Instructor exercise overview


This exercise shows students how to configure the Workload Management properties in the BAR
file and handle unresponsive flows.

9-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Exercise instructions


Part 1: Manually force a message flow to stop
The mqsistopmsgflow command has a “force” option (-f restartExecutionGroup) to allow you to
specify how the message flow can be forced to stop.
Without the force option, the mqsistopmsgflow command sends a request to a message flow to
stop by first waiting for all threads that are used by the message flow to finish. If one of the threads
is not responding, then action to stop the message flow stop never completes.
The “force” option allows system administrators to specify how the message flow should be
stopped. It causes the message flow to be flagged as stopped and then to restart the integration
server (execution group). When the integration server restarts, the message flow is in the Stopped
state.
You can use the mqsistopmsgflow command without, and then with, the “force” option to escalate
the mechanisms that are used to stop the message flow.
For example:
mqsistopmsgflow IB9NODE -e default -m mf1 -w 30
mqsistopmsgflow IB9NODE -e default -m mf1 -w 30 -f restartExecutionGroup
The first command tries to the stop the message flow normally and waits 30 seconds for a
response. The second command restarts the integration server, but only if the message flow was
not already stopped.
In this exercise, you use the IBM Integration Toolkit and the Test Client to simulate failures.
__ 1. Open the IBM Integration Toolkit and create a workspace such as C:\Workspace\WLM.
__ 2. Import the message flow application into the IBM Integration Toolkit.
__ a. Click File > Import.
__ b. Expand Other and then select Project Interchange file.
__ c. Go to the C:\labfiles\Lab09\resources\UnrespFlows folder.
__ d. Select WLM_UnrespFlows.zip and then select Open.
__ e. Select both of the folders and then click Finish.
__ f. The IBM Integration Toolkit workspace now contains an application that is named
WLM_hung_flow.

© Copyright IBM Corp. 2013, 2014 Exercise 9. Managing unresponsive message flows 9-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 3. Expand the WLM_hung_flow application.


__ 4. Expand the Flows folder and then double-click the Account_management.msgflow
message flow to open it in the Message Flow editor.
This flow is the flow that becomes unresponsive and that you attempt to force out of the
integration server.
__ 5. Create an integration server that is named WorkloadManagement on the IB9NODE
integration node.
__ a. Right-click IB9NODE in the Integration Nodes view and then click New Integration
Server.
__ b. For the integration server name, enter WorkloadManagement
__ c. Click OK.
__ 6. Deploy the WLM_hung_flow application.
Select the application WLM_hung_flow in the Application Development navigator and drag
it onto the integration server WorkloadManagement.
You should see the application WLM_hung_flow running in the integration server.
Notice that it has an up green arrow to indicate that it is running. So both the integration
server and the application are running.
__ 7. Expand the WLM_hung_flow application by clicking the plus sign next to the application.
You should now see that the Account_management message flow is running.

9-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty

__ 8. Next, create the queues and subscriptions that are required for this exercise.
Open an IBM Integration Console and enter the following command:
runmqsc IB9QMGR < C:\labfiles\Lab09\install\MQSetup\WLM.mqsc
__ 9. Next, using the Test Client in the IBM Integration Toolkit, you put a message on the
MQINPUT node of the flow. This message was purposely constructed to put the message
flow into a loop, so it does not stop or respond to normal mqsistopmsgflow commands from
the IBM Integration Console.
__ a. Double-click WLM_hung_flow.mbtest file under the WLM_hung_flow > Flow Tests
folder in the Application Development view to open the test in the IBM Integration Toolkit
Test Client.

__ b. In the Test Client, click Send Message.


__ 10. Use IBM Integration Explorer or the IBM Integration Toolkit to verify that the
Account_management flow is still running.

© Copyright IBM Corp. 2013, 2014 Exercise 9. Managing unresponsive message flows 9-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 11. Try to stop the Account_management message flow.


In the IBM Integration Console, enter the command to try to stop the message flow
application:
mqsistopmsgflow IB9NODE -e WorkloadManagement -k WLM_hung_flow

Note

You would use the -m option on the mqsistopmsgflow command to stop a message flow. To stop an
application, you must use the -k option.

__ 12. Use the Windows Event Viewer Application Log to check the status of the message flow
and the success or failure of the command.
__ a. You should see an Information message that the mqsistopmsgflow command was
received and the application is about to be stopped.

9-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ b. After a few more seconds, you should see an error message in the Event Viewer
Application Log.

The Error message appears to be a timeout message that indicates that the integration
server (execution group) is not responding because it cannot stop the flow. The flow is
stuck on a looping MQGET node that is waiting for messages to arrive and no timeout is
set.
You should also see an error message in IBM Integration Console that indicates that the
operation timed out waiting for a response.

Note

It might be necessary to refresh the Event Viewer Application Log by clicking Refresh to show the
most recent events.

__ 13. In the IBM Integration Console, reenter the mqsistopmsgflow command with the option to
force a restart of the integration server:
mqsistopmsgflow IB9NODE -e WorkloadManagement -k WLM_hung_flow
-f restartExecutionGroup
__ 14. Refresh the Event Viewer Application Log.
You should see several Information messages at the time you entered the
mqsistopmsgflow command.
Start with the first message above the Error message and read each of the succeeding
messages to follow the events that the mqsistopmsgflow command caused.
__ a. You should see an Information message that indicates that the execution group is being
restarted due to a user configured action.
__ b. Next, is a Warning message that the execution group has shutdown.
__ c. After the Warning message, five Information messages explain what is being done.

© Copyright IBM Corp. 2013, 2014 Exercise 9. Managing unresponsive message flows 9-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

• The first Information message shows that the execution group (integration server)
restarted. The restart ensures that other flows keep running and that they are not
impacted by the “stop” command for the flow that is stuck in a loop.
• The next message shows that the flow was stopped.

• Further Information messages show the integration node (broker) sending messages to
the execution group and finally that the execution group started.
__ 15. Use IBM Integration Explorer or the IBM Integration Toolkit Integration Nodes view to verify
that the WorkloadManagement integration server is running but that the application
WLM_hung_flow is stopped.

9-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 16. In the IBM Integration Toolkit, close the WLM_hung_flow Test Client window but do not
save the test.

Part 2: Automatically force an unresponsive message flow to stop


Using a policy in the properties of a message flow, you monitor message flow processing time and
automatically take a specified action if the timeout value is exceeded.
• Processing Timeout is the maximum time a message flow can process a message before
taking a specified action. The time is measured in seconds. It is taken from the point a message
is received on an input node.
• Processing Action is the action to take when the processing timeout is exceeded. Currently,
this action is restricted to None or restartExecutionGroup.
Additionally, an event message is published on a WebSphere MQ topic after the processing timeout
is exceeded and again when the message flow processing finished.
These properties can be set for a message flow in two ways:
• Directly within a BAR file. The properties can be set in the BAR File editor in the IBM Integration
Explorer or in IBM Integration Toolkit or overridden with the mqsiapplybaroverride command.
• As one of the attributes within a workload management policy that is defined within a
configurable service.
In this part of the lab, you use the BAR File editor in the IBM Integration Toolkit to modify the BAR
File properties and the Test Client to test the change.
__ 1. Modify the BAR file in the IBM Integration Toolkit.
__ a. Double-click the WLM_hung_flow.bar file under the WLM_hung_flow > BARs folder
in the Application Development view to open the file in the BAR File editor.
__ b. Click the Manage tab.
__ c. Expand the WLM_hung_flow application in the edit pane by clicking the + sign.
__ d. Select Account_management.msgflow.

© Copyright IBM Corp. 2013, 2014 Exercise 9. Managing unresponsive message flows 9-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ e. Select Workload Management in the Account_management.msgflow Properties


view.

__ f. In the Processing Timeout field, type 15, which is the number of seconds a flow is
allowed to process before it is automatically stopped.
__ g. In the Processing Action field, select Restart the execution group.
__ h. Press Ctrl + S to save the properties in the BAR file.
__ 2. Deploy the updated BAR file to the WorkloadManagement integration server.
__ 3. Restart the application WLM_hung_flow.
__ a. In the Integration Nodes view, right-click WLM_hung_flow and then click Start.
__ b. Verify that the application starts.

9-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 4. Verify that the message flow Account_management started.


In the Integration Nodes view, expand the application to show the flow.
It is stopped because of the explicit command to stop it in Part 1 of this exercise.
__ 5. For this exercise, assume that some corrective action was taken to correct the errors and
restart the message low.
In the Integration Nodes view, right-click Account_management and then click Start.

The flow is now started.


__ 6. Now that the application is redeployed with new properties, rerun the test that you ran in
Part 1 of this exercise to create an unresponsive flow.
__ a. Double-click WLM_hung_flow.mbtest file under the WLM_hung_flow > Flow Tests
folder in the Application Development view to open the Test Client.
__ b. Click Send Message.
__ 7. Verify that unresponsive message flow automatically stops when the processing timeout is
exceeded.
__ a. Return to the Windows Event Viewer Application Log and click Refresh.
__ b. You should see seven new messages at approximately the time the message was sent.
There should be one Warning message and six Information messages.

Note

It might be necessary to wait and click Refresh a number times before all the messages are
available.

__ c. Select the first Information message.


It indicates that “The message flow Account_management is unresponsive, so restarting
the execution group”.

© Copyright IBM Corp. 2013, 2014 Exercise 9. Managing unresponsive message flows 9-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

This message is similar to the message from the mqsistopmsgflow -f command that
you entered in Part 1 of this exercise. It is informing you that the message flow is
unresponsive and that the execution group is restarting.
__ d. Select the next Information message.
It indicates that “Execution group “WorkloadManagment” is being restarted
automatically due to a user configured action.”
This message tells you that the application is being restarted because of the Workload
Management properties for the message flow.
__ e. Select the next message, which is a Warning message.
This message indicates that the execution group has shutdown. This shutdown was due
to the Processing action property, which you set to Restart the execution group.
__ f. Select the next Information message that indicates that the execution group restarted.
__ g. The remaining messages are restart and configuration messages.
__ 8. Using the Workload Management properties to automatically stop an unresponsive
message flow results in different behavior than running the mqsistopmsgflow -f command.
Using WebSphere MQ Explorer or the IBM Integration Toolkit and observe the status of the
integration node, the WorkloadManagement integration server, WLM_hung_flow
application, and Account_management message flow. They are all active.
Automatically stopping a flow by using the Workload Management properties, tells the
integration node that the flow should be stopped after a specified amount of processing
time. The integration server was restarted because of the setting in the Processing Action
property.
In this scenario, there is no way to know whether the message flow was in a loop, only that
it used too many cycles, and should be stopped. But when the integration node was
restarted, the application and flow were also restarted because that was the previous status.
When restarted, it might again be automatically restarted or continue processing until
finished. If the message flow continues to have problems, you still can manually force it to
stop by using the mqsistopmsgflow -f command.

9-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 3: Clean up


__ 1. Reset the WebSphere MQ Explorer to its default view. From the menu bar, click Window >
Reset Perspective. Click OK when prompted to confirm.
__ 2. Delete the WorkloadManagement integration server on IB9NODE.
__ 3. Close the IBM Integration Toolkit.
__ 4. Close the open windows and programs (such as the Event Viewer). You can leave the IBM
Integration Explorer running.
End of exercise

© Copyright IBM Corp. 2013, 2014 Exercise 9. Managing unresponsive message flows 9-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise review and wrap-up


In this exercise, you saw that there are three possible methods to stop an unresponsive message
flow and remove it from the integration server.
• Programmatically check from within a message flow to see whether it has been requested to
stop
• Manually force a message flow to stop
• Automatically force a message flow to stop
You used two of these methods and observed the behavior of the integration node.

9-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Exercise 10.Implementing web services and web
services security

Estimated time
01:30

What this exercise is about


In this exercise, you learn how to configure the integration node runtime
environment to support the web services. You learn how to use the supplied
tools to set up a web service that can accept information from or deliver it to
a transport with secure HTTP (HTTPS).

What you should be able to do


At the end of the lab, you should be able to:
• Implement message flows that provide and use a web service
• Configure web service support
• Implement a web service message flow that uses HTTPS for secure
transport

Introduction
A web service is a callable program that is at a web location, and can create
unlimited extensions to the classic remote procedure call (RPC) paradigm.
As standards stabilize, web services of all types are becoming common.

Required materials
• You require a fully configured workstation, as used in previous exercises.
• Successful completion of exercises 1 and 2.
• Lab files in the C:\labfiles\Lab09 directory.

Instructor exercise overview


This exercise guides students through the process of importing two simple message flows, the first
to serve as a (local) web service, the second to call it.
The flows use three types of HTTP nodes available to the message flow developer. A web service
is characterized by starting with an HTTPInput node and ending with an HTTPReply node. The

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-1
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

characteristic of the calling message flow is an HTTPRequest node. The parameter that links the
two message flows is the URL specified in the HTTPRequest node that (presumably) agrees with
the HTTPInput node.
Changing the URL in the HTTPRequest node to any valid web service URL would route the request
to the new address. As expected, the reply from the web service would be routed back to the
message flow that posted the original HTTPRequest.

10-2 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Exercise instructions


Part 1: Configuring the HTTP listener for integration node use
__ 1. If it is not already open, open IBM Integration Toolkit in a new workspace such as
C:\Workspace\WebSvc.
__ 2. Import an existing project that contains the message flows for this exercise.
__ a. From the menu bar, click File > Import. The Import selection dialog box is displayed.
__ b. Expand General.
__ c. Select Existing Projects into Workspace, and then click Next.
__ d. To the right of Select Root Directory, click Browse, browse to the
C:\labfiles\Lab10\resources\WebSvc folder, and then click OK.
__ e. Ensure that WebSvc is selected in the Projects window.
__ f. Select the Copy projects into workspace option.

__ g. Click Finish. The WebSvc project is imported into the Independent Resources folder
in the Application Development Navigator.
__ 3. In IBM Integration Explorer, create local queues PING_IN and PING_OUT under the
DEVQMGR queue manager.

Note

You should already have a local queue that is named FAILURE under the DEVQMGR queue
manager. If it does not exist, create that queue also.

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-3
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 4. In the next step, you need a port that the HTTPListener component of the integration node
uses.
__ a. Run an IBM Integration Console session as an administrator.
__ b. Run the following command to get the network information and save it to a text file:
netstat -an > C:\network.txt
__ c. Open the text file in Notepad and examine the list of assigned and active port numbers.
Verify that port number 7085 is not already in use.
__ 5. Set up the port for the HTTPListener integration node component to use by entering the
command:
mqsichangeproperties DEVNODE -b httplistener -o HTTPConnector
-n port -v 7085
__ 6. For the changes to take effect, the integration node must be stopped and restarted after
entering the mqsichangeproperties command.
__ a. Stop the integration node by entering mqsistop DEVNODE
After a few moments, a confirmation message is displayed.
__ b. Restart the integration node by entering mqsistart DEVNODE
After a few moments, a confirmation message is displayed.

Note

The mqsistop command waits for a signal that the integration node was shut down successfully
before it displays the confirmation message. The mqsistart command returns a confirmation
message when the appropriate start commands are issued, but it does not wait for the integration
node and its components to signal that they are ready. As a result, if an error occurs during startup,
it is possible for the mqsistart confirmation message to show even though the components did not
start.
Always check the status of the integration node and its components to ensure that they started
correctly.

Leave the IBM Integration Console open; you use it later in this exercise.

10-4 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 2: Reviewing the message flows


__ 1. In the IBM Integration Toolkit, review the CallWebSvc message flow.
__ a. In the Application Development navigator, expand Independent Resources > WebSvc
> Flows.
__ b. Double-click CallWebSvc.msgflow to open it in the Message Flow editor.

__ 2. Notice the names of the MQInput node (PING_IN) and MQOutput nodes (FAILURE and
PING_OUT). They reflect the queue names that are specified as properties and should
match the queues that you created.
If you want to confirm these queue names, right-click those nodes and click Properties.
__ 3. Click the HTTP Request node to view its properties.
In the Basic properties view, view the entry for Web service URL. The format of the URL is:
http://<machine_name>:<inode_listener_port>/<path>
Where the value of <path> must agree with a similar value that is specified in the properties
of the HTTPInput node in the target web service message flow.
The HTTP Proxy Location property (on the HTTP Settings tab) is optional. If specified, it
takes the form <machine_name>:<inode_listener_port>.
Do not change any of these values, but do remember them.
__ 4. Now, open the HTTPProtocol message flow in the Message Flow editor by double-clicking
it. It should contain three nodes as shown in the following figure.

__ 5. Click the HTTPInput (7085) node to see its properties.


Notice that the Path suffix for URL value exactly matches the URL in the previous flow (the
HTTPRequest node in that flow is starting this flow by using that URL).
__ 6. Close both of the message flows.

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-5
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Part 3: Creating and deploying a BAR file that contains both message
flows
__ 1. In the IBM Integration Toolkit, create a BAR file that is called WebService.bar.
__ a. From the menu bar, click File > New > BAR file.
__ b. For Container, select: WebSvc.
__ c. For Folder, use the <default> value.
__ d. For the Name, enter: WebService.bar
__ e. Click Finish. The new BAR file opens in the BAR File editor.
__ f. Select the Flows check box to add both message flows.
__ g. Under the Build Options, select Compile and in-line resources.

__ h. Click Build and Save (you might need to scroll to the right to see the button).
__ i. Click OK on the success message. The message flows are added to the BAR file.
__ 2. You can change the queue names that the message flow uses by editing the BAR file node
configurable properties (The properties that you can change in the BAR file).
You select the BAR File editor Manage tab, and then modify the node properties in the
Properties view. You can also change the properties of the HTTP nodes.
Examine the values for the HTTPRequest and HTTPInput nodes in the BAR file.
__ a. While in the BAR File editor, click the Manage tab (at the bottom of the BAR File editor
window).

10-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ b. Fully expand the two compiled message flows (.cmf files).

__ c. Click the HTTPRequest and the HTTPInput (7085) nodes in the tree to view their
properties. The properties for the HTTPRequest node are shown here.

Before you deploy the BAR file, you can change the URL for the target web service, thus
overriding the value that was used for development testing. Similarly, a developer can
test locally by simulating a remote web service.

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-7
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

To start the actual target web service, no changes need to be made to the calling
message flow. You need only to specify a different URL by using the BAR File editor
Manage tab and then redeploy the BAR file.
In this case, use the provided values for the connections.

Note

As you saw in previous exercises, you can also edit the BAR file in the IBM Integration Explorer.
Double-click the BAR file, expand the message flow (.cmf or .msgflow) hierarchy, right-click the
node, and then click Configure from the menu.

__ 3. For this exercise, you allow for more than one instance of the flow to run. While still on the
BAR File editor Manage tab, select HTTPProtocol.cmf.
__ 4. In the Properties view on the Workload Management section, change Additional
Instances to 2.

__ 5. Similarly, change the Additional Instances parameter for the CallWebSvc.cmf to 2.


__ 6. Save the BAR file updates by typing Ctrl+S, or by clicking File > Save from the menu bar.
__ 7. Deploy the newly created BAR to the default integration server on DEVNODE.
__ a. In the Application Development Navigator view, right-click the WebService.bar file and
then click Deploy from the menu.
__ b. In the Deploy window, click default (under DEVNODE), and then click Finish.
The message flows should show under the default integration server in the Integration
Nodes view.
__ c. Verify that the deployment was successful by reviewing the Deployment Log.
__ 8. From the IBM Integration Console, issue the netstat command again:
netstat -an > C:\network.txt

10-8 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ 9. When you examine this list in Notepad, the listener that uses port 7085 should now be
displayed in the list as LISTENING.

The listener for port 7085 is now active because you deployed a web service message flow
that contains an HTTPInput node. The integration node compared the HTTP port number
(7085) with the port that is assigned to the integration node. Because they matched, the
integration node listener became active.

Note

The mqsicreatebroker and mqsichangebroker commands can also be used to assign or


change the integration node listener port number by using the -P (HTTPPort) parameter. Be sure
to use an uppercase “P” when entering this command as lowercase “p” is also a valid parameter.
Later in this exercise, you learn how to configure Secure Sockets Layer (SSL) which uses a
different port.

Part 4: Test your web service application


__ 1. In the Application Development Navigator of the IBM Integration Toolkit, expand
Independent Resources > WebSvc > Flow Tests.
__ 2. Double-click the file TestEnq.mbtest to open it in the Test Client.
__ 3. Change the properties in the Test Client as follows:
__ a. Change the queue manager name to match your integration node queue manager name
(DEVQMGR).

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-9
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ b. Change the port to 0 (this port is not the HTTP port that you set earlier in the exercise by
using the mqsichangeproperties command).

__ c. Type Ctrl + S to save your work.


__ 4. Click Send Message to put a message on the PING_IN queue.
The message flow starts, calls the WebService flow, obtains the response, adds a message
descriptor, and delivers it to the output queue called PING_OUT.

Note

The only result that you see is “Message Sent to Queue”. You do not see the response message
until you complete the next step.

__ 5. Use the WebSphere MQ Explorer to see whether the message is on the output queue
PING_OUT.
It might be necessary to refresh the Queues listing in WebSphere MQ Explorer by clicking
the Refresh icon (the third icon in the upper right of the Queues listing.
You can right-click the queue and click Browse Messages to view the message on the
queue.
You can also use RFHUtil to browse the PING_OUT queue, if you want to.
The message data should contain the following text:
<OutMsg>
<NewText>The date/time is:</NewText>
<DateTime>date_and_timestamp when the flow was run</DateTime>
</OutMsg>

10-10 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty If you browse the queue by using RFHUtil, select XML for the data format so that it is easier
to read.

__ 6. Close the Test Client view in the IBM Integration Toolkit. Do not save the changes when
prompted.

Part 5: Implement SSL for your web service application


It is possible that a developer tested in an unsecured environment so that when the application is
moved to the production environment you must take steps to secure it. HTTP can be run over SSL
to ensure that the data is not altered while it is in transit.
Imagine, a scenario where a flow that calls a web service is being allowed to flow across non-SSL
HTTP connections. However, other users might start that same web service by using an HTML form
in a browser. In that case, you want to allow only trusted access. There is no requirement to change
the message flows. You set up a new archive file to make necessary changes to one message flow
to allow this scenario to work.
First, you must set up SSL for use. In a real-world environment, it is likely that you would obtain
certificates from an external certificate authority. However, for the purposes of testing or internal
only use, the keytool utility is included with the IBM Integration Bus. This utility allows you to
generate certificate keys to use with SSL. You use it for this exercise.
__ 1. Start an IBM Integration Console session, if one is not already running.
__ 2. Change directories to the keytool utility directory:
cd C:\Program Files (x86)\IBM\WebSphere MQ\java\jre\bin
__ 3. Run the keytool utility without any options to display a list of all the possible parameters:
keytool
Briefly review the parameters and options.
__ 4. Create a keystore.
__ a. Enter the following command in the IBM Integration Console:
keytool -genkey -keypass devkey -keystore dev.keystore
-alias tomcat

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-11
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ b. You are asked a series of questions for the key generation process; respond to them as
shown here. You can use any name when prompted for first and last names.
Enter keystore password: devkey

Note

The password is masked. You do not see the password on your display.
When prompted to reenter the password, enter devkey

What is your first and last name?


[Unknown]: Mary Smith
What is the name of your organizational unit?
[Unknown]: WM645
What is the name of your organization?
[Unknown]:
What is the name of your City or Locality?
[Unknown]:
What is the name of your State or Province?
[Unknown]:
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=Mary Smith, OU=WM645, O=Unknown, L=Unknown, ST=Unknown, C=US
correct? (type "yes" or "no")
[no]: yes
The keystore is created with the values that you specified. The keystore file is written to the
C:\Program Files (x86)\IBM\WebSphere MQ\java\jre\bin directory.
__ 5. Use Windows Explorer to create a directory that is named C:\keystores, and then copy
the dev.keystore file from the C:\Program Files (x86)\IBM\WebSphere
MQ\java\jre\bin directory to the new directory.
__ 6. Make the integration node aware of the keystore file, and configure the HTTPListener to use
the SSL port. This port is not the default HTTP port that you used earlier.
Enter the following commands in the order shown.
These commands are case-sensitive.

10-12 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty
Hint

To reduce the amount of typing you must do, you can press the up arrow key on your keyboard in
the IBM Integration Console window to retrieve a previous command. You can then edit the portion
of command that changed, by using the left arrow, right arrow, Delete, and Backspace keys.
Press Enter to run the command after you finish editing it.

__ a. Enable SSL for the integration node:


mqsichangeproperties DEVNODE -b httplistener -o HTTPListener
-n enableSSLConnector -v true
__ b. Configure the integration node with the keystore information:
mqsichangeproperties DEVNODE -b httplistener -o HTTPSConnector
-n keystoreFile -v C:\keystores\dev.keystore
__ c. Set the keystore password in the integration node:
mqsichangeproperties DEVNODE -b httplistener -o HTTPSConnector
-n keystorePass -v devkey
__ d. Set the port for HTTP SSL connections:
mqsichangeproperties DEVNODE -b httplistener -o HTTPSConnector
-n port -v 7083
__ e. Configure the integration node with the truststore information:
mqsichangeproperties DEVNODE -b httplistener -o HTTPSConnector
-n truststoreFile -v C:\keystores\dev.keystore
__ f. Configure the truststore password in the integration node:
mqsichangeproperties DEVNODE -b httplistener -o HTTPSConnector
-n truststorePass -v devkey
__ g. Disable client authentication in the integration node:
mqsichangeproperties DEVNODE -b httplistener -o HTTPSConnector
-n clientAuth -v false
__ 7. Use the mqsireportproperties command to verify the configuration changes that you
made:
mqsireportproperties DEVNODE -b httplistener -o HTTPSConnector -a

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-13
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Verify the values that are reported for uuid, keystoreFile, keystorePass, truststoreFile,
truststorePass, clientAuth, and port.
uuid='HTTPSConnector'
clientAuth='false'
keystoreFile='C:\keystores\dev.keystore'
keystorePass='********'
truststoreFile='C:\keystores\dev.keystore'
truststorePass='********'
port='7083'
__ 8. Stop and restart the integration node from the IBM Integration Console so that the
configuration changes take effect.
__ a. Enter the command:
mqsistop DEVNODE
__ b. Enter the command:
mqsistart DEVNODE
You are now ready to deploy message flows that use SSL. The message flows must request
the correct SSL port to function correctly. For testing purposes in this exercise, you use only
one of the two message flows.
__ 9. In the IBM Integration Toolkit, create a BAR file that is called SSLArchive.bar.
Add only the HTTPProtocol message flow to the BAR file; do not add the CallWebSvc
message flow.
__ a. Right-click the BARs folder in the Application Development Navigator.
__ b. Click New > BAR file.
__ c. For Container, select WebSvc.
__ d. Use the <default> value for Folder.
__ e. For Name, enter SSLArchive.bar
__ f. Click Finish. The new BAR file is opened in the BAR File editor.
__ g. Select the check box for HTTPProtocol.msgflow
(do not include the CallWebSvc message flow).
__ h. Click Build and Save. The message flow is added to the BAR file.

Note

If you receive a message to save the TestEnq enqueue file, click No.

__ i. Click OK to the confirmation dialog box when the build completes.


__ 10. Modify the message flow properties to use SSL.
__ a. In the Manage tab of the BAR File editor, expand HTTPProtocol.msgflow.

10-14 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ b. Expand HTTPProtocol.


__ c. Click the HTTPInput (7085) node. The node properties are displayed in the Properties
view.
__ d. Modify the Path suffix for URL to use port 7083 (SSL) instead of 7085.
__ e. Select the Use HTTPS check box.

__ 11. Change the number of instances to 5 to allow multiple copies of the flow to run to increase
message throughput.
__ a. In the Manage tab of the BAR File editor, select HTTPProtocol.msgflow.
__ b. Select the Workload Management section on the Properties tab.

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-15
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ c. Change Additional Instances to 5.

__ 12. Save the changes by typing Ctrl+S.


__ 13. Create an integration server that is named SSLWebServices under DEVNODE.
__ a. In the Integration Nodes view of the IBM Integration Toolkit, right-click DEVNODE.
__ b. Click New Integration Server.
__ c. Enter the integration server name:
SSLWebServices
__ d. Click OK.
__ 14. Deploy the BAR file SSLArchive.bar to the SSLWebServices integration server.

Important

Do not deploy the SSLArchive.bar file to the same integration server where the non-SSL flow is
running (the default integration server).

__ 15. Verify that deployment was successful by reviewing the Deployment Log.
__ 16. Verify that a listener for port 7083 is now active by issuing the netstat -an command from
the IBM Integration Console session.
__ 17. Test the message flow.
__ a. Start Windows Explorer and go to the C:\labfiles\Lab10\resources\WebSvc folder.
__ b. Right-click the WebSvcform.html file and then click Open with Firefox.

10-16 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty __ c. Click Obtain Date/Time.

__ d. If you set up the keystore correctly, you get a security message about the certificate that
is being used. It might take a few moments before the browser responds.

Note

If you use Internet Explorer to open the Websvcform.html file, your output results are different
because of the differences between the browsers.

__ e. Click Add Exception. The Add Security Exception window opens.

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-17
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ f. Click Confirm Security Exception. A confirmation window opens.


__ g. Click Resend on the confirmation window. You should receive the response from the
web service in the form of an XML file with the date and time that is similar to the
example.
<OutMsg>
<NewText>The date/time is: </NewText>
<DateTime>2014-06-19 05:51:04.286131</DateTime>
</OutMsg>

10-18 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

EXempty Part 6: Clean up


__ 1. Reset the IBM Integration Explorer to its default view. From the menu bar, click Window >
Reset Perspective. Click OK when prompted to confirm.
__ 2. Delete the HTTPProtocol flow in the SSLWebServices integration server.
__ 3. Delete the CallWebSvc and HTTPProtocol flows in the default integration server.
__ 4. Close any open windows and programs (such as RFHUtil).
__ 5. Close the web browser window.

End of exercise

© Copyright IBM Corp. 2013, 2014 Exercise 10. Implementing web services and web services security 10-19
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

Exercise review and wrap-up


While it might not be obvious, the combination of the two flows used in this exercise approximates
to a What time is it? application. The “calling” flow can be altered to call different web services by
changing the URL value in the BAR file before deployment.
As you saw, it is also possible to change how a message flow that behaves as a web service can be
called in different ways. And you learned how to set up an integration node to use SSL in addition to
non-SSL HTTP transports.

10-20 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V1.2.2
Instructor Exercises Guide

AP Appendix A. Exercise solutions

Exercise 2, Using the IBM Integration Toolkit

Part 3, Step 9:
The input data file contains the string <Version>2<Version>. Assuming that all other syntax is
correct, the message should be transformed and sent to the EX2_REPLY queue.

Part 3, Step 12:


In RFHUtil, Read Q is equivalent to a GET operation, which removes the message from the
queue; Browse Q does not remove the message from the queue.

Exercise 6, Identifying runtime problems

Part 1
1. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Answer:
The message is rolled back to the input queue. After rollbacks reach the backout threshold, the
message is put to IN_BOQ.
.

© Copyright IBM Corp. 2013, 2014 Appendix A. Exercise solutions A1


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V1.2.2
Instructor Exercises Guide

AP 2. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Answer:
The message is discarded because the flow is not transactional (TxMode=No) and cannot be
rolled back. The MQInput node Catch terminal is not wired; therefore, you cannot consider that
option.
3. Queue manager dead-letter queue = DLQ; IN queue has no backout queue

Answer:
The message is rolled back to the input queue. After the backout threshold is reached, the
message is put to the DLQ. The MQInput node Catch terminal is not wired.

© Copyright IBM Corp. 2013, 2014 Appendix A. Exercise solutions A2


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V1.2.2
Instructor Exercises Guide

AP 4. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Answer:
The message is propagated through the Compute node failure terminal and is thus written to
the Failure queue.
5. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Answer:
The message is propagated through the Compute nodes Failure terminal; this action fails, so it
is propagated to the Catch terminal and thus to the Catch queue, regardless of the transactional
nature of the flow.

© Copyright IBM Corp. 2013, 2014 Appendix A. Exercise solutions A3


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V1.2.2
Instructor Exercises Guide

AP 6. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Answer:
The message is written to the Failure2 queue (regardless of transaction mode).
7. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Answer:
The message is put onto the IN_BOQ after 2*BackoutThreshold retries that failed in FAILURE2.
If the IN_BOQ was full or PUT is disabled, the broker tries to put the message onto the DLQ. If
that fails as well, the message loops between the MQInput node and the Failure2 MQOutput
node.

© Copyright IBM Corp. 2013, 2014 Appendix A. Exercise solutions A4


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0
Instructor Exercises Guide

AP 8. Queue manager dead-letter queue = DLQ; IN queue backout queue = IN_BOQ

Answer:
The message is discarded after the exception indicated in the Catch node. The Failure2 path
can never be taken because the flow is non-transactional; therefore no rollback beyond the
Catch node occurs.

Part 2
Scenario 1
After submitting the test message, you see two problems that occur in the Windows (application)
error log.
• The warning message in the log is from Windows:
“Operating system error: The system cannot find the path specified. opening
trace file 'c:\MQ641\Lab2\ExListTrace.txt' for trace node
'Ex2Flow6a.TraceExList'.”
This message indicates that the message flow contains a trace node that is attempting to write
its output to a directory that does not exist. Recall that if a trace node is sending its output to a
file, the directory path that is specified in the trace node properties must exist, or the file is not
created. To correct this problem, you must either create the specified directory or modify the
.bar file to change the path. If you correct this problem before correcting the next error in the
log, the trace output that is written to the file provides further details on the error.
You modify the path in the .bar file as follows:
__ 1. Open the Ex6a.bar file in the BAR File editor.
__ 2. Expand the configuration file (.cmf) until you see the list of nodes.
__ 3. Right-click the TraceExList node and click Configure.
__ 4. In the Properties view for TraceExList, change the path to
C:\labfiles\Lab06\ExListTrace.txt
__ 5. Save the BAR file.

© Copyright IBM Corp. 2013, 2014 Appendix A. Exercise solutions A-5


Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
Instructor Exercises Guide

__ 6. Redeploy the BAR file.


• The error message in the log shows that the message flow fails with a reason code 2085 when
it attempts to write to queue EX2_REPLYx, which does not exist. To correct this problem, you
must define this queue to the queue manager or modify the queueName property for the
EX2_REPLY node to a queue name that exists.
Again, if you corrected the trace node problem first and reran the message flow, you saw details
in the trace output that indicated the problem with the missing queue.

Scenario 2
This scenario is much more ambitious than the first, and it can be challenging to diagnose the
problem.
One hint is that a user trace is a valuable tool in recognizing what is happening. The idea in this
scenario is to deploy a message flow with instructions to the broker to start more instances if the
rate of messages to the input queue justifies it. However, the queue is set (through the running of a
script) to “open exclusive” mode, thus preventing more threads from being started.
Recognition of the problem is visible in a user trace where only one thread identifier is displayed,
repeatedly, rather than several different thread identifiers. The goal here is to isolate the problem to
a mismatch between the deployed message flow properties (specifically the Additional instances
property) and a conflicting queue property (the Open exclusive property).

A-6 Integration Bus System Administration © Copyright IBM Corp. 2013, 2014
Course materials may not be reproduced in whole or in part
without the prior written permission of IBM.
V9.0

backpg
Back page

You might also like