Sunteți pe pagina 1din 13

What is WebSphere Message Broker [WMB]

Message Broker (MB) introduction:


Application Connectivity
================
Application connectivity is about providing a way for application programs to interconnect, and allow
information to flow between them, without requiring the applications to be aware of the details of the
connection. Basic connectivity is the starting point for any integration solution. It provides the transport
on which information will flow.
There are many characteristics that distinguish different transport options, but when integrating across
heterogeneous environments and when dealing with applications that were not designed to
intercommunicate, there are several mandatory functions needed for success: assured delivery (and
persistence), once-only delivery, and asynchronous delivery. It is also essential that the transport be
capable of delivering any type of data: Extensible Markup Language (XML), SOAP, and proprietary
(when this makes the mostsense for a particular customers situation).
These functions are delivered through WebSphere MQ, the defacto standard for messaging
connectivity. WebSphere MQ can provide all an application needs provided the number of
applications being interconnected is small, two or three for example. But as the number of
applications being interconnected increases, additional application connectivity services are needed
to implement a more efficient and effective solution.

Message Brokering
============
When you are working in a large environment, message brokering functions are required.
Fundamentally, message brokers are used to centralize routing and transformation functions, and
these functions are essentially handled by a message flow. A message flow is a sequence of
operations performed on a message by a series of message processing nodes. The actions are
defined in terms of the message format, its content, and the results of individual actions along the
message flow.
Notice, however, that the flow is, as was the case with basic messaging, simply an extension of the
path from the source application to the destination application. In other words, it is assumed that the
destination wants, expects, and will handle all messages sent to it.
Basically, the Message Broker is a WebSphere MQ application that routes and transforms messages.
The WebSphere Message Broker consists of four components (Toolkit, configuration manager,
broker, and User Name Server) that communicate with each other using WebSphere MQ messages.
The format of this information is XML.
Message Broker ToolKit
===============
The WebSphere Message Brokers Toolkit is an integrated development environment (IDE) and
graphical user interface (GUI) based on the open source Eclipse platform. Application developers
work in separate instances of the Message Brokers Toolkit (also known as workbenches) to develop
message sets and message flows.
Tasks that can be performed using ToolKit
Definition of message flows
Definition and import of message definitions
Deployment of message flows and message sets to brokers
Control of log entries written during deploy
Start, stop, and trace of message flows running in brokers
Registering brokers in the configuration domai
Viewing and deleting subscriptions for publish/subscribe
Setting topic-based access control for publish/subscribe

Broker
====
A broker is a system service on Windows platforms, a daemon process on UNIX platforms, or a
started task on z/OS platforms. It controls processes that run message flows.
Applications often send messages to the broker using WebSphere MQ queues and connections. The
broker routes each message using the rules defined in message flows and message sets, which also
transforms the data into the structure required by the receiving applications.
Broker Domains
==========
A broker domain is one or more brokers that share a common configuration, together with the single
configuration manager that controls them. The configuration manager maintains all configuration
details about the brokers in its
domain within its internal
configuration repository.
Configuration Manager
===============
The configuration manager
functions as the interface between
toolkit instances, its internal
configuration repository, and a set
of brokers executing message
flows.
The configuration manager provides brokers with their initial configuration, and updates them with any
subsequent changes. It maintains the broker domain configuration. The configuration manager is the
central runtime component that manages the components and resources that constitute the broker
domain. Administrators typically install, create, and start a configuration manager for each broker
domain.
User name server
===========
The User Name Server is an optional component, needed only when topic-based access control for
publish/subscribe is desired or required.
Message Flows
==========
A message flow is really nothing more than a program created using graphical tools. The toolkit
component provides both the environment and tools to accomplish this task.

Whats new in WebSphere Message Broker v7
As per the IBM documentation, they say the following 4 are the main themes of Websphere message
broker v7 new features.
Simplicity and productivity
Universal connectivity for SOA
Dynamic operational management
Platforms, environments, and performance
Simplicity and productivity
Websphere Message Broker v7 (will be referred as WMB7 in this blog) has very few components
compared to v6x. fewer interacting components means fewer opportunities for failure. WMB7 has only
one component, that is Broker. Broker database, Config Mgr, User Name Server are no longer
required
Tools now connect directly to the broker, and do not use a configuration manager. This change

