You are on page 1of 18

WebSphere Message Broker

Interview Questions




Question: What exactly do you understand by message broker?
Question: Why do message broker came into picture when you have MQ?
Question:
What is the difference between Message Broker and MQ?
Question: What are the advantages of using Websphere message broker?
Question:
What all are the main components used in Message Broker?
Question:
What do you understand by Broker Domain?
Question:
What is the significance of nodes in message flows?
Question: If configuration manager is down, what are the effects on the running brokers?
Question:
How can we create broker?
Question:
What is the command use to create broker?
Question:
What is User name Server?
Question:
What is the Role of Username server?
Question: Can a single queue manager have 2 brokers?
Question: With Which command one can deploy the bar files?
Question: What is the difference between a Root and OuputRoot?
Question: What is the Use of Configmanager?
Question: Which perspective you used to deploy the flow?
Question: What do you understand by EAI? Name some EAI tools?
Question: What are the Features of Message Broker?
Question: What do you mean by an Execution Group?
Question: What is the significance of SCHEMA in message broker?
Question: What are the perspectives you have mainly used while development in message
broker?


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

TOP

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
communicating different systems, but mq has a slight drawback that it cannot transform
the messages. It can just send the message to other system.

TOP

Q: What is the difference between Message Broker and MQ?
A: WebSphere MQ facilitates communication between applications by sending and receiving
message data via messaging queues. WebSphere MQ provides a secure and reliable 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
understanding the content of each message that it moves through the Broker. Message
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.

TOP

Q: What are the advantages of using Websphere message broker?
A: Websphere message broker provides services, based on message brokers to allow you
to:
Route a message to several destinations, using rules that act on the contents of
one or more of the fields in the message or message header.
Transform a message, so that applications using different formats can exchange
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.

TOP

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

TOP

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

TOP

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 message,
passes the original message or the changed message, to the next node in the message
flow.

TOP

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.

TOP

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

TOP

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

TOP

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


TOP

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

TOP

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

TOP

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

TOP

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 output
message based on the input message

TOP

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.

TOP

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

TOP

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

TOP

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

TOP

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 spaces, or as unique
processes.

TOP

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 names of
resources defined within it. The resources are message flows, ESQL files, and mapping
files.

TOP

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

TOP


WebSphere Message Broker
Interview Questions




Question: What is the significance of message flows in message broker?
Question: What is PARSER?
Question:
What is a Format?
Question: What you do to make your services actually run?
Question:
What is a BAR?
Question:
Which command is used to create a BAR?
Question:
What does mqsiapplybaroverride command do?
Question: Which nodes in WMB supports aggregation?
Question:
Is it possible to create multiple instances of a message flow?
Question:
What is a logical message tree?
Question:
What are the types of Trees?
Question:
What is the purpose of a filter node?
Question: What are the types of TRACES?
Question: What are the Types of Queues, one can create in MQ?
Question: What are the types of clients in MQ?
Question: With which all nodes one can change message in a message flow?
Question: What will happen if we dont specify queue name in a MQOUTPUT or MQINPUT
node?
Question: What happen if a message is sent to a queue and the queue is filled??
Question: What is the difference between Environment and Local Environment tree?
Question: In what all cases message goes into DeadLetter Queue?
Question: WMB provide supports for what types of messages?
Question: What do you mean by Correlation names?


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 processes an
input message when an input message is received.

TOP

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 can be then
understand by message broker assembly.

TOP

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

TOP

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.

TOP

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.

TOP

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

TOP

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

TOP

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

TOP

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.

TOP

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

TOP

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.


TOP

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 dynamically

TOP

Q: What are the types of TRACES?
A: User trace
Service trace.

TOP

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

TOP

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 reside
on the server.

TOP

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.

TOP

Q: What will happen if we dont 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 queue
name is defined.

TOP

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.

TOP

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 instance 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 have to specify whether
you want the environment tree to be included in the output message. The environment
tree is included automatically, and the entire contents 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, and to previous nodes.

TOP

Q: In what all cases message goes into DeadLetter Queue?
A: When the Destination queue is full
When the Destination queue doesnt exist
When the incoming message too large
When the Sender is not authorized to use the destination queue.

TOP

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

TOP

Q: What do you mean by Correlation names?
A: A correlation name is a field reference referencing a well-defined starting point in the
logical message tree and to describe a standard part of the tree format.



WebSphere Message Broker
Interview Questions




