MQ Series – Drill One

 

What is MQSeries.

MQSeries is a software family developed by IBM and its components are used to enable different applications running on different operating systems to exchange data using messages and queues. MQSeries is also known as business integration software or business integration framework because of its ability to tie different types of applications together.

The MQSeries family of software also includes a standard library of functions known as the Message Queue Interface (MQI). The MQI is identical on different platforms and operating systems allowing straightforward and easy implementation. The MQI takes care of the communication layer and operating environment specifics allowing developers to concentrate on the applications business logic.

What is MQI

The Message Queue Interface (MQI) is the common API for MQSeries. It contains calls and messages that are language independent.

What is QUEUE

A queue is a data structure that stores messages. Applications send messages to, and receive messages from, a queue. Multiple applications can send information to the same queue.

Each queue has a name, similar to a TCP port.

Every queue belongs to a Queue Manager. The Queue Manager organizes the messages and places them in the appropriate queue. Each system can have multiple queue managers.

Queue managers talk to other queue managers through channels.

What is Channel.

A channel serves as a communication path that enables queue managers to transmit messages between each other. There are various types of transport protocols that can be used with channels, the most common being TCP/IP.

Explain IBM MQ Series.

MQSeries  is  IBM¢s  award-winning  middleware  for  commercial  messaging and  queuing.    It  runs  on  a  variety  of  platforms.   The  MQSeries  products enable  programs  to  communicate  with  each  other  across  a  network  of unlike  components,  such  as  processors,  subsystems,  operating  systems  and communication  protocols.    MQSeries  programs  use  a  consistent  application program  interface  (API)  across  all  platforms.

Programs use  MQSeries  API  calls,  that  is  the  message  queue  interface  (MQI),  to communicate  with  a  queue  manager  (MQM),  the  run-time  program  of MQSeries.    For  the  queue  manager  to  do  its  work,  it  refers  to  objects,  such as  queues  and  channels.    The  queue  manager  itself  is  an  object  as  well.

What Is Messaging and Queuing?

Messaging means  that  programs  communicate  with  each  other  by  sending data  in  messages  and  not  by  calling  each  other  directly. Queuing means  that  programs  communicate  through  queues.    Programs communicating  through  queues  need  not  be  executed  concurrently. With  asynchronous  messaging,  the  sending  program  proceeds  with  its  own processing  without  waiting  for  a  reply  to  its  message.    In  contrast, synchronous  messaging  waits  for  the  reply  before  it  resumes  processing.

MQSeries  is  used  in  a  client/server  or  distributed  environment.    Programs belonging  to  an  application  can  run  in  one  workstation  or  in  different machines  on  different  platforms.

What is a Queue  Manager?

 The  heart  of  MQSeries  is  its  run-time  program,  the queue  manager  (MQM). Its  job  is  to  manage  queues  of  messages.    Application  programs  invoke functions  of  the  queue  manager  by  issuing  API  calls.    For  example,  the MQPUT  API  puts  a  message  on  a  queue  to  be  read  by  another  program using  the  MQGET  API.   This  scenario  is  shown  in  Figure   31  on  page   54. A  program  may  send  messages  to  another  program  that  runs  in  the  same machine  as  the  queue  manager,  or  to  a  program  that  runs  in  a  remote system,  such  as  a  server  or  a  host.    The  remote  system  has  its  own  queue manager  with  its  own  queues. Application  programmers  do  not  need  to  know  where  the  program  runs  they send  messages  to.    They  put  their  message  on  a  queue  and  let  the  queue manager  worry  about  the  destination  machine  and  how  to  get  it  there. For  the  queue  manager  to  do  its  work,  it  refers  to  objects  that  are  defined  by an  administrator,  usually  when  the  queue  manager  is  created  or  when  a new  application  is  added.    The  objects  are  described  in  the  next  section. The  functions  of  a  queue  manager  can  be  defined  as  follows: · It  manages  queues  of  messages  for  application  programs. · It  provides  an  application  programming  interface,  the  Message  Queue Interface  (MQI).

read more @ http://www.redbooks.ibm.com/redbooks/SG244896.html