Sunteți pe pagina 1din 36

Sagar Thanneru's Blog

IBM WMB
IBM WEB SPHERE MESSAGE BROKER

What is WebSphere Message Broker [WMB]

Message Broker (MB) introduction:


Application Connectivity:
Application connectivity is about providing a way for application programs to in
terconnect, and allow information to flow between them, without requiring the ap
plications to be aware of the details of the connection. Basic connectivity is t
he starting point for any integration solution. It provides the transport on whi
ch 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), onc
e-only delivery, and asynchronous delivery. It is also essential that the transp
ort be capable of delivering any type of data: Extensible Markup Language (XML),
SOAP, and proprietary (when this makes the mostsense for a particular customer s
situation).
These functions are delivered through WebSphere MQ, the standard for messaging c
onnectivity. WebSphere MQ can provide all an application needs provided the numb
er of applications being interconnected is small, two or three for example. But
as the number of applications being interconnected increases, additional applica
tion connectivity services are needed to implement a more efficient and effectiv
e solution.
Message Brokering
When you are working in a large environment, message brokering functions are r
equired. Fundamentally, message brokers are used to centralize routing and trans
formation functions, and these functions are essentially handled by a message fl
ow.
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 mes
sage format, its content, and the results of individual actions along the messag
e 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 applicat
ion. 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 W
ebSphere 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 platfor
m. Application developers work in separate instances of the Message Brokers Tool
kit (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 plat
forms, or a started task on z/OS platforms. It controls processes that run messa
ge flows.
Applications often send messages to the broker using WebSphere MQ queues and con
nections. The broker routes each message using the rules defined in message flow
s and message sets, which also transforms the data into the structure required b
y the receiving applications.
Broker Domains
A broker domain is one or more brokers that share a common configuration, togeth
er with the single configuration manager that controls them. The configuration m
anager maintains all configuration details about the brokers in its domain withi
n 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 fl
ows.
The configuration manager provides brokers with their initial configuration, and
updates them with any subsequent changes. It maintains the broker domain config
uration. 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 dom
ain.
User name server
The User Name Server is an optional component, needed only when topic-based acce
ss control for publish/subscribe is desired or required.

Message Flows
A message flow is really nothing more than a program created using graphical too
ls. The toolkit component provides both the environment and tools to accomplish
this task.

WebSphere Message Broker (WMB) Nodes


Message broker nodes are used in Message flows. A message flow node is a proces
sing step in a message flow.
A message flow node receives a message, performs a set of action
s 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 nod
e, or a subflow node.
A built-in node is a message flow node that is supplied by WebSphere Message Br
oker. The built-in nodes provide input and output, manipulation and transformati
on, decision making, collating requests, and error handling and reporting functi
ons.
A user-defined node is an extension to the broker that provides a new message f
low node in addition to those supplied with the product. It must be written to t
he user-defined node API provided by WebSphere Message Broker for both C and Jav
a languages.
A subflow is a directed graph that is composed of message flow nodes and connect
ors and is designed to be embedded in a message flow or in another subflow. A su
bflow 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, a
nd therefore cannot be independently deployed.
A message flow node has a fixed number of input and output points known as termi
nals. 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 applica
tions send messages, and from which client applications receive messages.Client
applications interact with these nodes by putting messages to, or getting messag
es 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, i
t 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 q
ueue, 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 que
ue 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 applic
ation.
The Real-timeInput node is an input node and the Real-timeOptimizedFlo
w node is a complete message flow that provides a high performance publish/subsc
ribe 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 applicati
on 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 mu
st 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/subscrib
e network for applications that subscribe to the broker across all supported pro
tocols.
MQOutput
Use an MQOutput node if the target application expects to receive messages o
n 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 mes
sages, and the Publication node is not suitable.
HTTPReply
Use an HTTPReply node if the messages are in response to a Web services clie
nt 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 mult
icast 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 mu

st include at least one Output node to propagate messages to subsequent nodes th


at 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 d
atabase and pass on one or more new messages
JavaCompute
Use the JavaCompute node to:
* Examine an incoming message and, depending on its content, propagate i
t unchanged to one of the node s two output terminals. The node behaves in a simil
ar way to a Filter node, but uses Java instead of ESQL to decide which output ter
minal to use.
* Change part of an incoming message and propagate the changed message t
o one of the output terminals.
* Create and build a new output message that is totally independent of t
he input message.
Mapping
Use the Mapping node to create a new message from the input message by mappi
ng the content of elements of the output message from elements of the input mess
age, or from database content. You can also extract parts of the message, and op
tionally 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 mes
sages.
DataDelete, DataInsert, DataUpdate
The DataDelete, DataInsert, and DataUpdate nodes are specialized forms of th
e Database node that provide a single mode of interaction (deletion of one or mo
re 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 anothe
r 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 i
nto a message that has a tree structure that is compatible with the format of me
ssages 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 compatib

le with messages that are to be sent to JMS destinations.


MQOptimizedFlow
Use the MQOptimizedFlow node to replace a publish/subscribe message flow tha
t 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 te
rminal is as expected.
Filter
Use the Filter node with an ESQL statement to determine the next node to whi
ch the message is sent by this node.
FlowOrder
You can connect the terminals of this node to force the message to be proces
sed 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. Defi
ne a list of destinations in a Compute node that are acted on by the RouteToLabe
l node, which interrogates the destinations and passes the message on to the cor
responding Label node.
ResetContentDescriptor
Use the ResetContentDescriptor node to set new message properties that are u
sed when the message bit stream is next parsed by a subsequent node in the messa
ge flow.
Nodes for controlling time-sensitive operations
TimeoutControl
Use a TimeoutControl node and a TimeoutNotification node together in a messa
ge flow to control events that occur at a specific time or at defined time inter
vals. 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 propaga
ted by an associated TimeoutNotification node in the message flow. The input mes
sage is also propagated unchanged to the next node in the message flow.
TimeoutNotification
Use a stand-alone TimeoutNotification node to generate messages that are pro
pagated at configured times or time intervals to the next node in the message fl
ow 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 ide
ntity 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, depen
ding on the specified criteria.
The DatabaseRoute node provides a similar function to the Route node, but the ro
uting decision is based on the contents of a relational database.
DatabaseRetrieve node enables data to be retrieved from one of more relational d
atabases, and use a similar dialogue to the DatabaseRoute node.
New nodes in V7
V7 introduced new nodes for SCA (service component architecture). These are node
s 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 t
o the originating Process Server SCA client, in response to a prior message rece
ived by an SCA Input Node.
SCA Request Node: This allows synchronous requests to be made from the broker, a
llowing 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 S
OAP message over HTTP, or an MQ message, depending on the binding used by the no
de. The node will perform a blocked wait for a specified time period until a res
ponse is received

What is MQ?
MQ stands for Message queuing. MQ allows application programs to use the message
queuing to participate in message-driven processing.
what are the advantages of MQ?
Integration
Asynchrony
Assured delivery
Scalability
What is the format of the command "dspmqver"?
Version.release.modification.fixpack. 6.0.2.7
What is a user exit in terms of MQ?
Using these user exits, we can insert our code into the queue manager function.
What are the logging configuration files?
mqs.ini - config file for mq level settings
qm.ini - config file for queue manager level settings
What is the algorithm used in MQ for ensuring integrity?
Log write integrity is the algorithm used to ensure integrity. This can be chang
ed in QM config file

When a queue manager starts, what are the default components that start with the
Queue manager?
The Queue Manager task:
LOGGER-IO
ERROR-LOG
CHECKPOINT
ASYNCQ
EXPIRER
STATISTICS

What is the communication protocol used by MQ Explorer to connect to the remote


QMs?
TCP/IP Protocol
What is a Channel?
Channel can be depicted as a pipe/connection for communication between queue man
agers to exchange messages.
What are various types of channels in MQ v6?
Sender(SDR)
Receiver(RCVR)
Cluster Receiver(CLUSRCVR)
Cluster Sender(CLUSSDR)
Server(SVR)
Requester(RQSTR)
Client Connection(CLNTCONN)
Server connection(SVRCONN)
What is the purpose of Channel Initiator in MQ?
monitor the system-defined initiation queue SYSTEM.CHANNEL.INITQ
Channel Listener - listens for any incoming network requests and starts the appr
opriate receiver channel.
What are the types of Queues available in MQ V6?
Local
Alias
Remote
Model - dynamic queues that are created on the fly by the applications
Cluster queue
What are the types of logging in MQ?
Circular -lc
Linear - ll
Inorder to instruct Websphere MQ to advance/write to a new linear log, "RESET QM
GR TYPE(ADVANCELOG)"

In order to recover a queue from a media failure, what type of logging combined
with messaging should be?
ans. Linear logging with persistent messaging
Name the log control file in MQ v6?
Log control file is amqhlctl.lfh
Default location of logs
UNIX: /var/mqm/log/
Windows: C:\Program Files\IBM\WebSphere MQ\log\
Log Defaults in UNIX:
LogPrimaryFiles=3
LogSecondaryFiles=2
LogFilePages=1024
LogType=CIRCULAR
LogBufferPages=0
LogDefaultPath=/var/mqm/log
What is a dead-letter queue handler? How do you invoke it?
runmqdlq - command to start the DLQ handler(monitor & handle messages in DLQ)
dead letter queue handler can be used to both select a message and perform vario
us actions on that message. The runmqdlq command takes its input from stdin. Whe
n the command is processed, the results and a summary are put into a report that
is sent to stdout. By taking stdin from the keyboard, you can enter runmqdlq ru
les interactively.
What is a MCA?
A Message Channel Agent(MCA) - sits at each end of the channel controlling the s
ending and receiving messages. MCA takes the messages from the transmission queu
e and puts them on the communication link(channel) between the queue managers.
What is an Initiation queue?
Queues that are used in triggering. A message is put by the queue manager on the
initiation queue when the trigger event occurs
What is a Command Server in Websphere MQ z/OS?
Command Server is a component of Websphere MQ that works with command processor
component.
Reads messages from system-command input queue, verifies them, passes the valid
ones as commands to the command processor
command processor processes the message and replies back to the reply-to queue t
hat is specified.
System command input queue -> SYSTEM.COMMAND.INPUT
SYSTEM.ADMIN.COMMAND.QUEUE
reply-to queue -> SYSTEM.COMMAND.REPLY.MODEL
Security/Authorization
Authorization for using MQI calls, commands and access to objects is provided by

the Object Authority Manager (OAM). The setmqaut command is used to grant or revo
ke authorizations as required.
A security refresh is required after setmqaut commands are issued. This can be d
one by recycle of QMGR to refresh the security cache or
by runmqsc command refresh security(*) all
dspmqaut and dmpmqaut can be used to view authorities.
Stopping queue managers in WebSphere MQ for Windows
To stop a queue manager running under WebSphere MQ for Windows:
List the names (IDs) of the processes currently running using the Windows Pr
ocess Viewer (PView)
Stop the processes using PView in the following order (if they are running):
AMQZMUC0
Critical process manager
AMQZXMA0
Execution controller
AMQZFUMA
OAM process
AMQZLAA0
LQM agents
AMQZLSA0
LQM agents
AMQZMGR0
Process controller
AMQZMUR0
Restartable process manager
AMQRMPPA
Process pooling process
AMQRRMFA
The repository process (for clusters)
AMQZDMAA
Deferred message processor
AMQPCSEA
The command server
AMQXSSVN
Shared memory servers
AMQZTRCN
Trace
Stop the WebSphere MQ service from Services on the Windows Control Panel.
If you have tried all methods and the queue manager has not stopped, reboot
your system.
Stopping queue managers in WebSphere MQ for UNIX systems
To stop a queue manager running under WebSphere MQ for UNIX systems:

Find the process IDs of the queue manager programs that are still running us
ing the ps command. For example, if the queue manager is called QMNAME, use the
following command:
ps -ef | grep QMNAME
End any queue manager processes that are still running. Use the kill command
, specifying the process IDs discovered using the ps command.
End the processes in the following order:
amqzmuc0
Critical process manager
amqzxma0
Execution controller
amqzfuma
OAM process
amqzlaa0
LQM agents
amqzlsa0
LQM agents
amqzmgr0
Process controller
amqzmur0
Restartable process manager
amqrmppa
Process pooling process
amqrrmfa
The repository process (for clusters)
amqzdmaa
Deferred message processor
amqpcsea
The command server
Note: Processes that fail to stop can be ended using kill -9.
If you stop the queue manager manually, FFSTs might be taken, and FDC files plac
ed in /var/mqm/errors. Do not regard this as a defect in the queue manager.
The queue manager should restart normally, even after you have stopped it using
this method

WebSphere Message Broker Interview Questions


Q:
What exactly do you understand by message broker??
A:
A Message Broker is an intermediary program that helps communicating multiple sy
stem to each other by transforming, routing the messages in the way they need.

Q:
Why do we require message broker when we have MQ?
A:
Both message broker and mq works as middleware programs, that is to help communi
cating different systems, but mq has a slight drawback that it cannot transform
the messages. It can just send the message to other system.

Q:
What is the difference between Message Broker and MQ?
A:
WebSphere MQ facilitates communication between applications by sending and recei
ving message data via messaging queues. WebSphere MQ provides a secure and relia
ble layer of transport for moving data unchanged in the form of messages between
applications but it is not aware of the content of the messages.
WebSphere Message Broker is built to extend WebSphere MQ, and it is capable of u
nderstanding the content of each message that it moves through the Broker. Messa
ge Broker can do the following:
Matches and routes communications between services
Converts between different transport protocols
Transforms message formats between requestor and service
Identifies and distributes business events from disparate sources.

Q:
What are the advantages of using Websphere message broker?
A:
Websphere message broker provides services, based on message brokers to allow yo
u to:
Route a message to several destinations, using rules that act on the content
s of one or more of the fields in the message or message header.
Transform a message, so that applications using different formats can exchan
ge messages in their own formats.
Store a message, or part of a message, in a database.
Retrieve a message, or part of a message, from a database.
Modify the contents of a message; for example, by adding data extracted from
a database.

Q:
What all are the main components used in Message Broker?
A:
The main components used in Message Broker Name Server are
User Name Server
Configuration Manager
Broker

Q:
What do you understand by Broker Domain?
A:
Group of brokers under a single configuration manager constitute a Broker Domain
.

Q:
What is the significance of nodes in message flows?
A:
A message flow node receives a message, performs a set of actions against the me
ssage, passes the original message or the changed message, to the next node in t
he message flow.

Q:
If configuration manager is down, what are the effects on the running brokers?
A:
The running broker will also be down at the moment when configuration manager is
down.

Q:
How can we create broker?
A:
Two ways to create broker:
By using Websphere Message Broker Explorer.
By using command prompt.

Q:
What is the command use to create broker?
A:
mqsicreatebroker is the command used to create broker.

Q:
What is User name Server?
A:
The User Name Server is an optional runtime component that provides authenticati
on of users and groups and give an administrative control over who can publish a
nd who can subscribe operations.

Q:
What is the Role of Username server?
A:
The User Name Server interfaces with operating system facilities to provide info
rmation about valid users and groups in a broker domain.

Q:
Can a single queue manager have two brokers?
A:
No a single queue mnager cannot have two brokers.

Q:
With Which command one can deploy the bar files?
A:
Using the mqsideploy command one can deploy the bar files.

Q:
What is the difference between a Root and OuputRoot?

A:
Root is used in the Database content changing and in Filter node.
Output Root is used in the ESQL code for a Compute node that creates a new outpu
t message based on the input message

Q:
What is the Use of Configmanager?
A:
To Connect to the remote broker or local broker and to deploy the message flows
onto the Broker.

Q:
Which perspective you used to deploy the flow?
A:
Administrator perspective is used to deploy the flow.

Q:
What do you understand by EAI? Name some EAI tools?
A:
Enterprise Application Integration refers to the integration of one or more appl
ications and processes together.
Tools: WBI Message Broker, Tibco, WebMethods and ICS

Q:
What are the Features of Message Broker?
A:
WMB has many features, The main features are :
Routing
Transformation and
Integration

Q:

What do you mean by an Execution Group?


A:
An execution group is a named grouping of message flows that have been assigned
to a broker. The broker enforces a degree of isolation between message flows in
distinct execution groups by ensuring that they execute in separate address spac
es, or as unique processes.

Q:
What is the significance of SCHEMA in message broker?
A:
A broker schema is a symbol space that defines the scope of uniqueness of the na
mes of resources defined within it. The resources are message flows, ESQL files,
and mapping files.

Q:
What are the perspectives you have mainly used while development in message brok
er?
A:
The perspectives mainly used while the development in message broker are
Administration Perspective
Application Development Perspective
Debugging Perspective
Java Perspective (MB 6)

Q:
What is the significance of message flows in message broker?
A:
A message Flow describes the sequence of steps followed in the broker that proce
sses an input message when an input message is received.

Q:
What is PARSER?
A:
A Parser is a program that takes the incoming message, interprets its bit stream
and creates an internal representation of it in a tree like structure, which ca
n be then understand by message broker assembly.

Q:
What is a Format?
A:
Physical Representation of a message is a Format.

Q:
What you do to make your services actually run?
A:
Packaging services in a BAR file and deploy the BAR file on the broker.

Q:
What is a BAR?
A:
Broker Archive or BAR is a package of message flows, message sets, java utility
classes, xslts etc. that are grouped together to be deployed on the broker.

Q:
Which command is used to create a BAR?
A:
mqsipackagebar command.

Q:
What does mqsiapplybaroverride command do?
A:
The mqsiapplybaroverride command is used to replace configurable values in the b
roker archive (BAR) with new values that you specify in a properties file.

Q:
Which nodes in WMB supports aggregation?
A:
AggregateControl

AggregateRequest
AggregateReply

Q:
Is it possible to create multiple instances of a message flow?
A:
Yes. We can create multiple instance of a message flow by deploying the message
flows to different execution group.

Q:
What is a logical message tree?
A:
Logical message tree is the internal representation of a message.

Q:
What are the types of Trees?
A:
Four sub tree of a logical tree created by input node of a message flow:
Message tree
Environment tree
Local Environment tree
Exception List tree.

Q:
What is the purpose of a filter node?
A:
The purpose of a filter node is to route a message based on the content dynamica
lly

Q:
What are the types of TRACES?
A:

User trace
Service trace.

Q:
What are the Types of Queues, one can create in MQ?
A:
Local queue
Remote queue
Transmission queue
Alias queue
Dead letter queue

Q:
What are the types of clients in MQ?
A:
There are two types of clients in MQ
Fat Clients: Does have a local queue manager.
Slim clients: Does not have a local queue manager, whereas the queue manager res
ide on the server.

Q:
With which all nodes one can change message in a message flow?
A:
Compute Node, Message Mapping Node, Filter Node, ResetContentDescriptor Node ca
change message in a message flow.

Q:
What will happen if we don t specify queue name in a MQOUTPUT or MQINPUT node?
A:
Message will be backed out and an exception will be thrown with the message no q
ueue name is defined.

Q:

What happen if a message is sent to a queue and the queue is filled?


A:
Then the message goes to the relevant dead letter queue.

Q:
What is the difference between Environment and Local Environment tree?
A:
The environment tree differs from the local environment tree in that a single in
stance of it is maintained throughout the message flow. If you include a Compute
node, a Mapping node, or a JavaCompute node in your message flow, you do not ha
ve to specify whether you want the environment tree to be included in the output
message. The environment tree is included automatically, and the entire content
s of the input environment tree are retained in the output environment tree. Any
changes that you make are available to subsequent nodes in the message flow, an
d to previous nodes.

Q:
In what all cases message goes into DeadLetter Queue?
A:
When
When
When
When

the
the
the
the

Destination queue is full


Destination queue doesn t exist
incoming message too large
Sender is not authorized to use the destination queue.

Q:
WMB provide supports for what types of messages?
A:
WMB provide support for following type of messages:
MRM
XML
XMLNS
XMLNSC
JMSMap
JMSStream
MIME
BLOB
IDOC

Q:
What do you mean by Correlation names?
A:
A correlation name is a field reference referencing a well-defined starting poin
t in the logical message tree and to describe a standard part of the tree format
.
Q:
What do you mean by ResetContentDescriptor node?
A:
ResetContentDescriptor node request to parse the message with different parser,
leaving the message content unchanged.

Q:
What is the difference between an MQGet node nd MQInput node?
A:
The MQGet node reads a message from a specified queue, and establishes the proce
ssing environment for the message. Whereas, The MQInput node receives a message
from a WebSphere MQ message queue that is defined on the queue manager of the br
oker.
You can use an MQGet node anywhere in a message flow, unlike an MQInput node, wh
ich you can use only as the first node in a message flow.

Q:
What is the difference between SOAPRequest node and SOAPAsyncRequest node?
A:
The SOAPAsyncRequest node sends a Web service request, but the node does not wai
t for the associated Web service response to be received. This asynchronous func
tionality enables multiple outbound requests to be made almost in parallel becau
se the outbound request is not blocked waiting for the response.
Whereas, The SOAPRequest node is a synchronous request and response node, which
blocks processing after sending the request until the response is received.

Q:
What is the difference between Mapping node and Compute node transformation?
A:

In Compute node you can transform the message by coding ESQL in the ESQL resourc
e file attached. Whereas, In mapping node you can use graphical maps to transfor
m input message by associating an input message model such as a DFDL or XML sche
ma, or an MRM Message Set and an output message model.
In compute node you can change the entire message even the header assemblies. Bu
t, In mapping node you can change the message assembly, message body, and proper
ties.

Q:
What is the difference between Input and MQInput node?
A:
Use the Input node as an In terminal for an embedded message flow (a subflow).Th
e MQInput node receives a message from a WebSphere MQ message queue that is defi
ned on the queue manager of the broker. It is the first node of your message flo
w.

Q:
What is the purpose or use of compute node?
A:
The Compute node is used to:
Build a new message using a set of assignment statements
Copy messages between parsers
Convert messages from one code set to another
Transform messages from one format to another

Q:
How the interaction with Database does take place using Compute node?
A:
In Data Source specify the name by which the appropriate database is known on th
e system on which this message flow is to execute.

Q:
Difference between try catch node and throw node?
A:
Include a Throw node to force an error path through the message flow if the cont
ent of the message contains unexpected data.

If a downstream node (which can be a Throw node) throws an exception, the TryCat
ch node catches it and routes the original message to its Catch terminal. Connec
t the Catch terminal to further nodes to provide error processing for the messag
e after an exception.

Q:
How will input messages with different - different delimiters between the fields
are handled in WMB?
A:
Using MRM domain we can input messages with different - different delimeters bet
ween the fields in WMB.

Q:
What do you mean by depth of a Queue?
A:
Queue depth, is the number of pending input/output messages in a queue.

Q:
How can we know the current depth of a queue?
A:
Using MQSC property CURDEPTH we can know the current depth of a queue.

Q:
Message Broker supports what all formats?
A:
Message Broker supports XML, TDS, CSV, CWF, EDIFACT, SWIFT, COBOL formats

Q:
What all nodes uses ESQL?
A:
ESQL can be used with the Compute, Database, and Filter nodes.

Q:
What is ESQL?
A:
Extended Structured Query Language (ESQL) is a programming language based on Str
uctured Query Language (SQL), which is commonly used with relational databases s
uch as DB2. ESQL extends the constructs of the SQL language to provide support f
or you to work with both message and database content.

Q:
What functionality ESQL provides?
A:
Through ESQL you can
Change the message content.
Modify an existing message
Create a new message
Add dynamic terminals
Route a message
Propagate a new request

Q:
What are the types of variables in ESQL?
A:
ESQL variables can be described as external variables, normal variables, or shar
ed variables.

Q:
What are external variables, normal variables, or shared variables?
A:
External variables:
Also known as user defined properties.
Exist for entire life time of a message flow and are visible to all messages
passed through the flow.
Defined at module or schema level.
You have to assign an initial value at the time of declaring an external var
iable and then can modify the initial value at deployment time by using the BAR
editor.
Normal Variables:
Have lifetime of just one message pass through a node.
Visible to that message only in which it was defined.
To define, omit both EXTERNAL and SHARED keyword.

Shared variable:
Used to implement in-memory cache in the message flow.
Have a long life time and are visible to multiple messages pass through the
flow.
Exist for the lifetime of Execution group, lifetime of flow or node, lifetim
e of node s ESQL that declares the variable.
Initialized when the first message pass through the node or flow after broke
r startup.

Q:
What are patterns?
A:
A pattern captures a tested solution to a commonly recurring problem, addressing
the objectives that you want to achieve.

Q:
What are the benefits of using patterns?
A:
Patterns provide the following benefits:
Give you guidance for the implementation of solutions
Increase development efficiency, because resources are generated from a set
of predefined templates
Result in higher quality solutions, through reuse of assets and common imple
mentation of programming approaches, such as error handling and logging

Q:
How do you ensure that messages do not lose?
A:
For application and internal messages traveling across WebSphere MQ, two techniq
ues protect against message loss:
Message persistence - If a message is persistent, WebSphere MQ ensures that
it is not lost when a failure occurs, by copying it to disk.
Sync point control - An application can request that a message is processed
in a synchronized unit-of-work .

Q:

How to use functions in your esql code?


A:
Use CALL keyword to call functions or methods.

Q:
What are the ways in which you can access databases from a message flow?
A:
You can access a database from a message flow in two ways:
You can design a message flow that responds to events generated by the datab
ase.
After a flow has already started, you can access the database to read or upd
ate information in it. Information from the database can be used to enhance or i
nfluence the operation of the message flow.
Q:
What all nodes can access databases?
A:
We can access a database from a message flow by using the following nodes:
Compute
Database
DatabaseInput
DatabaseRetrieve
DatabaseRoute
Filter
JavaCompute
Mapping

TOPhttp://www.allapplabs.com/images/top.jpg
Q:
What is Publish/Subscribe?
A:
Publish/subscribe is a style of messaging application in which the providers of
information (publishers) are decoupled from the consumers of that information (s
ubscribers).

Q:
What are the techniques used in transforming and enriching messages in WMB?
A:

We can transform and enrich messages by using one or more of the following techn
iques:
Mappings
ESQL
Java
XSL style sheets
PHP
.NET

Q:
What are the basic error handling techniques available in message flow?
A:
There are two general approaches to handle errors in a message flow:
Failure checking
Catching Exceptions

Q:
What are message models?
A:
Most message formats are not self-defining, and a parser must have access to a p
redefined model that describes the message, if it is to parse the message correc
tly. A message model is used by WebSphere Message Broker to model a message form
at.

Q:
What are the advantages of modeling messages?
A:
Even if your messages are self-defining, and do not require modeling, message mo
deling has the following advantages:
Runtime validation of messages. Without a message model, a parser cannot che
ck whether input and output messages have the correct structure and data values.
Enhanced parsing of XML messages. Although XML is self-defining, all data va
lues are treated as strings if a message model is not used. If a message model i
s used, the parser is provided with the data type of data values, and can cast t
he data accordingly.
Improved productivity when writing ESQL. When you are creating ESQL programs
for WebSphere Message Broker message flows, the ESQL editor can use message mod
els to provide code completion assistance.
Drag-and-drop operations on message maps. When you are creating message maps
for WebSphere Message Broker message flows, the Message Mapping editor uses the

message model to populate its source and target views. Without message models,
you cannot use the Message Mapping editor.
Reuse of message models, in whole or in part, by creating additional message
s that are based on existing messages.
Generation of documentation.
Provision of version control and access control for message models by storin
g them in a central repository.

Q:
What are the ways to create message models?
A:
You can create a message model by using the following methods:
Importing an application message format that is described by an XML Schema,
XML DTD, C structure, COBOL structure, SCA import or export, or WSDL definition.
By creating an empty message model file, then creating your message by using
the editors provided in the WebSphere Message Broker Toolkit.
By using the Adapter Connection wizard to import EIS metadata.
By creating a populated model file from example message data.
.

Q:
What is the difference between mqsicreatemsgdefs or mqsicreatemsgdefsfromwsdl co
mmand-line utilities?
A:
The mqsicreatemsgdefs command has a bulk import capability, but mqsicreatemsgdef
sfromwsdl imports only one WSDL definition at a time.

Q:
What are message sets?
A:
A message set is a folder in a message set project that contains a logical group
ing of your messages and the objects that comprise them (elements, types, groups
).

Q:
What is a message definition file?
A:

A message definition file contains the messages, elements, types, and groups whi
ch make up a message model within a message set. Every message set requires at l
east one message definition file to describe its messages. Message definition fi
les use the XML Schema language to describe the logical format of one or more me
ssages.

Q:
What is a multipart message?
A:
A multipart message contains one or more other messages within its structure. Th
e contained message is sometimes referred to as an embedded message. A multipart
message must contain a group, or a complex type, with its Composition property
set to Message.

Q:
What is Triggering in MQ?
A:
A message is put to a queue defined as Triggering.

Q:
What does a PROPAGATE keyword do?
A:
The PROPAGATE statement is used to generate multiple output messages in the Comp
ute node. The output messages may have same or different message content. You ca
n also send output messages to any alternate output terminals of the Compute nod
e.

Q:
Why do we use Sequence node?
A:
The Sequence node enables you to receive groups of messages from an input source
, and preserve the order in which the messages in each group arrived.

Q:
Which command is used to modify broker parameters?
A:

mqsichangebroker command is used to modify broker parameters.


Q:
What is the purpose of using mqsichangeproperties command?
A:
mqsichangeproperties command can be used to change properties associated with a
broker such as:
that affect the whole broker; for example, an HTTP listener or Service Feder
ation Management
that affect one or more execution groups; for example, the broker registry
that affect a configurable service; for example, a JMS provider.
3. What are the main components of IIB/WMB?
The 3 main components in IIB/WMB are Runtime, Development and Administration.
Runtime - The broker runtime is the main processing component to which devel
opment artifacts are deployed.
Development - The Toolkit is used for development of message flows and other
development artifacts.
Administration - Message Broker Explorer is an administration tool used to p
erform deploys, create brokers or new execution groups, and enable flow monitori
ng. WMB V8 provides a WebUI tool to view the broker runtime or resources deploye
d in a browser.
4. Does IIB/WMB require a database to function?
From Message Broker V7 onwards, there is no database pre-requisite, the product
does not require a database for any internal function. You may have database nod
es or use databases for other function and so Message Broker does provide functi
onality to interface with application databases.
5. How do I install IIB/WMB?
IIB/WMB installation comprises of installing a Broker component, the Tookit and
Message Broker explorer. On Windows all three components can be installed using
Windows Launchpad that is provided with the product. On Unix platforms, installa
tion can be performed through an installation wizard or in silent mode. On z/OS,
the installation is performed using SMP/E
Detailed information about installation is provided in the online Information Ce
nter
IIB Installing and Uninstalling
WMB Installing and Uninstalling.

6. Getting started with IIB/WMB. Is there a default configuration of IIB/WMB tha


t I can use?
Yes. IIB/WMB provides a default configuration. This can be started through Toolk
it Welcome screen. The default configuration wizard creates a broker and all the
resources required.

7. Where can I find training and education on setting up and using the IIB/WMB P
roduct?
The IBM Education Assistant site has a number of education modules across multip
le Message Broker releases. See the IBM Education Assistant: WebSphere Message B
roker page
IBM Education also offers courses on IIB/WMB. See this list of IIB/WMB courses b
eing offered.
8. Where can I find samples for IIB/WMB?
A comprehensive set of samples are provided with IIB/WMB. These samples can be f
ound on the Toolkit Welcome page. The samples cover basic concepts as well as ad
vanced areas like WebServices File processing, Monitoring etc. See the complete
list of samples available.
9. Are there IBM forums or user groups available for IIB/WMB users?
The following forums and user groups are available for Message Broker.
1. mqseries.net forum - This forum is active with participation by the Message B
roker user community.
2. IBM developerWorks forum
10. How do I create a broker?
A broker can be created using Message Broker explorer or from the command line.
Specific information on creating a broker is available in the online Information
Center under the topic Configuring brokers for test and production > Configurin
g brokers
Creating a broker
11. What are the major processes for a running broker?
Once a broker is started, the following processes get started and they can be se
en in Task Manager (on Windows) and/or ps listing (on UNIX's). On z/OS these pro
cesses run under USS.
bipservice - This is a bootstrap process that starts the broker runtime
bipbroker - This main administration that manages the broker runtime.
biphttplistener - This is the http server process that provides HTTP and SOA
P functionality in Message Broker
DataFlowEngine - This is the Execution Group process which runs message flow
threads. Each message flow runs in this process as a thread.
12. Are there any monitoring tools available in IIB/WMB?
Business level monitoring can be configured in IIB/WMB message flows that enable
s the different nodes in the message flow to emit events when processing message
s. These events can be further fed to other applications such as WebSphere Busin
ess Monitor for transaction monitoring, transaction auditing, and business proce
ss monitoring. More information can be found in the online Information Center un
der the topic Performance and monitoring > Business-level monitoring
13. What are the High availability options available in IIB/WMB?
Message Broker can be set up to work with the following High Availability option
s:

Multi-instance mode using multi-instance queue manager


Existing High Availability manager/Windows cluster such as HACMP or MSCS clu
ster
Please see the following page for more information on High availability.
14. What are the backup and recovery procedures for IIB/WMB?
The details may be found in the online Information Center under the topic Admini
stering existing brokers > Backing up resources
15. Are there any existing message flow patterns/templates that I can use to des
ign my message flows?
Built-in patterns are supplied with the IIB/WMB Toolkit to create resources that
are used to solve specific business problems You can also create user-defined p
atterns by using the pattern creation templates provided with IIB/WMB Toolkit.
Patterns are available to a pattern user in the Patterns Explorer view in the Br
oker Application Development perspective of the IIB/WMB Toolkit.
16. How do I migrate from a previous version to the newer version?
You can migrate in two different ways:
Import all the development artifacts into the Message Broker Toolkit which w
ill migrate them as necessary and deploy them to the new version runtime.
Migrate only the runtime by using the mqsimigratecomponents command
For example, mqsimigratecomponents <broker> -s <source version> -t <target v
ersion>
The details may be found in the online Information Center under the topic Refere
nce > Configuration and administration > Commands > Runtime commands > mqsimigra
tecomponents command
17. Where can I find the latest Fix Pack for IIB/WMB?
A Fix Pack may be downloaded from the following page Recommended fixes for WebSp
here Message Broker
18. When is the next Fix Pack available?
See the WebSphere Message Broker planned Fix Pack release schedule
19. Where are the security features provided in IIB/WMB?
IIB/WMB provides a number of security features. Detailed information about all t
he security features available in IIB/WMB can be found in the online Information
Center under the topic Security overview
20. Can I receive updates about IIB/WMB?
Yes. To subscribe to the quarterly IIB/WMB Newsletter, send an email to wsehelp@
us.ibm.com with the subject line: subscribe IBM Integration Bus and WebSphere Me
ssage Broker

Difference between Root and Output Root?


Root is used in the Database content changing and in Filter node.Output Root is
used in the ESQL code for a Compute node that creates a new output message based
on the input message

Is it possible to set Properties of node apart from right click and setting the
properties?
Windows Show View Basic Properties
3) Which interface we have to implement when we are going to create an input cu
stom node?
MbInputNodeInterface
Difference between RAD and ORDINARY deployment?
Using Resource adapter deployment, we can reuse the deployment till the server i
s re- booted
Define BROKER, BAR, EXECUTION GROUP, SCADA, and COMPONENTS OFBROKER,WORKBENCH, W
ORKSPACE, and CMM?
BROKER:
A broker is a set of execution processes that hosts one or more message flows to
route, transform, and enrich inflight messages.
BAR:
Flows and sets that are to be deployed are packed in it and sent to configuratio
n manager EXECUTION GROUP
:
An execution group is a named grouping of message flows that have
been assigned to a broker. The broker enforces a degree of isolation betweenmes
sage flows in distinct execution groups by ensuring that they execute inseparate
address spaces, or as unique processes
SCADA:
The SCADAInput node is used to receive messages from clients that connect to the
broker across the WebSphere MQ Telemetry Transport. SCADA device clients use th
e MQIsdp protocol to send messages, which are converted by the SCADAInput node i
nto a formatrecognized by WebSphere Message Broker. The node also establishes th
e processingenvironment for these messages.
COMPONENTS OF BROKER:
Broker, Configmgr, User name service.
WORKBENCH:WORKSPACE:
What is PARSER and difference between PARSER and FORMAT?
AParser
is defined as a program that interprets the bit stream of an incoming message an
d creates an internal representation of it in a tree structure
Ex: MRM parser
A Format is a physical representation of a message
Ex: XML wire format
What is ResetContentDescriptor node?
Use the ResetContentDescriptor node to request that the message is reparsed by a
different parser What is User name Server and where it is defined?The User Nam
e Server is an optional runtime component that provides authentication of usersa
nd groups performing publish/subscribe operations.
What is SCHEMA of broker?
A broker schema is a symbol space that defines the scope of uniqueness of the na
mes of resources defined within it. The resources are message flows, ESQL files,
and mapping files.
How can we see the error log files in broker?
The Windows Event Viewer is where WebSphere Message Broker writes records to the
localsystem.

Which node is used to change the message in the flow?


Compute Node, Filter Node and ResetContentDescriptor.
What is the use of commit for connection to Databases?
Any work that has been done using the respective data source in a message flow (
including anyactions taken in the node) is committed regardless of the subsequen
t success or failure of themessage flow
Define Correlation names?
A correlation name is a field reference that identifies a well-defined starting
point in the logicalmessage tree and is used in field references to describe a s
tandard part of the tree format.
Functions of ESQL?
MQInput node and INPUT node differences?You must use an Input node to provide t
he in terminal to a subflow.The Input node provides an in terminal for an embedd
ed message flow (a subflow).
How many Builtin nodes are there? Categories them?
WebSphere Message Broker supplies built-in nodes that you can use to define your
messageflows. For information about each of these nodes, follow the appropriate
link below. The nodeslisted here are grouped according to the function that the
y provide
Input and output
MQInput nodeMQOptimizedFlow nodeMQOutput nodeMQGet nodeMQReply nodePublication n
odeMQeInput nodeMQeOutput nodeSCADAInput nodeSCADAOutput nodeHTTPInput nodeHTTPR
eply nodeHTTPRequest nodeReal-timeInput nodeReal-timeOptimizedFlow nodeInput nod
eOutput nodeJMSInput nodeJMSOutput node
Message manipulation and transformation
Compute nodeDatabase node
DataDelete nodeDatalnsert nodeDataUpdate nodeExtract nodeJavaCompute nodeJMSMQTr
ansform nodeMQJMSTransform nodeMapping nodeWarehouse nodeXMLTransformation node
Collating requests
AggregateControl nodeAggregateReply nodeAggregateRequest node
Decision making
Check nodeFilter nodeFlowOrder nodeLabel nodeResetContentDescriptor nodeRouteToL
abel node
TimeoutControl nodeTimeoutNotification nodeValidate node
Subflow identification
Passthrough node
Error handling and reporting
Throw nodeTrace nodeTryCatch node
What are the perspectives we have?
Administration PerspectiveApplication Development PerspectiveDebugging Perspecti
ve.Java Perspective (MB 6).
In which perspective we deploy the flow?
Administrator perspective

Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest


No comments:
Post a Comment

Note: only a member of this blog may post a comment.


Home
Subscribe to: Posts (Atom)
About Me
My Photo
Thanneru Sagar
View my complete profile
Picture Window template. Powered by Blogger.

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