reduces the number of steps required for administrative tasks. and gives the tools direct access to
more configuration information.
mqsilist command can now work with remote brokers.
You can enable administrative security directly on the broker, which lets you decide who can read,
write, and execute on specific brokers and execution groups.
Brokers create and manage configuration data and deployed resources in an internal repository in the
local file system
Commands have been added to back up and restore broker configuration for the purposes of disaster
recovery. mqsi[backup|restore]broker
Publish/subscribe
Message Broker V7 uses WebSphere MQ V7.0.1 to handle publish/subscribe (pub/sub) requests,
which means that there is a single topic space and configuration for both products.
WebSphere MQ now handles all topic based publish / subscribe support. Applications use a single
topic space that is managed by WebSphere MQ. Access control is handled by the queue manager.
Broker Domains no longer exist. Default execution groups, which previous versions of Message
Broker required in order to run the pub/sub engine, are no longer used.
Message Broker Toolkit
A new Brokers view lets you administer local and remote brokers without using separate tools.
Integrated into the Application Development perspective, the Brokers view gives you quick access to
basic administration tasks while you are developing and testing Message Broker solutions. For
example, you can deploy message flows directly onto execution groups without having to build BAR
files or change perspectives, and deployment results are displayed synchronously in a new
Deployment log, which lets you quickly ensure that message flows are deployed and working as
expected.
The Message Broker Toolkit now also includes an Impact Analysis tool, which enables you to discover
interdependencies between Message Broker artifacts, such as when renaming an ESQL module.
Message Broker Explorer
The Message Broker Explorer is a new tool to facilitate the administration of broker environments.
As a plug-in to the WebSphere MQ V7.0.1 Explorer, it gives you a single, consistent management
console for both queue managers and brokers. Message Broker Explorer also gives you tools to
easily modify and tune your brokers.
The administrator can also view real-time performance information, including both message flow
performance (such as throughput rates), and the performance of the brokers resources (such as the
JVM).
Patterns Explorer
The WMB7 Toolkit contains a Patterns Explorer, which lets you browse available patterns for ones
that might be applicable to the current problem.
Universal connectivity for SOA

Websphere Process Server Support: WMB7 makes it easier for application connectivity logic to
interact with WebSphere Process Server using 5 newly introduced nodes. SCA Nodes Provide
improved interaction between WMB and WPS v6.2 using SOAP/HTTP or MQ Bindings.

PHP Support:
PHP Scripting support to allow message transformation and routing. PHP Compute Node, a
programmable node that can be used that to transform and route messages using PHP scripts.
EIS Connectivity Enhancements
The SAP, Siebel, and PeopleSoft nodes that were added in V6.1 enable these Enterprise Information
Systems to easily interact with the rest of the enterprise. Message Broker V7 improves these nodes
by making them easier to manage operationally.

New SAPReply node to send a reply to an SAP synchronous callout (SAP)
Generic IDoc Routing (SAP)
SCI support with SAP Reply node (SAP)

Eases promotion of SEBL and PSOFT message flows through Test, QA, Production lifecycle
New configurable service provides reconfiguration of key adapter node properties (Siebel/Peoplesoft)
Iterative Deployment to easily add new definitions to existing deployments (Siebel/Peoplesoft)
Sequence & Re-sequence Nodes
These new nodes in WMB7 help ensure the correct processing of messages in scenarios where
ordering is critical.
The Sequence node causes the broker to apply a sequence number to messages. The Resequence
node lets messages arrive in any order, but will only propagate messages in the correct order
Dynamic operational management
Audit and monitoring
Using the Message Broker Toolkit, or operationally from the command line, you can now specify when
you want events to occur and the content of those events, which can then be used to satisfy these
scenarios. Events are published on a well-known pub/sub topic using in a simple format that uses a
published schema. A message-driven bean (MDB) sample is provided that subscribes to these events
and makes them available to an instance of WebSphere Business Monitor.

Easily gain insight into application and service connectivity
Monitor tab on every MB node to generate events
Configure payload data, content style, identity, correlation & sequencing data
Operationally enable, disable, change event production: mqsichangeflowmonitoring command
Resource Statistics
WMB7 introduces a new framework for reporting resource utilization in the broker. This framework
helps you immediately understand broker behavior, and can be used for problem diagnosis and in
optimizing broker environments.