Question: What do you mean by ResetContentDescriptor node?
Question: What is the difference between an MQGet node nd MQInput node?
Question:
What is the difference between SOAPRequest node and SOAPAsyncRequest
node?
Question:
What is the difference between Mapping node and Compute node
transformation?
Question:
What is the difference between Input and MQInput node?
Question:
What is the purpose or use of compute node?
Question:
How the interaction with Database does take place using Compute node?
Question: Difference between try catch node and throw node?
Question:
How will input messages with different - different delimiters between the fields
are handled in WMB?
Question:
What do you mean by depth of a Queue?
Question:
How can we know the current depth of a queue?
Question:
Message Broker supports what all formats?
Question: What all nodes uses ESQL?
Question: What is ESQL?
Question: What functionality ESQL provides?
Question: What are the types of variables in ESQL?
Question: What are external variables, normal variables, or shared variables?
Question: What are patterns?
Question: What are the benefits of using patterns?
Question: How do you ensure that messages do not lose?
Question: How to use functions in your esql code?
Question: What are the ways in which you can access databases from a message flow?


Q: What do you mean by ResetContentDescriptor node?
A: ResetContentDescriptor node request to parse the message with different parser, leaving
the message content unchanged.

TOP

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 processing
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 broker.

You can use an MQGet node anywhere in a message flow, unlike an MQInput node, which
you can use only as the first node in a message flow.

TOP

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 wait
for the associated Web service response to be received. This asynchronous functionality
enables multiple outbound requests to be made almost in parallel because 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.

TOP

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 resource
file attached. Whereas, In mapping node you can use graphical maps to transform input
message by associating an input message model such as a DFDL or XML schema, or an
MRM Message Set and an output message model.

In compute node you can change the entire message even the header assemblies. But,
In mapping node you can change the message assembly, message body, and properties.

TOP

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).The
MQInput node receives a message from a WebSphere MQ message queue that is defined
on the queue manager of the broker. It is the first node of your message flow.

TOP

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

TOP

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 the
system on which this message flow is to execute.

TOP

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 content of
the message contains unexpected data.

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

TOP

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 between
the fields in WMB.

TOP

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

TOP

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.

TOP

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

TOP

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

TOP

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

TOP

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

TOP

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

TOP

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 variable
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, lifetime of nodes
ESQL that declares the variable.
Initialized when the first message pass through the node or flow after broker
startup.

TOP

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

TOP

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
implementation of programming approaches, such as error handling and logging

TOP

Q: How do you ensure that messages do not lose?
A: For application and internal messages traveling across WebSphere MQ, two techniques
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 .

TOP

Q: How to use functions in your esql code?
A: Use CALL keyword to call functions or methods.

TOP

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
database.
After a flow has already started, you can access the database to read or update
information in it. Information from the database can be used to enhance or
influence the operation of the message flow.

TOP


WebSphere Message Broker
Interview Questions




Question: What all nodes can access databases?
Question: What is Publish/Subscribe?
Question:
What are the techniques used in transforming and enriching messages in WMB?
Question: What are the basic error handling techniques available in message flow?
Question:
What are message models?
Question:
What are the advantages of modeling messages?
Question:
What are the ways to create message models?
Question: What is the difference between mqsicreatemsgdefs or
mqsicreatemsgdefsfromwsdl command-line utilities?
Question:
What are message sets?
Question:
What is a message definition file?
Question:
What is a multipart message?
Question:
What is Triggering in MQ?
Question: What does a PROPAGATE keyword do?
Question: Why do we use Sequence node?
Question: Which command is used to modify broker parameters?
Question: What is the purpose of using mqsichangeproperties command?


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

TOP

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 (subscribers).

TOP

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 techniques:
Mappings
ESQL
Java
XSL style sheets
PHP
.NET

TOP

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

TOP

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

TOP

Q: What are the advantages of modeling messages?
A: Even if your messages are self-defining, and do not require modeling, message modeling
has the following advantages:
Runtime validation of messages. Without a message model, a parser cannot check
whether input and output messages have the correct structure and data values.
Enhanced parsing of XML messages. Although XML is self-defining, all data values
are treated as strings if a message model is not used. If a message model is used,
the parser is provided with the data type of data values, and can cast the 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
models 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 messages
that are based on existing messages.
Generation of documentation.
Provision of version control and access control for message models by storing
them in a central repository.

TOP

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.
.

TOP

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

TOP

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

TOP

Q: What is a message definition file?
A: A message definition file contains the messages, elements, types, and groups which
make up a message model within a message set. Every message set requires at least
one message definition file to describe its messages. Message definition files use the XML
Schema language to describe the logical format of one or more messages.

TOP

Q: What is a multipart message?
A: A multipart message contains one or more other messages within its structure. The
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.

TOP

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

TOP

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

TOP

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.

TOP

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 Federation
Management
that affect one or more execution groups; for example, the broker registry
that affect a configurable service; for example, a JMS provider.