Sunteți pe pagina 1din 12

WebSphere Message Broker - Q & A

1. What exactly do you understand by message broker?


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.
2. Why do we require message broker when we have MQ?
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.
3. What is the difference between Message Broker and MQ?
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.

4. What are the advantages of using Websphere message broker?


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.
5. What all are the main components used in Message Broker?
The main components used in Message Broker Name Server are
User Name Server
Configuration Manager
Broker
6. What do you understand by Broker Domain?

Group of brokers under a single configuration manager constitute a Broker Domain.


7. What is the significance of nodes in message flows?
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.
8. If configuration manager is down, what are the effects on the running brokers?
The running broker will also be down at the moment when configuration manager is down.
9. How can we create broker?
Two ways to create broker:

By using Websphere Message Broker Explorer.

By using command prompt.

10.What is the command use to create broker?


mqsicreatebroker is the command used to create broker.
11.What is User name Server?
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.
12.What is the Role of Username server?
The User Name Server interfaces with operating system facilities to provide information about
valid users and groups in a broker domain.
13.Can a single queue manager have two brokers?
No a single queue manager cannot have two brokers.
14.With Which command one can deploy the bar files?
Using the mqsideploy command one can deploy the bar files.
15.What is the difference between a 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.
16.What is the Use of Configmanager?

To Connect to the remote broker or local broker and to deploy the message flows onto the Broker.
17.Which perspective you used to deploy the flow?
Administrator perspective is used to deploy the flow.
18.What do you understand by EAI? Name some EAI tools?
Enterprise Application Integration refers to the integration of one or more applications and
processes together.
Tools: WBI Message Broker, Tibco, WebMethods and ICS
19.What are the Features of Message Broker?
WMB has many features, The main features are :

Routing

Transformation and

Integration

20.What do you mean by an 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 between message flows in distinct execution groups by ensuring
that they execute in separate address spaces, or as unique processes.
21.What is the significance of SCHEMA in message broker?
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.
22.What are the perspectives you have mainly used while development in message broker?
The perspectives mainly used while the development in message broker are

Administration Perspective

Application Development Perspective

Debugging Perspective

Java Perspective (MB 6)

23.What is the significance of message flows in message broker?

A message Flow describes the sequence of steps followed in the broker that processes an input
message when an input message is received.
24.What is PARSER?
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.
25.What is a Format?
Physical Representation of a message is a Format.
26.What you do to make your services actually run?
Packaging services in a BAR file and deploy the BAR file on the broker.
27.What is a BAR?
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.
28.Which command is used to create a BAR?
mqsipackagebar command.
29.What does mqsiapplybaroverride command do?
The mqsiapplybaroverride command is used to replace configurable values in the broker archive
(BAR) with new values that you specify in a properties file.
30.Which nodes in WMB supports aggregation?

AggregateControl

AggregateRequest

AggregateReply

31.Is it possible to create multiple instances of a message flow?


Yes. We can create multiple instance of a message flow by deploying the message flows to
different execution group.
32.What is a logical message tree?
Logical message tree is the internal representation of a message.
33.What are the types of Trees?

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.

34.What is the purpose of a filter node?


The purpose of a filter node is to route a message based on the content dynamically
35.What are the types of TRACES?

User trace

Service trace.

36.What are the Types of Queues, one can create in MQ?

Local queue

Remote queue

Transmission queue

Alias queue

Dead letter queue

37.What are the types of clients in MQ?


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.
38.With which all nodes one can change message in a message flow?
Compute Node, Message Mapping Node, Filter Node, ResetContentDescriptor Node can change
message in a message flow.
39.What will happen if we dont specify queue name in a MQOUTPUT or MQINPUT node?

Message will be backed out and an exception will be thrown with the message no queue name is
defined.
40.What happen if a message is sent to a queue and the queue is filled?
Then the message goes to the relevant dead letter queue.
41.What is the difference between Environment and Local Environment tree?
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.
42.In what all cases message goes into DeadLetter Queue?

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.

43.WMB provide supports for what types of messages?


WMB provide support for following type of messages:

MRM

XML

XMLNS

XMLNSC

JMSMap

JMSStream

MIME

BLOB

IDOC

44.What do you mean by Correlation names?


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.
45.What do you mean by ResetContentDescriptor node?
ResetContentDescriptor node request to parse the message with different parser, leaving the
message content unchanged.
46.What is the difference between an MQGet node nd MQInput node?
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.
47.What is the difference between SOAPRequest node and SOAPAsyncRequest node?
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.
48.What is the difference between Mapping node and Compute node transformation?
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.
49.What is the difference between Input and MQInput node?
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.
50.What is the purpose or use of compute node?
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

51.How the interaction with Database does take place using Compute node?
In Data Source specify the name by which the appropriate database is known on the system on
which this message flow is to execute.
52.Difference between try catch node and throw node?
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.
53.How will input messages with different - different delimiters between the fields are handled in
WMB?
Using MRM domain we can input messages with different - different delimeters between the
fields in WMB.
54.What do you mean by depth of a Queue?
Queue depth, is the number of pending input/output messages in a queue.
55.How can we know the current depth of a queue?
Using MQSC property CURDEPTH we can know the current depth of a queue.
56.Message Broker supports what all formats?
Message Broker supports XML, TDS, CSV, CWF, EDIFACT, SWIFT, COBOL formats.
57.What all nodes uses ESQL?
ESQL can be used with the Compute, Database, and Filter nodes.
58.What is ESQL?
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.
59.What functionality ESQL provides?
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

60.What are the types of variables in ESQL?


ESQL variables can be described as external variables, normal variables, or shared variables.
61.What are external variables, normal variables, or shared variables?
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.

62.What are patterns?


A pattern captures a tested solution to a commonly recurring problem, addressing the objectives
that you want to achieve.
63.What are the benefits of using patterns?
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

64.How do you ensure that messages do not lose?


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 .

65.How to use functions in your esql code?


Use CALL keyword to call functions or methods.
66.What are the ways in which you can access databases from a message flow?
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.

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