Allows operational personnel to understand behavior of deployed solutions
Reports comprehensive usage according of well known resources
Graphically reported through MB Explorer
Multi-instance brokers
WMB V7 utilizes the multi-instance queue manager support introduced in WMQ V7 to provide a HA
configuration with Active / Passive Brokers. Multi-instance brokers and QMGRs store their
configurations on shared network storage.
The feature works with WebSphere MQ in one of two ways. Each broker instance can be started as
an MQ service, so that when the queue manager fails over to the standby, the broker is automatically
started. Alternatively, the standby broker can be continually running in a semi-initialized state, waiting
for the associated standby queue manager and shared broker configuration to become available.
Platforms, environments, and performance
WMB7 broker is now exclusively 64-bit on all platforms, with the exception of the Windows and Linux
on x86 hardware, which remains 32-bit
Message Broker V7 requires WebSphere MQ V7.0.1, in order to take advantage of features such as
pub/sub, the MQ Explorer, and multi-instance queue managers
the broker uses a Java 6 JVM. In many scenarios, the 64-bit IBM J9 engine offers improved Java
performance, including reductions in start-up time and memory footprint.
Migration

Direct migration to Message Broker V7 is supported from Message Broker V6.0 and V6.1. V7 coexists
with previous versions, which means that V7 will run alongside and independently of your existing
version, thus eliminating the need for additional hardware while migrating.
Existing message flows and related files can be imported into and used by a Message Broker V7
Toolkit workspace
You can migrate brokers using the mqsimigratecomponents command, which moves an existing local
broker to V7, while retaining its deployed configuration.
Once a broker has been migrated to V7, the V7 tools can manage it directly.


WebSphere Message Broker (WMB) Nodes
Message broker nodes are used in Message flows. A message flow node is a processing step in a
message flow.
A message flow node receives a message, performs a set of actions against the message, and
optionally passes the message on to the next node in the message flow. A message flow node can be
a built-in node, a user-defined node, or a subflow node.
A built-in node is a message flow node that is supplied by WebSphere Message Broker. The built-
in nodes provide input and output, manipulation and transformation, decision making, collating
requests, and error handling and reporting functions.
A user-defined node is an extension to the broker that provides a new message flow node in
addition to those supplied with the product. It must be written to the user-defined node API provided
by WebSphere Message Broker for both C and Java languages.
A subflow is a directed graph that is composed of message flow nodes and connectors and is
designed to be embedded in a message flow or in another subflow. A subflow must include at least
one Input node or one Output node. A subflow can be executed by a broker only as part of the
message flow in which it is embedded, and therefore cannot be independently deployed.
A message flow node has a fixed number of input and output points known as terminals. You can
make connections between the terminals to define the routes that a message can take through a
message flow.
Input and output nodes define points in the message flow to which client applications send messages,
and from which client applications receive messages.Client applications interact with these nodes by
putting messages to, or getting messages from, the I/O resource that is specified by the node as the
source or target of the messages. Although a message flow must include at least one input node, it
does not need to include an output node.
Overview of all the nodes available in WMB v6.0, 6.1 and 7.0

Input Nodes:
MQInput
Use an MQInput node if the messages arrive at the broker on a WebSphere MQ queue, and the
node is to be at the start of a message flow.
MQGet
Use an MQGet node if the messages arrive at the broker on a WebSphere MQ queue and the node
is not to be at the start of a message flow.
SCADAInput
Use a SCADAInput node if the messages are sent by a telemetry device.
HTTPInput
Use an HTTPInput node if the messages are sent by a Web services client.
Real-timeInput or Real-timeOptimizedFlow
Use one of these nodes if the messages are sent by a JMS or multicast application. The Real-
timeInput node is an input node and the Real-timeOptimizedFlow node is a complete message flow
that provides a high performance publish/subscribe message flow.
JMSInput
Use a JMSInput node if the messages are sent by a JMS application.
User-defined input node
Use a user-defined input node if the message source is a client or application that uses a different
protocol or transport.
Input node
If you are creating a message flow that you want to embed in another message flow (a subflow)
that you will not deploy as a stand-alone message flow, you must include at least one Input node to
receive messages into the subflow.
Output Nodes:
Publication
Use a Publication node to distribute the messages using the publish/subscribe network for
applications that subscribe to the broker across all supported protocols.
MQOutput
Use an MQOutput node if the target application expects to receive messages on a WebSphere MQ
queue, or on the WebSphere MQ reply-to queue that is specified in the input message MQMD
MQReply
Use an MQReply node if the target application expects to receive messages on the WebSphere

