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
interconnect, and allow information to flow between them, without requiring the
applications to be aware of the details of the connection. Basic connectivity
is the starting point for any integration solution. It provides the transport
on which information will flow.
There are many
characteristics that distinguish different transport options, but when
integrating across heterogeneous environments and when dealing with
applications that were not designed to intercommunicate, there are several
mandatory functions needed for success: assured delivery (and persistence),
once-only delivery, and asynchronous delivery. It is also essential that the
transport be capable of delivering any type of data: Extensible Markup Language
(XML), SOAP, and proprietary (when this makes the mostsense for a particular
customer’s situation).
These functions are
delivered through WebSphere MQ, the standard for messaging
connectivity. WebSphere MQ can provide all an application needs provided the
number of applications being interconnected is small, two or three for example.
But as the number of applications being interconnected increases, additional
application connectivity services are needed to implement a more efficient and effective
solution.
Message
Brokering
When
you are working in a large environment, message brokering functions are
required. Fundamentally, message brokers are used to centralize routing and
transformation functions, and these functions are essentially handled by a
message flow.
A message flow is a sequence of operations performed on a message
by a series of message processing nodes. The actions are defined in terms of
the message format, its content, and the results of individual actions along
the message flow
Notice, however, that
the flow is, as was the case with basic messaging, simply an extension of the
path from the source application to the destination application. In other
words, it is assumed that the destination wants, expects, and will handle all
messages sent to it.
Basically, the Message
Broker is a WebSphere MQ application that routes and transforms messages.
The WebSphere Message
Broker consists of four components (Toolkit, configuration manager, broker, and
User Name Server) that communicate with each other using WebSphere MQ messages.
The format of this information is XML.
Message Broker ToolKit
The WebSphere Message
Brokers Toolkit is an integrated development environment (IDE) and graphical
user interface (GUI) based on the open source Eclipse platform. Application
developers work in separate instances of the Message Brokers Toolkit (also
known as workbenches) to develop message sets and message flows.
Tasks that can be performed using ToolKit
• Definition of message flows
• Definition and import of message definitions
• Deployment of message flows and message sets to brokers
• Control of log entries written during deploy
• Start, stop, and trace of message flows running in brokers
• Registering brokers in the configuration domai
• Viewing and deleting subscriptions for publish/subscribe
• Setting topic-based access control for publish/subscribe
Tasks that can be performed using ToolKit
• Definition of message flows
• Definition and import of message definitions
• Deployment of message flows and message sets to brokers
• Control of log entries written during deploy
• Start, stop, and trace of message flows running in brokers
• Registering brokers in the configuration domai
• Viewing and deleting subscriptions for publish/subscribe
• Setting topic-based access control for publish/subscribe
Broker
A broker is a system
service on Windows platforms, a daemon process on UNIX platforms, or a started
task on z/OS platforms. It controls processes that run message flows.
Applications often
send messages to the broker using WebSphere MQ queues and connections. The
broker routes each message using the rules defined in message flows and message
sets, which also transforms the data into the structure required by the
receiving applications.
A broker domain is one
or more brokers that share a common configuration, together with the single
configuration manager that controls them. The configuration manager maintains
all configuration details about the brokers in its domain within its internal
configuration repository.
The configuration
manager functions as the interface between toolkit instances, its internal
configuration repository, and a set of brokers executing message flows.
The configuration
manager provides brokers with their initial configuration, and updates them
with any subsequent changes. It maintains the broker domain configuration. The
configuration manager is the central runtime component that manages the
components and resources that constitute the broker domain. Administrators
typically install, create, and start a configuration manager for each broker
domain.
User name server
The User Name Server
is an optional component, needed only when topic-based access control for
publish/subscribe is desired or required.
A message flow is
really nothing more than a program created using graphical tools. The toolkit component
provides both the environment and tools to accomplish this task.
Message broker nodes are used in
Message flows. A message flow node is a processing step in a message
flow.
A message flow node receives a message, performs a set of actions against the
message, and optionally passes the message on to the next node in the message
flow. A message flow node can be a built-in node, a user-defined node, or a
subflow node.
A built-in node is a message flow node that is
supplied by WebSphere Message Broker. The built-in nodes provide input and
output, manipulation and transformation, decision making, collating requests,
and error handling and reporting functions.
A user-defined node is an extension to the broker
that provides a new message flow node in addition to those supplied with the
product. It must be written to the user-defined node API provided by WebSphere
Message Broker for both C and Java languages.
A subflow is a directed graph that is composed of
message flow nodes and connectors and is designed to be embedded in a message
flow or in another subflow. A subflow must include at least one Input node or
one Output node. A subflow can be executed by a broker only as part of the
message flow in which it is embedded, and therefore cannot be independently
deployed.
A message flow node has a fixed number of input and output points known as terminals. You can make connections between the terminals to define the routes that a message can take through a message flow.
Input and output nodes define points in the message flow to which client applications send messages, and from which client applications receive messages.Client applications interact with these nodes by putting messages to, or getting messages from, the I/O resource that is specified by the node as the source or target of the messages. Although a message flow must include at least one input node, it does not need to include an output node.
Overview of all the nodes available
in WMB v6.0, 6.1 and 7.0
Input Nodes:
MQInput:
Use an MQInput node if the messages arrive at the broker on a WebSphere MQ queue, and the node is to be at the start of a message flow.
Use an MQInput node if the messages arrive at the broker on a WebSphere MQ queue, and the node is to be at the start of a message flow.
MQGet:
Use an MQGet node if the messages arrive at the broker on a WebSphere MQ queue and the node is not to be at the start of a message flow.
SCADAInput:
Use a SCADAInput node if the messages are sent by a telemetry device.
HTTPInput:
Use an HTTPInput node if the messages are sent by a Web services client.
Real-timeInput or Real-timeOptimizedFlow:
Use one of these nodes if the messages are sent by a JMS or multicast application. The Real-timeInput node is an input node and the Real-timeOptimizedFlow node is a complete message flow that provides a high performance publish/subscribe message flow.
JMSInput
Use a JMSInput node if the messages are sent by a JMS application.
User-defined input node:
Use a user-defined input node if the message source is a client or application that uses a different protocol or transport.
Input node
If you are creating a message flow that you want to embed in another message flow (a subflow) that you will not deploy as a stand-alone message flow, you must include at least one Input node to receive messages into the subflow.
Output Nodes:
Publication
Use a Publication node to distribute the messages using the publish/subscribe network for applications that subscribe to the broker across all supported protocols.
Use a Publication node to distribute the messages using the publish/subscribe network for applications that subscribe to the broker across all supported protocols.
MQOutput
Use an MQOutput node if the target application expects to receive messages on a WebSphere MQ queue, or on the WebSphere MQ reply-to queue that is specified in the input message MQMD
MQReply
Use an MQReply node if the target application expects to receive messages on the WebSphere MQ reply-to queue that is specified in the input message MQMD.
SCADAOutput
Use a SCADAOutput node if a telemetry device is the target of the output messages, and the Publication node is not suitable.
HTTPReply
Use an HTTPReply node if the messages are in response to a Web services client request.
HTTPRequest
Use an HTTPRequest node if your message flow interacts with a Web service.
Real-timeOptimizedFlow
Use a Real-timeOptimizedFlow node if the target application is a JMS or multicast application.
JMSOutput
Use a JMSOutput node if the messages are for a JMS destination.
User-defined output node
Use a user-defined output node if the target is a client or application that uses a different protocol or transport.
Output node
If you are creating a message flow that you want to embed in another message flow (a subflow) that you will not deploy as a stand-alone message flow, you must include at least one Output node to propagate messages to subsequent nodes that you connect to the subflow.
Nodes for manipulating, enhancing,
and transforming messages
Compute
Use the Compute node to:
* Manipulate message content
* Transform the message in some way
* Interact with a database to modify the content of the message or the database and pass on one or more new messages
Use the Compute node to:
* Manipulate message content
* Transform the message in some way
* Interact with a database to modify the content of the message or the database and pass on one or more new messages
JavaCompute
Use the JavaCompute node to:
* Examine an incoming message and, depending on its content, propagate it unchanged to one of the node’s two output terminals. The node behaves in a similar way to a Filter node, but uses Java™ instead of ESQL to decide which output terminal to use.
* Change part of an incoming message and propagate the changed message to one of the output terminals.
* Create and build a new output message that is totally independent of the input message.
Mapping
Use the Mapping node to create a new message from the input message by mapping the content of elements of the output message from elements of the input message, or from database content. You can also extract parts of the message, and optionally change their content, to create a new output message that is a partial copy of the message that is received by the node.
Database
Use the Database node to interact with a database that is identified by the node properties. The Database node handles both predefined and self-defining messages.
DataDelete, DataInsert, DataUpdate
The DataDelete, DataInsert, and DataUpdate nodes are specialized forms of the Database node that provide a single mode of interaction (deletion of one or more rows, insertion of one or more rows, or update of one or more existing rows).
Warehouse
The Warehouse node provides a store interface that you can use to store all or part of the message in a database
XMLTransformation
Use the XMLTransformation node to transform an input XML message into another format using XSLT style sheets.
It, can perform the following actions:
* Sort the data
* Select data elements to include or exclude based on some criteria
* Transform the data into another format
JMSMQTransform
Use the JMSMQTransform node to transform a message with a JMS message tree into a message that has a tree structure that is compatible with the format of messages that are produced by the WebSphere MQ JMS provider.
MQJMSTransform
Use the MQJMSTransform node to receive messages that have a WebSphere MQ JMS provider message tree format, and transform them into a format that is compatible with messages that are to be sent to JMS destinations.
MQOptimizedFlow
Use the MQOptimizedFlow node to replace a publish/subscribe message flow that consists of an MQInput node connected to a Publication node, and that uses the JMS over WebSphere MQ transport.
User-defined
Use a user-defined node to handle specific requirements that are not met by the built-in nodes.
Decision making nodes
Validate
Use the Validate node to check that the message that arrives on its input terminal is as expected.
Use the Validate node to check that the message that arrives on its input terminal is as expected.
Filter
Use the Filter node with an ESQL statement to determine the next node to which the message is sent by this node.
FlowOrder
You can connect the terminals of this node to force the message to be processed by one sequence of nodes, followed by a second sequence of nodes.
Passthrough
Use the Passthrough node to enable version control of a subflow at run time. Use this node to add a label to your subflow.
RouteToLabel and Label
Use the RouteToLabel node following a Compute node for complex routing. Define a list of destinations in a Compute node that are acted on by the RouteToLabel node, which interrogates the destinations and passes the message on to the corresponding Label node.
ResetContentDescriptor
Use the ResetContentDescriptor node to set new message properties that are used when the message bit stream is next parsed by a subsequent node in the message flow.
Nodes for controlling time-sensitive
operations
TimeoutControl
Use a TimeoutControl node and a TimeoutNotification node together in a message flow to control events that occur at a specific time or at defined time intervals. The TimeoutControl node receives an input message that contains a timeout request. All or part of this input message is validated and stored to be propagated by an associated TimeoutNotification node in the message flow. The input message is also propagated unchanged to the next node in the message flow.
Use a TimeoutControl node and a TimeoutNotification node together in a message flow to control events that occur at a specific time or at defined time intervals. The TimeoutControl node receives an input message that contains a timeout request. All or part of this input message is validated and stored to be propagated by an associated TimeoutNotification node in the message flow. The input message is also propagated unchanged to the next node in the message flow.
TimeoutNotification
Use a stand-alone TimeoutNotification node to generate messages that are propagated at configured times or time intervals to the next node in the message flow for further processing.
Nodes for collating
requests
Use the AggregateControl,
AggregateReply, and AggregateRequest nodes to collate related
requests and responses. Use these nodes to generate several requests in
response to one input message, to control and coordinate the responses that are
received in response to those requests, and to combine the information that is
provided by the responses to continue processing.
Error handling and reporting nodes
Trace
Include a Trace node to generate one or more trace entries to record what is happening in the message flow at this point.
Include a Trace node to generate one or more trace entries to record what is happening in the message flow at this point.
TryCatch
Include a TryCatch node to control the error processing when exceptions are thrown.
Throw
Include a Throw node to force an exception to be thrown, and specify the identity of the exception, to make it easier to diagnose the problem.
New nodes in v6.1
File and FTP nodes
FileInput node reads files from the local file system or FTP server
FileOutput node writes files to the local file system or FTP server
Route, database route
nodes:
The new Route node provides a
graphical technique to enable incoming requests to be examined, and flow sent
down the appropriate part of the message flow, depending on the specified
criteria.
The DatabaseRoute node provides a similar function to the Route node, but the routing decision is based on the contents of a relational database.
DatabaseRetrieve node enables data to be retrieved from one of more relational databases, and use a similar dialogue to the DatabaseRoute node.
New nodes in V7
V7 introduced new nodes for SCA
(service component architecture). These are nodes are basically for use with
websphere process server which uses SCA.
SCA Input Node: A WebSphere Process Server SCA Import component can use Message Broker as an SCA endpoint. The message received by the broker can be a SOAP over HTTP message or an MQ message on a queue, depending on the binding used by the node.
SCA Reply Node: This allows a response message to be sent from the broker back to the originating Process Server SCA client, in response to a prior message received by an SCA Input Node.
SCA Request Node: This allows synchronous requests to be made from the broker, allowing the broker to participate in synchronous message exchange patterns with a Process Server SCA export component. The message sent by the broker can be a SOAP message over HTTP, or an MQ message, depending on the binding used by the node. The node will perform a blocked wait for a specified time period until a response is received
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 changed in QM config file
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 changed 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 managers
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 appropriate receiver channel.
monitor the system-defined initiation queue SYSTEM.CHANNEL.INITQ
Channel Listener - listens for any incoming network requests and starts the appropriate 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
QMGR 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 various actions on that message. The runmqdlq command takes its input from stdin. When 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 rules interactively.
What
is a MCA?
A
Message Channel Agent(MCA) - sits at each end of the channel controlling the
sending and receiving messages. MCA takes the messages from the transmission
queue 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 that 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 revoke
authorizations as required.
A security refresh is required after setmqaut commands are issued. This can be done 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.
A security refresh is required after setmqaut commands are issued. This can be done 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 Process 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 using 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 placed
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
system 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
communicating 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 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:
|
Q:
|
What
are the advantages of using Websphere message broker?
|
A:
|
Websphere
message broker provides services, based on message brokers to allow you to:
|
Q:
|
What all are the main components used in
Message Broker?
|
A:
|
The
main components used in Message Broker Name Server are
|
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
message, passes the original message or the changed message, to the next node
in the 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:
|
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 authentication of users
and groups and give an administrative control over who can publish and who
can subscribe operations.
|
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.
|
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 output 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 applications
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 :
|
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.
|
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.
|
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
|
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.
|
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.
|
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
broker archive (BAR) with new values that you specify in a properties file.
|
Q:
|
Which nodes in WMB supports aggregation?
|
A:
|
|
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:
|
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
|
Q:
|
What are the types of TRACES?
|
A:
|
|
Q:
|
What are the Types of Queues, one can
create in MQ?
|
A:
|
|
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. |
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 queue
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
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.
|
Q:
|
In what all cases message goes into
DeadLetter Queue?
|
A:
|
|
Q:
|
WMB provide supports for what types of
messages?
|
A:
|
WMB provide
support for following type of messages:
|
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.
|
Q:
|
|
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
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. |
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. |
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. |
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.
|
Q:
|
What is the purpose or use of compute
node?
|
A:
|
The Compute node
is used to:
|
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.
|
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. |
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.
|
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
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.
|
Q:
|
What functionality ESQL provides?
|
A:
|
Through ESQL you
can
|
Q:
|
What are the types of variables in ESQL?
|
A:
|
ESQL
variables can be described as external variables, normal variables, or shared
variables.
|
Q:
|
What are external variables, normal
variables, or shared variables?
|
A:
|
External
variables:
|
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:
|
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:
|
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:
|
Q:
|
What all nodes can access databases?
|
A:
|
We can access a
database from a message flow by using the following nodes:
|
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).
|
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:
|
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:
|
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.
|
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:
|
Q:
|
What are the ways to create message
models?
|
A:
|
You can create a
message model by using the following methods:
|
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.
|
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).
|
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.
|
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.
|
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
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.
|
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:
|
3.
What are the main components of IIB/WMB?
The 3 main components in IIB/WMB are Runtime, Development and Administration.
The 3 main components in IIB/WMB are Runtime, Development and Administration.
- Runtime - The broker runtime is the main processing component to which development 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 perform deploys, create brokers or new execution groups, and enable flow monitoring. WMB V8 provides a WebUI tool to view the broker runtime or resources deployed 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 nodes or use databases for other function and so Message Broker does provide functionality 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, installation 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 Center
6. Getting started with IIB/WMB. Is there a default configuration of IIB/WMB that I can use?
Yes. IIB/WMB provides a default configuration. This can be started through Toolkit 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
Product?
The IBM Education Assistant site has a number of education modules across multiple Message Broker releases. See the IBM Education Assistant: WebSphere Message Broker page
IBM Education also offers courses on IIB/WMB. See this list of IIB/WMB courses being offered.
The IBM Education Assistant site has a number of education modules across multiple Message Broker releases. See the IBM Education Assistant: WebSphere Message Broker page
IBM Education also offers courses on IIB/WMB. See this list of IIB/WMB courses being offered.
8. Where can I find samples for IIB/WMB?
A comprehensive set of samples are provided with IIB/WMB. These samples can be found on the Toolkit Welcome page. The samples cover basic concepts as well as advanced 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 Broker 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 > Configuring 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 seen in Task Manager (on Windows) and/or ps listing (on UNIX's). On z/OS these processes run under USS.
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 > Configuring 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 seen in Task Manager (on Windows) and/or ps listing (on UNIX's). On z/OS these processes 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 SOAP 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 enables the different nodes in the message flow to emit events when processing messages. These events can be further fed to other applications such as WebSphere Business Monitor for transaction monitoring, transaction auditing, and business process monitoring. More information can be found in the online Information Center under the topic Performance and monitoring > Business-level monitoring
13. What are the High availability options available in IIB/WMB?
Business level monitoring can be configured in IIB/WMB message flows that enables the different nodes in the message flow to emit events when processing messages. These events can be further fed to other applications such as WebSphere Business Monitor for transaction monitoring, transaction auditing, and business process monitoring. More information can be found in the online Information Center under 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 options:
- Multi-instance mode using multi-instance queue manager
- Existing High Availability manager/Windows cluster such as HACMP or MSCS cluster
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
Administering existing brokers > Backing
up resources
15.
Are there any existing message flow patterns/templates that I can use to design
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
patterns 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 Broker Application Development perspective of the IIB/WMB Toolkit.
Patterns are available to a pattern user in the Patterns Explorer view in the Broker 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 will 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 version>
The details may be found in the online Information Center under the topic Reference > Configuration and administration > Commands > Runtime commands > mqsimigratecomponents 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 WebSphere Message Broker
18.
When is the next Fix Pack available?
19. Where are the security features provided in IIB/WMB?
IIB/WMB
provides a number of security features. Detailed information about all the
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 Message
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 custom node?
MbInputNodeInterface
Difference
between RAD and ORDINARY deployment?
Using Resource adapter deployment, we can reuse the
deployment till the server is re- booted
Define BROKER,
BAR, EXECUTION GROUP, SCADA, and COMPONENTS OFBROKER,WORKBENCH, WORKSPACE, and
CMM?
BROKER:
A
broker is a set of execution processes that hosts one or more message flows
toroute, transform, and enrich inflight messages.
BAR:
Flows
and sets that are to be deployed are packed in it and sent to configuration
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 betweenmessage
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 the MQIsdp protocol to send messages, which are converted by
the SCADAInput node into a formatrecognized by WebSphere Message Broker. The
node also establishes the 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 and 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 Name Server is an optional runtime component that provides
authentication of usersand 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
names 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
subsequent 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
standard part of the tree format.
Functions of ESQL?
MQInput
node and INPUT node differences?You must use an Input node to provide the in
terminal to a subflow.The Input node provides an in terminal for an embedded
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
they provide
Input and
output
MQInput nodeMQOptimizedFlow
nodeMQOutput nodeMQGet nodeMQReply nodePublication nodeMQeInput nodeMQeOutput
nodeSCADAInput nodeSCADAOutput nodeHTTPInput nodeHTTPReply nodeHTTPRequest
nodeReal-timeInput nodeReal-timeOptimizedFlow nodeInput nodeOutput nodeJMSInput
nodeJMSOutput node
Message
manipulation and transformation
Compute nodeDatabase node
DataDelete nodeDatalnsert
nodeDataUpdate nodeExtract nodeJavaCompute nodeJMSMQTransform
nodeMQJMSTransform nodeMapping nodeWarehouse nodeXMLTransformation node
Collating
requests
AggregateControl nodeAggregateReply
nodeAggregateRequest node
Decision
making
Check nodeFilter nodeFlowOrder
nodeLabel nodeResetContentDescriptor nodeRouteToLabel 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 Perspective.Java
Perspective (MB 6).
In
which perspective we deploy the flow?
Administrator perspective
No comments:
Post a Comment
Note: only a member of this blog may post a comment.