Tuesday, June 14, 2011

WebSphere MQ Question & Answer

1. What is Messaging?

A Messaging is collection of data by sending each other data in messages rather than by calling each other directly.

2. What is Queuing?

Queuing: the messages are placed on queues in storage, so that programs can run independently of each other, at different speeds and times, in different locations, and without having a logical connection between them.

3. What is Publish/subscribe?

A program can send (publish) data to a single destination, and let WebSphere MQ deal with the distribution of that data to other programs (subscribers). The publisher defines a topic for the information, and the subscriber specifies what topics it wants to receive.

4. What are the message types WebSphere MQ support?

Datagram : A simple message for which no reply is expected
Request : A message for which a reply is expected
Reply : A reply to a request message
Report : A message that describes an event such as the occurrence of an error

Applications can use the first three types of messages to pass information between themselves. The fourth type, report, is for applications and queue managers to use to report information about events such as the occurrence of an error. Each type of message is identified by an MQMT_* value

5. How many types of Queues WebSphere MQ support?

Local Queue:
an actual queue for which storage is allocated.
Remote Queue: a definition a queue on a different queue manager (acts somewhat like a pointer)
Alias Queue: Another name for a local or remote queue. Typically used to switch queue destinations without modifying program code.
Model Queue: a template whose properties are copied when creating a new Dynamic local queue (Create queue xxx like queue yyy).


Difference Between WebSphere MQ and Message Broker

WebSphere MQ is a solution for application-to-application or Business to Business communication services regardless of where your applications or data reside. Whether on a single server, separate servers of the same type, or separate servers of different architecture types, WebSphere MQ facilitates communications between applications by sending and receiving message data via messaging and queuing style. Applications then use the information in these messages to interact with Web browsers, business logic, and databases. WebSphere MQ provides a secure and reliable transport layer for moving data unchanged in the form of messages between applications but it is not aware of the content of the messages. WebSphere MQ uses a set of small and standard application programming interfaces (APIs) that support a number of programming languages, including Visual Basic, NATURAL, COBOL, Java, and C across all platforms.

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. Customers can define the set of operations on each message depending on its content. The message processing nodes supplied with WebSphere Message Broker are capable of processing messages from various sources, such as Java Message Service (JMS) providers, HyperText Transfer Protocol (HTTP) calls, or data read from files. By connecting these nodes with each other, customers can define linked operations on a message as it flows from one application to its destination.

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

Together, WebSphere MQ and WebSphere Message Broker deliver a comprehensive publish and subscribe facility, connecting Message Broker’s broad transport and format support to WebSphere MQ’s messaging backbone. WebSphere Message Broker extends the WebSphere MQ publish and subscribe functionality with advanced function such as content-based publish and subscribe by means of an enhanced Publication node. The two products share a common publish and subscribe domain for topic- and content-based operations