MQ reply-to queue that is specified in the input message MQMD.
SCADAOutput
Use a SCADAOutput node if a telemetry device is the target of the output messages, and the
Publication node is not suitable.
HTTPReply
Use an HTTPReply node if the messages are in response to a Web services client request.
HTTPRequest
Use an HTTPRequest node if your message flow interacts with a Web service.
Real-timeOptimizedFlow
Use a Real-timeOptimizedFlow node if the target application is a JMS or multicast application.
JMSOutput
Use a JMSOutput node if the messages are for a JMS destination.
User-defined output node
Use a user-defined output node if the target is a client or application that uses a different protocol
or transport.
Output node
If you are creating a message flow that you want to embed in another message flow (a subflow)
that you will not deploy as a stand-alone message flow, you must include at least one Output node to
propagate messages to subsequent nodes that you connect to the subflow.
Nodes for manipulating, enhancing, and transforming messages
Compute
Use the Compute node to:
* Manipulate message content
* Transform the message in some way
* Interact with a database to modify the content of the message or the database and pass on one
or more new messages
JavaCompute
Use the JavaCompute node to:
* Examine an incoming message and, depending on its content, propagate it unchanged to one
of the nodes two output terminals. The node behaves in a similar way to a Filter node, but uses
Java instead of ESQL to decide which output terminal to use.
* Change part of an incoming message and propagate the changed message to one of the
output terminals.
* Create and build a new output message that is totally independent of the input message.
Mapping
Use the Mapping node to create a new message from the input message by mapping the content
of elements of the output message from elements of the input message, or from database content.
You can also extract parts of the message, and optionally change their content, to create a new
output message that is a partial copy of the message that is received by the node.
Database
Use the Database node to interact with a database that is identified by the node properties. The
Database node handles both predefined and self-defining messages.
DataDelete, DataInsert, DataUpdate
The DataDelete, DataInsert, and DataUpdate nodes are specialized forms of the Database node
that provide a single mode of interaction (deletion of one or more rows, insertion of one or more rows,
or update of one or more existing rows).
Warehouse
The Warehouse node provides a store interface that you can use to store all or part of the message
in a database
XMLTransformation
Use the XMLTransformation node to transform an input XML message into another format using
XSLT style sheets.
It, can perform the following actions:
* Sort the data
* Select data elements to include or exclude based on some criteria
* Transform the data into another format
JMSMQTransform
Use the JMSMQTransform node to transform a message with a JMS message tree into a message
that has a tree structure that is compatible with the format of messages that are produced by the
WebSphere MQ JMS provider.

