+ All Categories
Home > Documents > Mb All Basics

Mb All Basics

Date post: 28-Feb-2018
Category:
Upload: abhinav-garg
View: 217 times
Download: 0 times
Share this document with a friend

of 36

Transcript
  • 7/25/2019 Mb All Basics

    1/36

    Sagar Thanneru's Blog

    IBM WMB

    IBM WEB SPHERE MESSAGE BROKER

    What is WebSphere Message Broker [WMB]

    Message Broker (MB) introduction:

    Application Connectivity:

    Application connectivity is about providing a way for application programs to 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 transportoptions, but when integrating across heterogeneous environments and when dealingwith applications that were not designed to intercommunicate, there are severalmandatory 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 customerssituation).

    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. Butas 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 aseries 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, simplyan extension of the path from the source application to the destination applicat

    ion. In other words, it is assumed that the destination wants, expects, and willhandle all messages sent to it.

  • 7/25/2019 Mb All Basics

    2/36

    Basically, the Message Broker is a WebSphere MQ applicationthat routes and transforms messages.

    The WebSphere Message Broker consists of four components (Toolkit, configurationmanager, 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 ToolKitDefinition of message flowsDefinition and import of message definitionsDeployment of message flows and message sets to brokersControl of log entries written during deployStart, stop, and trace of message flows running in brokersRegistering brokers in the configuration domaiViewing and deleting subscriptions for publish/subscribeSetting 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 flow

    s and message sets, which also transforms the data into the structure required by the receiving applications.

    Broker Domains

    A broker domain is one or more brokers that share a common configuration, together with the single configuration manager that controls them. The configuration manager maintains all configuration details about the brokers in its domain within its internal configuration repository.

    Configuration Manager

    The configuration manager functions as the interface between toolkit instances,its internal configuration repository, and a set of brokers executing message flows.

    The configuration manager provides brokers with their initial configuration, andupdates them with any subsequent changes. It maintains the broker domain configuration. The configuration manager is the central runtime component that managesthe components and resources that constitute the broker domain. Administratorstypically 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.

  • 7/25/2019 Mb All Basics

    3/36

    Message Flows

    A message flow is really nothing more than a program created using graphical tools. The toolkit component provides both the environment and tools to accomplishthis task.

    WebSphere Message Broker (WMB) Nodes

    Message broker nodes are used in Message flows. A message flow node is a processing step in a message flow.

    A message flow node receives a message, performs a set of actions against the message, and optionally passes the message on to the next node inthe 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 amessage 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.Clientapplications 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 targetof the messages. Although a message flow must include at least one input node, it does not need to include an output node.

    Overview of all the nodes available in WMB v6.0, 6.1 and 7.0

    Input Nodes:MQInput: Use an MQInput node if the messages arrive at the broker on a WebSphere MQ queue, and the node is to be at the start of a message flow.

    MQGet: Use an MQGet node if the messages arrive at the broker on a WebSphere MQ queue and the node is not to be at the start of a message flow.

    SCADAInput:

    Use a SCADAInput node if the messages are sent by a telemetry device.

    HTTPInput:

  • 7/25/2019 Mb All Basics

    4/36

    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 messageflow (a subflow) that you will not deploy as a stand-alone message flow, you must include at least one Input node to receive messages into the subflow.

    Output Nodes:Publication Use a Publication node to distribute the messages using the publish/subscribe network for applications that subscribe to the broker across all supported protocols.

    MQOutput Use an MQOutput node if the target application expects to receive messages on a WebSphere MQ queue, or on the WebSphere MQ reply-to queue that is specifiedin the input message MQMD

    MQReply

    Use an MQReply node if the target application expects to receive messages onthe 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 thatuses a different protocol or transport.

    Output node If you are creating a message flow that you want to embed in another messageflow (a subflow) that you will not deploy as a stand-alone message flow, you mu

  • 7/25/2019 Mb All Basics

    5/36

    st include at least one Output node to propagate messages to subsequent nodes that you connect to the subflow.

    Nodes for manipulating, enhancing, and transforming messagesCompute Use the Compute node to: * Manipulate message content

    * Transform the message in some way * Interact with a database to modify the content of the message or the database and pass on one or more new messages

    JavaCompute Use the JavaCompute node to: * Examine an incoming message and, depending on its content, propagate it unchanged to one of the nodes two output terminals. The node behaves in a similar way to a Filter node, but uses Javainstead 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 partialcopy of the message that is received by the node.

    Database Use the Database node to interact with a database that is identified by thenode properties. The Database node handles both predefined and self-defining mes

    sages.

    DataDelete, DataInsert, DataUpdate The DataDelete, DataInsert, and DataUpdate nodes are specialized forms of 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 allor 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 JMSprovider message tree format, and transform them into a format that is compatib

  • 7/25/2019 Mb All Basics

    6/36

    le 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 theJMS over WebSphere MQ transport.

    User-defined Use a user-defined node to handle specific requirements that are not met bythe built-in nodes.

    Decision making nodes

    Validate Use the Validate node to check that the message that arrives on its input terminal is as expected.

    Filter Use the Filter node with an ESQL statement to determine the next node to whi

    ch 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 RouteToLabe

    l 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 timeoutrequest. 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 collaterelated requests and responses. Use these nodes to generate several requests inresponse to one input message, to control and coordinate the responses that are

  • 7/25/2019 Mb All Basics

    7/36

    received in response to those requests, and to combine the information that isprovided by the responses to continue processing.

    Error handling and reporting nodesTrace Include a Trace node to generate one or more trace entries to record what ishappening in the message flow at this point.

    TryCatch Include a TryCatch node to control the error processing when exceptions arethrown.

    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 tobe 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 V7V7 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 MessageBroker as an SCA endpoint. The message received by the broker can be a SOAP overHTTP message or an MQ message on a queue, depending on the binding used by thenode.

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

  • 7/25/2019 Mb All Basics

    8/36

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

  • 7/25/2019 Mb All Basics

    9/36

    When a queue manager starts, what are the default components that start with theQueue 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 remoteQMs?

    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.

    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)"

  • 7/25/2019 Mb All Basics

    10/36

    In order to recover a queue from a media failure, what type of logging combinedwith messaging should be?ans. Linear logging with persistent messaging

    Name the log control file in MQ v6?

    Log control file is amqhlctl.lfhDefault 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 thatis 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 theinitiation 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 processorcomponent.Reads messages from system-command input queue, verifies them, passes the validones as commands to the command processorcommand processor processes the message and replies back to the reply-to queue that is specified.

    System command input queue -> SYSTEM.COMMAND.INPUTSYSTEM.ADMIN.COMMAND.QUEUEreply-to queue -> SYSTEM.COMMAND.REPLY.MODEL

    Security/Authorization

    Authorization for using MQI calls, commands and access to objects is provided by

  • 7/25/2019 Mb All Basics

    11/36

    the Object Authority Manager (OAM). The setmqautcommand 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 orby runmqsc command refresh security(*) alldspmqautand dmpmqautcan be used to view authorities.

    Stopping queue managers in WebSphere MQ for WindowsTo 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 managerAMQZXMA0

    Execution controllerAMQZFUMA

    OAM processAMQZLAA0

    LQM agentsAMQZLSA0

    LQM agentsAMQZMGR0

    Process controller

    AMQZMUR0

    Restartable process managerAMQRMPPA

    Process pooling processAMQRRMFA

    The repository process (for clusters)AMQZDMAA

    Deferred message processorAMQPCSEA

    The command serverAMQXSSVN

    Shared memory serversAMQZTRCN

    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, rebootyour system.

    Stopping queue managers in WebSphere MQ for UNIX systemsTo stop a queue manager running under WebSphere MQ for UNIX systems:

  • 7/25/2019 Mb All Basics

    12/36

    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 thefollowing 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 manageramqzxma0

    Execution controlleramqzfuma

    OAM processamqzlaa0

    LQM agentsamqzlsa0

    LQM agentsamqzmgr0

    Process controlleramqzmur0

    Restartable process manager

    amqrmppa

    Process pooling processamqrrmfa

    The repository process (for clusters)amqzdmaa

    Deferred message processoramqpcsea

    The command serverNote: 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 usingthis method

    WebSphere Message Broker Interview QuestionsQ:

    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.

  • 7/25/2019 Mb All Basics

    13/36

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

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

  • 7/25/2019 Mb All Basics

    14/36

    Q:

    What all are the main components used in Message Broker?A:

    The main components used in Message Broker Name Server are

    User Name Server Configuration Manager Broker

    Q:

    What do you understand by Broker Domain?A:

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

    Q:

    What is the significance of nodes in message flows?A:

    A message flow node receives a message, performs a set of actions against the me

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

    Q:

    How can we create broker?A:

    Two ways to create broker:

    By using Websphere Message Broker Explorer.

    By using command prompt.

  • 7/25/2019 Mb All Basics

    15/36

    Q:

    What is the command use to create broker?A:

    mqsicreatebroker is the command used to create broker.

    Q:

    What is User name Server?A:

    The User Name Server is an optional runtime component that provides authenticati

    on of users and groups and give an administrative control over who can publish 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 info

    rmation about valid users and groups in a broker domain.

    Q:

    Can a single queue manager have two brokers?A:

    No a single queue mnager cannot have two brokers.

    Q:

    With Which command one can deploy the bar files?A:

    Using the mqsideploy command one can deploy the bar files.

    Q:

    What is the difference between a Root and OuputRoot?

  • 7/25/2019 Mb All Basics

    16/36

    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 flowsonto 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 :

    Routing Transformation and Integration

    Q:

  • 7/25/2019 Mb All Basics

    17/36

    What do you mean by an Execution Group?A:

    An execution group is a named grouping of message flows that have been assignedto a broker. The broker enforces a degree of isolation between message flows indistinct 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

    Administration Perspective

    Application Development Perspective Debugging Perspective Java Perspective (MB 6)

    Q:

    What is the significance of message flows in message broker?A:

    A message Flow describes the sequence of steps followed in the broker that 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 streamand creates an internal representation of it in a tree like structure, which can be then understand by message broker assembly.

  • 7/25/2019 Mb All Basics

    18/36

    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 utilityclasses, 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:

    AggregateControl

  • 7/25/2019 Mb All Basics

    19/36

    AggregateRequest AggregateReply

    Q:

    Is it possible to create multiple instances of a message flow?A:

    Yes. We can create multiple instance of a message flow by deploying the messageflows to different execution group.

    Q:

    What is a logical message tree?A:

    Logical message tree is the internal representation of a message.

    Q:

    What are the types of Trees?A:

    Four sub tree of a logical tree created by input node of a message flow:

    Message tree Environment tree Local Environment tree Exception List tree.

    Q:

    What is the purpose of a filter node?A:

    The purpose of a filter node is to route a message based on the content dynamically

    Q:

    What are the types of TRACES?A:

  • 7/25/2019 Mb All Basics

    20/36

    User trace Service trace.

    Q:

    What are the Types of Queues, one can create in MQ?A:

    Local queue Remote queue Transmission queue Alias queue Dead letter queue

    Q:

    What are the types of clients in MQ?A:

    There are two types of clients in MQFat Clients: Does have a local queue manager.Slim clients: Does not have a local queue manager, whereas the queue manager res

    ide on the server.

    Q:

    With which all nodes one can change message in a message flow?A:

    Compute Node, Message Mapping Node, Filter Node, ResetContentDescriptor Node cachange message in a message flow.

    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.

    Q:

  • 7/25/2019 Mb All Basics

    21/36

    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 Computenode, 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 outputmessage. The environment tree is included automatically, and the entire content

    s of the input environment tree are retained in the output environment tree. Anychanges 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:

    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.

    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

  • 7/25/2019 Mb All Basics

    22/36

    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:

    What do you mean by ResetContentDescriptor node?A:

    ResetContentDescriptor node request to parse the message with different parser,leaving the message content unchanged.

    Q:

    What is the difference between an MQGet node nd MQInput node?A:

    The MQGet node reads a message from a specified queue, and establishes the processing environment for the message. Whereas, The MQInput node receives a messagefrom 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, whichblocks processing after sending the request until the response is received.

    Q:

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

  • 7/25/2019 Mb All Basics

    23/36

    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 proper

    ties.

    Q:

    What is the difference between Input and MQInput node?A:

    Use the Input node as an In terminal for an embedded message flow (a subflow).The MQInput node receives a message from a WebSphere MQ message queue that is defi

    ned on the queue manager of the broker. It is the first node of your message flow.

    Q:

    What is the purpose or use of compute node?A:

    The Compute node is used to:

    Build a new message using a set of assignment statements Copy messages between parsers Convert messages from one code set to another Transform messages from one format to another

    Q:

    How the interaction with Database does take place using Compute node?A:

    In Data Source specify the name by which the appropriate database is known on 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.

  • 7/25/2019 Mb All Basics

    24/36

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

  • 7/25/2019 Mb All Basics

    25/36

    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 s

    uch 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

    Change the message content. Modify an existing message Create a new message Add dynamic terminals Route a message Propagate a new request

    Q:

    What are the types of variables in ESQL?A:

    ESQL variables can be described as external variables, normal variables, or shared variables.

    Q:

    What are external variables, normal variables, or shared variables?A:

    External variables:

    Also known as user defined properties. Exist for entire life time of a message flow and are visible to all messagespassed 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 BAReditor.

    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.

  • 7/25/2019 Mb All Basics

    26/36

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

    Q:

    What are patterns?A:

    A pattern captures a tested solution to a commonly recurring problem, addressingthe objectives that you want to achieve.

    Q:

    What are the benefits of using patterns?A:

    Patterns provide the following benefits:

    Give you guidance for the implementation of solutions Increase development efficiency, because resources are generated from a setof predefined templates Result in higher quality solutions, through reuse of assets and common implementation of programming approaches, such as error handling and logging

    Q:

    How do you ensure that messages do not lose?A:

    For application and internal messages traveling across WebSphere MQ, two techniques protect against message loss:

    Message persistence - If a message is persistent, WebSphere MQ ensures thatit is not lost when a failure occurs, by copying it to disk. Sync point control - An application can request that a message is processedin a synchronized unit-of-work .

    Q:

  • 7/25/2019 Mb All Basics

    27/36

    How to use functions in your esql code?A:

    Use CALL keyword to call functions or methods.

    Q:

    What are the ways in which you can access databases from a message flow?A:

    You can access a database from a message flow in two ways:

    You can design a message flow that responds to events generated by the database. After a flow has already started, you can access the database to read or upd

    ate information in it. Information from the database can be used to enhance or influence the operation of the message flow.

    Q:

    What all nodes can access databases?A:

    We can access a database from a message flow by using the following nodes:

    Compute Database

    DatabaseInput DatabaseRetrieve DatabaseRoute Filter JavaCompute Mapping

    TOPhttps://reader009.{domain}/reader009/html5/0326/5ab90a6fc49b7/5ab90a7871e12.jpg

    Q:

    What is Publish/Subscribe?A:

    Publish/subscribe is a style of messaging application in which the providers ofinformation (publishers) are decoupled from the consumers of that information (subscribers).

    Q:

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

  • 7/25/2019 Mb All Basics

    28/36

    We can transform and enrich messages by using one or more of the following techniques:

    Mappings ESQL Java XSL style sheets

    PHP .NET

    Q:

    What are the basic error handling techniques available in message flow?A:

    There are two general approaches to handle errors in a message flow:

    Failure checking Catching Exceptions

    Q:

    What are message models?A:

    Most message formats are not self-defining, and a parser must have access to a 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:

    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 programsfor WebSphere Message Broker message flows, the ESQL editor can use message mod

    els to provide code completion assistance. Drag-and-drop operations on message maps. When you are creating message mapsfor WebSphere Message Broker message flows, the Message Mapping editor uses the

  • 7/25/2019 Mb All Basics

    29/36

    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.

    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 usingthe editors provided in the WebSphere Message Broker Toolkit. By using the Adapter Connection wizard to import EIS metadata. By creating a populated model file from example message data. .

    Q:

    What is the difference between mqsicreatemsgdefs or mqsicreatemsgdefsfromwsdl 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:

  • 7/25/2019 Mb All Basics

    30/36

    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 multipartmessage must contain a group, or a complex type, with its Composition propertyset 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:

  • 7/25/2019 Mb All Basics

    31/36

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

    3. What are the main components of IIB/WMB?

    The 3 main components in IIB/WMB are Runtime, Development and Administration.

    Runtime - The broker runtime is the main processing component to which development artifacts are deployed. Development - The Toolkit is used for development of message flows and otherdevelopment 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 productdoes 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 andMessage Broker explorer. On Windows all three components can be installed usingWindows 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/EDetailed information about installation is provided in the online Information Center

    IIB Installing and Uninstalling WMB Installing and Uninstalling.

    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 Toolk

    it Welcome screen. The default configuration wizard creates a broker and all theresources required.

  • 7/25/2019 Mb All Basics

    32/36

  • 7/25/2019 Mb All Basics

    33/36

    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 resources15. 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 thatare 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.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 -s -t

    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 Broker18. When is the next Fix Pack available?See the WebSphere Message Broker planned Fix Pack release schedule

    19. Where are the security features provided in IIB/WMB?IIB/WMB provides a number of security features. Detailed information about all the security features available in IIB/WMB can be found in the online InformationCenter under the topic Security overview20. Can I receive updates about IIB/WMB?Yes. To subscribe to the quarterly IIB/WMB Newsletter, send an email to [email protected] 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 basedon the input message

  • 7/25/2019 Mb All Basics

    34/36

  • 7/25/2019 Mb All Basics

    35/36

    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 flowDefine Correlation names?

    A correlation name is a field reference that identifies a well-defined startingpoint 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 yourmessageflows. For information about each of these nodes, follow the appropriatelink below. The nodeslisted here are grouped according to the function that they provide

    Input and outputMQInput nodeMQOptimizedFlow nodeMQOutput nodeMQGet nodeMQReply nodePublication nodeMQeInput nodeMQeOutput nodeSCADAInput nodeSCADAOutput nodeHTTPInput nodeHTTPReply nodeHTTPRequest nodeReal-timeInput nodeReal-timeOptimizedFlow nodeInput nodeOutput nodeJMSInput nodeJMSOutput nodeMessage manipulation and transformationCompute nodeDatabase nodeDataDelete nodeDatalnsert nodeDataUpdate nodeExtract nodeJavaCompute nodeJMSMQTransform nodeMQJMSTransform nodeMapping nodeWarehouse nodeXMLTransformation nodeCollating requestsAggregateControl nodeAggregateReply nodeAggregateRequest node

    Decision makingCheck nodeFilter nodeFlowOrder nodeLabel nodeResetContentDescriptor nodeRouteToLabel nodeTimeoutControl nodeTimeoutNotification nodeValidate nodeSubflow identificationPassthrough nodeError handling and reportingThrow nodeTrace nodeTryCatch nodeWhat are the perspectives we have?Administration PerspectiveApplication Development PerspectiveDebugging Perspective.Java Perspective (MB 6).In which perspective we deploy the flow?Administrator perspective

    Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest

    No comments:

    Post a Comment

  • 7/25/2019 Mb All Basics

    36/36

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

    HomeSubscribe to: Posts (Atom)About MeMy Photo

    Thanneru Sagar

    View my complete profile

    Picture Window template. Powered by Blogger.


Recommended