MQJMSTransform
Use the MQJMSTransform node to receive messages that have a WebSphere MQ JMS provider
message tree format, and transform them into a format that is compatible with messages that are to
be sent to JMS destinations.
MQOptimizedFlow
Use the MQOptimizedFlow node to replace a publish/subscribe message flow that consists of an
MQInput node connected to a Publication node, and that uses the JMS over WebSphere MQ
transport.
User-defined
Use a user-defined node to handle specific requirements that are not met by the built-in nodes.
Decision making nodes
Validate
Use the Validate node to check that the message that arrives on its input terminal is as
expected.
Filter
Use the Filter node with an ESQL statement to determine the next node to which the message is
sent by this node.
FlowOrder
You can connect the terminals of this node to force the message to be processed by one sequence
of nodes, followed by a second sequence of nodes.
Passthrough
Use the Passthrough node to enable version control of a subflow at run time. Use this node to add
a label to your subflow.
RouteToLabel and Label
Use the RouteToLabel node following a Compute node for complex routing. Define a list of
destinations in a Compute node that are acted on by the RouteToLabel node, which interrogates the
destinations and passes the message on to the corresponding Label node.
ResetContentDescriptor
Use the ResetContentDescriptor node to set new message properties that are used when the
message bit stream is next parsed by a subsequent node in the message flow.
Nodes for controlling time-sensitive operations
TimeoutControl
Use a TimeoutControl node and a TimeoutNotification node together in a message flow to control
events that occur at a specific time or at defined time intervals. The TimeoutControl node receives an
input message that contains a timeout request. All or part of this input message is validated and
stored to be propagated by an associated TimeoutNotification node in the message flow. The input
message is also propagated unchanged to the next node in the message flow.
TimeoutNotification
Use a stand-alone TimeoutNotification node to generate messages that are propagated at
configured times or time intervals to the next node in the message flow for further processing.
Nodes for collating requests
Use the AggregateControl, AggregateReply, and AggregateRequest nodes to collate related
requests and responses. Use these nodes to generate several requests in response to one input
message, to control and coordinate the responses that are received in response to those requests,
and to combine the information that is provided by the responses to continue processing.
Error handling and reporting nodes
Trace : Include a Trace node to generate one or more trace entries to record what is happening in
the message flow at this point.
TryCatch: Include a TryCatch node to control the error processing when exceptions are thrown.
Throw: Include a Throw node to force an exception to be thrown, and specify the identity of the
exception, to make it easier to diagnose the problem.
New nodes in v6.1
File and FTP nodes
FileInput node reads files from the local file system or FTP server
FileOutput node writes files to the local file system or FTP server
Route, database route nodes:
The new Route node provides a graphical technique to enable incoming requests to be examined,
and flow sent down the appropriate part of the message flow, depending on the specified criteria.

The DatabaseRoute node provides a similar function to the Route node, but the routing decision is
based on the contents of a relational database.
DatabaseRetrieve node enables data to be retrieved from one of more relational databases, and use
a similar dialogue to the DatabaseRoute node.
New nodes in V7
V7 introduced new nodes for SCA (service component architecture). These are nodes are basically
for use with websphere process server which uses SCA.
SCA Input Node: A WebSphere Process Server SCA Import component can use Message Broker as
an SCA endpoint. The message received by the broker can be a SOAP over HTTP message or an
MQ message on a queue, depending on the binding used by the node.
SCA Reply Node: This allows a response message to be sent from the broker back to the originating
Process Server SCA client, in response to a prior message received by an SCA Input Node.
SCA Request Node: This allows synchronous requests to be made from the broker, allowing the
broker to participate in synchronous message exchange patterns with a Process Server SCA export
component. The message sent by the broker can be a SOAP message over HTTP, or an MQ
message, depending on the binding used by the node. The node will perform a blocked wait for a
specified time period until a response is received.
Backup and Restore WebSphere Message Broker domain
Back up the domain
1. Before taking the back up of the domain, you need to stop the config manager and broker.
mqsistop Config_Manager
mqsistop Broker
mqsistop UserName_Server
2. Back up the configuration manager
mqsibackupconfigmgr Config_Manager -d Backup_direcotry BIP1075I: Creating backup archive
for Configuration Manager Config_Manager in directory xyz
BIP1017I: A backup archive called Config_Manager_100507_002836.zip was created
successfully.
BIP8071I: Successful command completion.
3. service.properties file to the backup directory. This is necessary if you want to backup and restore
the actual configuration manager repository. It must be kept with the zip file you have created.
4. Back up the broker database also with the help of DBA
Restoring the domain:
Lets just imagine that youve deleted the config manager.
1. Now create the config manager with same name
mqsicreateconfigmgr Config_Manager -i username -a password -q QM_name -w PATH
2. Now, run the restore command
mqsirestoreconfigmgr Config_Manager -d backup_directory -a backup_file_name -w PATH
3. After the restore is completed, Start the config manager and broker.
mqsistart Config_Manager
mqsistart Broker
4. Verify, whether the domain is properly restored by going to the Message Brokers Toolkit,
connecting to the domain and attempting to stop and then start one of the message flows. Be sure to
check you Event Log to ensure everything worked properly

WebSphere Message Broker (WMB) Quick reference guide
A quick reference for all WMB commands to perform day-to-day activities like create, modify, delete
different components of message broker
[brokers, configuration manager, usernameserver, execution groups, security, deployment
and db]
Settings up Command environment:
Run mqsiprofile script
Running Commands:
Commands must be lower case
Component names case sensitive
Start/Stop/Delete Broker:
Start: mqsistart BrokerName
Stop: mqsistop BrokerName


q after name stops associated queue manager
i after name stops immediately
Delete: mqsideletebroker BrokerName [options]
Note: Broker must be stopped before it can be deleted
Start/Stop/Delete Configuration Manager:
Start: mqsistart ConfigMgrName
Stop: mqsistop ConfigMgrName
q after name stops associated queue manager
Delete: mqsideleteconfigmgr [ConfigMgrName] [options]
n flag to delete configuration repository
-w flag deletes all files in the configuration managers work path
Start/Stop/Delete UserNameServer:
Start: mqsistart UserNameServer
Stop: mqsistop UserNameServer
q after name stops associated queue manager
Delete: mqsideleteusernameserver [options]
q after name deletes associated queue manager
w after name deletes all files in the work path associated with the User Name Server
Specifying Username and password:
You can specify the following flags along with the commands
i userid
a password
If you leave, -a flag black; it will prompt you for password.
Changing Broker
mqsichangebroker BrokerName [options]
-s User Name Server queue manager name
-j Enable publish/subscribe for the broker
-d Disable publish/subscribe for the broker
-t Run the broker as a trusted MQ application
-n Stop running the broker as a trusted MQ application
-g Configuration timeout maximum time for response from an execution group
-k Configuration delay timeout maximum time for response from a broker
Changing Configuration Manager
mqsichangeconfigmgr [ConfigMgrName] [options]
-s User Name Server queue manager name
-j Maximum Java virtual machine heap size in megabytes. The default is 128.
Changing User name server
mqsichangeusernameserver [options]
-r Refresh interval being the amount of time before the User Name Server interrogates
the security subsystem for changes to users or groups
-g The name of the authentication data source
-j Indicates use of a data source containing users and group information instead of
using the operating system
-o Indicates use of the operating system users and group information
Note: before executing above change commands, the respective component must be stopped.
Execution Groups:
Create: mqsicreatexecutiongroup [options]
Delete: mqsideleteexecutiongroup [options]
-i host
-p port number of the Configuration Manager-q Config Manager QM
-q queue manager of Configuration Manager
-b Broker name
e Execution group name
-w timeout
- v tracefile name
Start: mqsistartmsgflow [options]
Stop: mqsistopmsgflow[options]
-i host
-p port number of the Configuration Manager-q Config Manager QM

-q queue manager of Configuration Manager
-b Broker name
e Execution group name
-m specific flow within the execution group
-w timeout
- v tracefile name
Report message flow statistics: mqsireportflowstats broker_name [options]
-e ExecutionGroupName
-f MessageFlow
-a Specify that the command modifies archive accounting and statistics collection.
-s Specify that the command modifies snapshot accounting and statistics collection.
-g Specifies that the command applies to all execution groups that belong to the broker.
-j Specifies that the command applies to all message flows that belong to the execution group.
Change message flow statistics: mqsichangeflowstats [options]
-e ExecutionGroupName
-f MessageFlow
-a Specify that the command modifies archive accounting and statistics collection.
-s Specify that the command modifies snapshot accounting and statistics collection.
-g Specifies that the command applies to all execution groups that belong to the broker.
-j Specifies that the command applies to all message flows that belong to the execution group.
-o OutputFormat; usertrace/xml
Deploy:
mqsideploy [options]
-p port number of the Configuration Manager
-q queue manager of Configuration Manager
-b Broker
-e Execution Group
-a BAR file
-w Timeout
Listing resources
mqsilist [options]
- a List all the components
- brokerName The name of the broker for which you want to list resources
- e egName selects an execution group within a broker
Security Commands
Create ACL: mqsicreateaclentry ConfigmgrName [options]
List ACL entries: mqsilistaclentries [options]
Delete ACL entries: mqsideleteaclentries [options]
-g GroupName The local group to which this entry refers
-u UserName The user name to which this entry refers
-m MachineName The name of the machine from which a specified user can connect.
-a The specified user name can be on any machine.
-x AccessLevel
F: Full control
D: Deploy
E: Edit
V: View
-b Broker
-e ExeGroup, You must specify the b flag if you specify this flag.
-s Subscription The object is a subscription object, and its name is specified as a parameter.
-r The object refers to the root topic.
-t The object refers to the main topology.
-p The object refers to the allresources resource type
Backup/Restore Commands
Backup: mqsibackupconfigmgr ConfigMgrName d DirPath [options]
Restore: mqsirestoreconfigmgr ConfigMgrName d DirPath a ArchiveName [options]
-w WorkPath Specifies the path for the Configuration Manager repository
Problem Determination
Trace
Report Trace: mqsireporttrace [options]

Change Trace: mqsichangetrace [options]
-componentName The name of a broker, a Configuration Manager, or the fixed name User Name
Server;
-e egName The label of the execution group for which a report is required. This option is valid only if
you have specified a broker as the component.
-f messageFlow The label of the message flow for which a report is required. This option is valid only
if you have specified a broker as the component, and an execution group.
-u Derive report information from the user trace.
-t Derive report information from the service trace.
-b Request a report for agent function.
-n Report the setting of the Trace node switch.
Read Trace: mqsireadlog BrkName [options] o Output_file
-e Egroup
-o Outputfilename
-f Read the log file directly from the file system
-u Read the log contents from the user trace log.
-t Read the log contents from the service trace log.
Format Trace: mqsiformatlog i input_file -o Output_file
Publish/subscribe commands
Add, remove, and list MQ publish/subscribe broker network
Add: mqsijoinmqpubsub Broker_name [options]
-p ParentQueueManagerName, The name of the queue manager that hosts the WebSphere MQ
Publish/Subscribe broker to which this WebSphere Message Broker broker is to be joined
Remove: mqsiclearmqpubsub Broker_name [options]
-n NeighborQueueManagerName, The name of the queue manager that hosts the WebSphere MQ
Publish/Subscribe broker for which the association as a neighbor is being removed.
List: mqsilistmqpubsub Broker_name
Database commands
CreateDB:
(windows) mqsicreatedb DBName [options]
-i ServiceUserID, The user ID under which the DatabaseInstanceMgr service runs
-a ServicePassword, The password for the ServiceUserID
-p PortNumber, The TCP/IP port number that this component will use on the local machine
-e DbType
-u DbUserID, An additional user name that requires access to the database that is created by this
command.
(unix/Linux) mqsi_setupdatabase [options]
-Database_Home_Directory, The name of the directory in which the database is (or will be) installed
Change user ID andpassword information
mqsisetdbparms BrokerName [options]
-n ResourceName or AdapterName
-u UserId or EISUserId
-p Password
-d This parameter deletes the user ID and password pair for this resource from the registry.
-a Specify this parameter to process the mqsisetdbparms command when the broker itself is running.

Working with WebSphere Message Broker Toolkit
Note: im writing this, assuming that youd already setup the message broker environment and
installed toolkit. If not, please refer to the old posts on message broker on this blog, to know how to do
it.
Now, we have Websphere message broker installed and the environment is setup. we created a
broker, configuration manager and user name server. Also installed Message broker toolkit. Now we
want to know, what as an administrator can we do from Message broker toolkit.
yes, as you might have read or know, Message broker toolkit [will referred as toolkit in this article] has
2 prespectives.
1. Development prespective
For developing, editing and changing message flows and message sets.
2. Administration prespective.
for administration of brokers, domains etc..

for this tutorial, we work in the administration prespective.
From the toolkit menu bar
Click Window > Open Perspective > Broker Administration
create a broker domain
1. for this first, Create a connection to the configuration manager created earlier.
In the Broker Administration Navigator view, right-click in the Domain area and select New > Domain
2. now the wizard will as you for some inputs.Give them, reffering to the configiuration manager.
Queue Manager name, Host, Port etc
3. Now give server project name and Connection name.
your connection name appears in toolkit as choosen_name.configmgr
4. You may be asked Do you want to create a new Server project with the name xyz, click Yes
5. click Finish.
Connecting to broker domain
1. In the tooklit, under domainsselect the domain which you creatd above.
2. Verify, wether it is in connected state or not connected
3. If not connected
Right click on the broker domain connection entry and select connect from the drop down list.
4. Once the connection was made, you can see the status changing to connected
Now, youve defined a new broker domain and connected successfully to it. The next step is to get the
brokers under it.
Registering Brokers
In this step, we register the broker with the configuration manager
1. Right click on the domain connection entry and select broker>new
note: even though it is shown as new, we are not creating new broker but just connecting existing
broker to this domain.
2. Now, enter the dialog boxes that appers
Broker name, Broker Queue Manager name,
3. Select Finish and in the next window select either Delta or Complete deploy.
4. Verify the deploy log. [double click the event log under domains view]
5. Once it is Finished, you can see, your broker under the broker topology. also if you have any
execution groups which were already defined in broker, they will be shown under the broker.
Now we have broker domains and a broker inside it. Let us try deploying an broker archive.
Deploying a Message flow with a BAR file
1. Expand the broker archive in the broker administration prespective of the toolkit
2. Import the broker archive [.bar] file using menu ->file Import ->filesystem
3. Once the file was located, browse and select the server project [which you specified while creating
broker domain]
4. Click OK and Finish
5. Now, your BAR file appear under server project.
6. Now right click on the BAR file and select deploy file.
7. Select the target [execution group] and finish
Once successfully deployed, you can see under the execution group which was under broker. You
can also verify the event log, through out this process.
Now, you have a Broker domain -> A broker ->execution group ->a Message flow. Voila, we are
done with this tutorial.

Response files for WMB installation
If you want to install or uninstall in silent mode and you want to use values other than the defaults,
you can pass a response file to the program. A response file is a text file that contains options that
define the choices that the wizard makes.
using Response Files, you can:
* Specify a non-default installation location
* Choose a custom installation (typical is the default) (runtime components only)
* Choose which components to install (runtime components only)
* Specify if the program is to check for prerequisite software (runtime components only)
Sample response files
Sample response files are supplied with WebSphere Message Broker. Use these response files when
install/uninstalling the product. The sample response file includes detailed information about the
options that you can change, and the values you must enter to change them. You can tailor this file to
your requirements. The sample response files are located in the sample_scripts directory of root

directory.
Generating response files
Use the following command to generate a template installation response file without installation being
performed:
installer -options-template response file
The generated template response file contains full instructions on how to edit it to specify your
required options. Installation is not performed. You can edit the file to change the options to define the
operation that you want to be performed.
Recording a response file
Use the following command to record a response file during installation:
installer -options-record response file
The installation wizard starts in graphical mode, and requires your input as it progresses. Your
responses are recorded during installation. When installation is complete, the response file contains
all the choices you have made during installation.
If you want to record a response file during a console mode installation, use the following command:
installer -options-record response file -console
Calling response files in commands
To run a program specifying the silent options and the response file that you want to use, use the
following command:
installer -options responsefile -silent
The program runs without interaction according to the options selected when you recorded the
response file.
Note:
Substitute the installer with the appropriate name
Platform Installation program
--------------------------------------
AIX setupaix
HP-UX on Itanium setuphpia64
HP-UX on PA-RISC setuphp
Linux on POWER setuplinuxppc
Linux on x86 setuplinuxia32
Linux on System z setuplinux390
Solaris on SPARC setupsolaris
Solaris on x86-64 setupsolarisx64.
WMB interview questions
1. What are advantages of using message broker?
2. Why do you need message broker when you have MQ?
3. Tell me few difference between v6.0 and v6.1?
4. What is message flow?
5. What are the main 3 components of Message Broker?
6. What are broker domains?
7. What is the interface betweem Toolkit, internal configuration and brokers?
8. What are nodes in message flows?
9. What happens to the running brokers, if configuration manager is down?
1. How do you create broker database in Windows/Linux (commands)
2. Where can you find the default odbc32.ini file? (location)
3. What are the 3 important parts of the odbc32.ini file ?
4. what happens, if you do not create the required Qs in MQ before running mqsicreate commands?
5. What is the command to create a broker?
6. on mqsicreatebroker command what does the parameter -j specifies?
7. What does -s parameter specifies on mqsicreateconfigmgr command
8. How do you change ConfigurationTimeout and ConfigurationDelayTimeout for a given broker?
9. What does mqsilist command do ?
10. After finishing installation and starting the components, where do you check the logs to see the
most recent events.
11. How do you initilize the environment before starting the broker components?
12. How can you add additional environment settings/scripts to the broker environment? or where do
place the custom scripts that needs to be sourced while initilizing the broker environment.
13. If you cannot update mqsiprofile for database related information, In what other way can we
supply the required information to the broker environment .

S-ar putea să vă placă și