SlideShare a Scribd company logo
W W W. S R I N I M F. CO M
Copyright 2014
IBM MQ FOR ZOS
Basics
Copyright 2014
 MQ Series is a middleware software that implements
messaging and queuing.
 Messaging - - programs communicate by sending data
in messages rather than by calling each other directly.
 Queuing - messages are put on queues in
storage, eliminating the need for programs to be
logically connected.
Details
Copyright 2014
 Initially, IBM’s version of MQSeries ran only on
mainframe (CICS/ESA, IMS/ESA, and eventually VSE).
 Today it runs more than 35 platforms
MQ Series Objects
Copyright 2014
Queue Manager
A queue manager is that part of an MQSeries product
that provides the messaging and queuing services to
application programs, through the Message Queue
Interface (MQI) program calls.
It controls access to queues and serves as transaction
(syncpoint) coordinator for all queue operations.
QUEUES
Copyright 2014
MQSeries defines four types of queues. A queue instance is fully
qualified by its queue manager and queue name.
Local Queue - an actual queue for which storage is allocated.
Remote Queue - a definition of 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).
Triggers And Local Queues
Copyright 2014
 Local queues can generate events (messages) under
certain conditions (like queue full).
 These “event” messages can be used to “trigger” the
execution of a program.
 These events are called trigger messages. The queue
on which they are put is called an Initiation Queue.
Trigger Monitor
Copyright 2014
 Process defines an application to an MQSeries queue
manager. A process definition object is used for
defining applications to be started by a trigger
monitor.
 A trigger monitor is a program that listens on an
initiation queue and executes commands named in
Process definitions
Tip
Copyright 2014
 Both CICS and MQSeries were developed at Hursley
Laboratory in the United Kingdom
Channels
Copyright 2014
 A channel provides a communication path between Queue
Managers. There are two types of channels - Message
Channels and MQI channels (also called Client channels).
 Message channels - provide a communication path
between two queue managers on the same, or
different, platforms.
 A message channel can transmit messages in one direction
only. If two-way communication is required between two
queue managers, two message channels are required.
Channel Types
Copyright 2014
There are six types of message channels:
Sender - initiates connection to Receiver
Server - Accepts request to start from requester, then becomes Sender
Receiver - Passive; waits for initiation sequence form Sender
Requester - Active at start, then becomes Receiver
Cluster-sender (used amongst Cluster Queue Managers)
Cluster-receiver –As above
The Sender side of the session is the “transaction coordinator”. Message
channels implement a protocol that includes a commitment protocol.
Channels recover from failure by agreement: they must agree on the last
committed unit of work .(This is the reason channels are oneway)
MQI Channels
Copyright 2014
 MQI channels - connect an MQSeries client to a queue
manager on a server machine (where a queue manager
is defined). Used for transfer of MQI calls and
responses only and is bi-directional.
Flow of Messages
Copyright 2014
Flow of Messages
Copyright 2014
Details-Flow
Copyright 2014
1. Transmission Queue is a local queue.
2. Remote Queues “name” a transmission queue, and a
remote Queue Manager (QM2) and q local queue on QM2
3. App opens queue that is defined as a remote queue
4. App puts to queue
5. Queue manager places message on transmission queue
6. Message Channel Agent reads message and sends to
remote MCA.
7. Remote MCA gives message to Queue Manager QM1
8. QM1 puts message to target queue.
Messages
Copyright 2014
A message any arbitrary data that one program wants
to send to another. This data is called the application
data.
A message needs to include other information, such as
its destination and possibly a return address. This type
of data is called the message descriptor
Messages
Copyright 2014
A message any arbitrary data that one program
wants to send to another. This data is called the
application data.
A message needs to include other information, such
as its destination and possibly a return address. This
type of data is called the message descriptor.
There are four types of messages:
A request message is used by one program to ask
another program for something (usually data). A
request message needs a reply.
Messages contd…
Copyright 2014
A reply message is used in response to a request
message.
A one-way message, as you would expect, doesn’t need
a reply, though it can carry data.
A report message is used when something unexpected
occurs. For example, if the data in a reply message is not
usable, the receiving program might issue a report
message.
Message Contd…
Copyright 2014
Most useful report messages are generated by the Queue
Manager. For example, Delivery confirmation.
Messages can have a “time-to-live”, called Expiry. A
message that has not been delivered before its
expiration is removed (not given to an app)
What to do with undeliverable messages? Each queue
manager can have a dead-letter queue.
Messages Contd…
Copyright 2014
Messages can be individually designated persistent or non-persistent
(persistent messages are logged to enable recovery)
Message Correlater - select which message to get from queue
Message Priority - retrieve messages in different order of put
Segmented Messages - allows ending of VERY LARGE messages (> 100
MB). A message can contain a “reply to” address (the name of a Queue
Manager and Queue). This tells the receiving application where any
response should be sent. Messages are added and removed from queues in
Units of Work. The smallest Unit of Work is one message.
Units of work are atomic. When an app reads a message from a queue, a
message “appears” to have been removed, but in fact, it is still in storage
until the app “commits” the unit of work.
Transaction Support
Copyright 2014
 Unit of recovery - a piece of work that changes data
from one point of consistency to another.
 Syncpoint - A point of consistency (also called a or
commit point). It is a moment at which all the
recoverable data that an application program accesses
is consistent.
Process
Copyright 2014
Process contd…
Copyright 2014
 Applications are responsible for delimiting the beginning
and end of a transaction. How can messaging be
coordinated with a data base update?
 MQSeries is XA compliant and can operate with other XA
compliant systems as either a transaction manager
(coordinator) or resource manager (particpant).
Some examples: Sybase, DB2, Oracle.
MQ Series Logging
Copyright 2014
All operations that affect the “state” of the Queue
Manager and its objects are logged to a log file.
 What is “state”?
Object definitions (queue
manager, queues, processes, channels, etc)
Queue content (messages)
 What about message channel state?
Message channel states are logged separately by each
channel.
Logging and Recovery
Copyright 2014
 Circular – log records are written sequentially across several
files, then “wrap” back to the first file.
 Linear - log records are written sequentially across files. New
files are allocated as current files fill. No automatic reuse of file
space!
 Problem: Length (in time) of longest running
transaction vs amount of writes to log determines size
of log needed.
Tips…
Copyright 2014
 Circular logging is easy to manage, but is fatal if log is
damaged (hard to backup circular logs!).
 Linear logging is hard to maintain but provides for
archiving of previous logs (still a problem if “current”
log is damaged).
MQ Interfaces
Copyright 2014
 MQCONN – Connect to queue manager
 MQDISC – Disconnect from queue manager
 MQOPEN – Open object
 MQCLOSE – Close object
 MQPUT – Put message
 MQPUT1 – Put one message
 MQGET – Get message
 MQBEGIN – Begin unit of work
 MQCMIT – Commit
 MQBACK – Back out
 MQINQ – Inquire about object attributes
 MQSET – Set object attributes
Benefits
Copyright 2014
Interoperabilty - across dissimilar networks
between different computing environments
Asynchrony - Eliminates the time dependency
between applications (both apps must be alive AND
have a session in synchronous models).
Fewer Network Sessions - Only Queue Mangers
need to communicate using network sessions.
Administered Objects - Improves manageability of
BIG systems -Can monitor the state of a queue to
determine if apps are doing what they should:
Benefits …
Copyright 2014
Does any process have queue open for reading or writing?
Has a high water mark been reached?
How many messages have been added and removed in a
measured interval?
Message Persistence == Assured Delivery
Queues in stable storage retain messages even if applications
fail.
Even memory-only queues persist if at least the Queue Manager
stays up.
Transaction Support - Queue operations are just like reads and
writes in a database transaction!
Can we combine queue operations AND database operations
atomically? (YES!)
Copyright 2014
THANK YOU

More Related Content

PPT
IBM MQ Online Tutorials
PDF
Websphere MQ (MQSeries) fundamentals
PPT
CICS basics overview session-1
PDF
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
PPTX
IBM MQ Overview (IBM Message Queue)
PPT
IBM Websphere MQ Basic
PDF
Cics tutorial
PDF
Mainframe
IBM MQ Online Tutorials
Websphere MQ (MQSeries) fundamentals
CICS basics overview session-1
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
IBM MQ Overview (IBM Message Queue)
IBM Websphere MQ Basic
Cics tutorial
Mainframe

What's hot (20)

PPTX
Resource Access Control Facility (RACF) in Mainframes
DOC
TSO Productivity
PPT
IBM WebSphere MQ Introduction
PPT
Mainframe Architecture & Product Overview
PDF
WebSphere MQ tutorial
PPT
Cics Connectivity
PDF
Tso and ispf
PPT
Db2
PDF
Dissecting the rabbit: RabbitMQ Internal Architecture
DOC
Mainframe interview
PDF
RACF - The Basics (v1.2)
PDF
Z4R: Intro to Storage and DFSMS for z/OS
PPT
List Processing in ABAP
PDF
100 COOL MAINFRAME TIPS
ODP
IBM WebSphere MQ for z/OS - Security
PPTX
MQ Infrastructure of Today and Tomorrow
PDF
MQ Support for z/OS Connect
PDF
IMS DC Self Study Complete Tutorial
PDF
Websphere MQ admin guide
PPT
Mq presentation
Resource Access Control Facility (RACF) in Mainframes
TSO Productivity
IBM WebSphere MQ Introduction
Mainframe Architecture & Product Overview
WebSphere MQ tutorial
Cics Connectivity
Tso and ispf
Db2
Dissecting the rabbit: RabbitMQ Internal Architecture
Mainframe interview
RACF - The Basics (v1.2)
Z4R: Intro to Storage and DFSMS for z/OS
List Processing in ABAP
100 COOL MAINFRAME TIPS
IBM WebSphere MQ for z/OS - Security
MQ Infrastructure of Today and Tomorrow
MQ Support for z/OS Connect
IMS DC Self Study Complete Tutorial
Websphere MQ admin guide
Mq presentation
Ad

Viewers also liked (20)

PPTX
Mainframe - OPC
PDF
PDF
End to-end scheduling with ibm tivoli workload scheduler version 8.2 sg246624
PPTX
100 sql queries
PPTX
OPC PPT
PDF
Mainframe refresher-part-1
PDF
Ibm tivoli workload scheduler for z os best practices end-to-end and mainfram...
PDF
IBM MobileFirst Platform v7.0 Pot Intro v0.1
TXT
Mainframe OPC
PDF
DB2 Systems Programming Tools of the Trade NA07B03
DOC
Summary session 5
PPT
TWS zcentric Proof of Technology (from 2013 European Tour)
PDF
CA ACF2™ and CA Top Secret® Part 1: The Road Leading to r16 and Capabilities ...
TXT
Db2 zos-sharing
PPT
How To Master PACBASE For Mainframe In Only Seven Days
PPT
Parallel Sysplex Implement2
PDF
FlashCopy and DB2 for z/OS
DOC
White Paper, The Basics Of Data Security
PPTX
IMSDB - DBRC
Mainframe - OPC
End to-end scheduling with ibm tivoli workload scheduler version 8.2 sg246624
100 sql queries
OPC PPT
Mainframe refresher-part-1
Ibm tivoli workload scheduler for z os best practices end-to-end and mainfram...
IBM MobileFirst Platform v7.0 Pot Intro v0.1
Mainframe OPC
DB2 Systems Programming Tools of the Trade NA07B03
Summary session 5
TWS zcentric Proof of Technology (from 2013 European Tour)
CA ACF2™ and CA Top Secret® Part 1: The Road Leading to r16 and Capabilities ...
Db2 zos-sharing
How To Master PACBASE For Mainframe In Only Seven Days
Parallel Sysplex Implement2
FlashCopy and DB2 for z/OS
White Paper, The Basics Of Data Security
IMSDB - DBRC
Ad

Similar to IBM MQ Series For ZOS (20)

PPT
Mq Lecture
DOCX
PDF
9 queuing
PDF
On MQ Series & JMS
PDF
IBM MQ Basics
PPTX
Hhm 3479 mq clustering and shared queues for high availability
PPTX
Message Queue (MQ) Testing
PPTX
Message Queue (MQ) Testing
PDF
3450 - Writing and optimising applications for performance in a hybrid messag...
PDF
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
PDF
Red book mq
PPT
WebSphere MQ introduction
PDF
Ibm websphere mq
PDF
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
PPTX
Synchronous and asynchronous software communication components
ODP
IBM WebSphere MQ for z/OS - The Inside Story
PDF
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
PPTX
Where is my MQ message on z/OS?
PDF
05 mq series_admin-win_unix_aix_ch02.ds
PPTX
What's new with MQ on z/OS 9.3 and 9.3.1
Mq Lecture
9 queuing
On MQ Series & JMS
IBM MQ Basics
Hhm 3479 mq clustering and shared queues for high availability
Message Queue (MQ) Testing
Message Queue (MQ) Testing
3450 - Writing and optimising applications for performance in a hybrid messag...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
Red book mq
WebSphere MQ introduction
Ibm websphere mq
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
Synchronous and asynchronous software communication components
IBM WebSphere MQ for z/OS - The Inside Story
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
Where is my MQ message on z/OS?
05 mq series_admin-win_unix_aix_ch02.ds
What's new with MQ on z/OS 9.3 and 9.3.1

More from Srinimf-Slides (20)

PPTX
software-life-cycle.pptx
PDF
Python Tutorial Questions part-1
PPT
Cics testing and debugging-session 7
PPT
CICS error and exception handling-recovery and restart-session 6
PPT
Cics program, interval and task control commands-session 5
PPT
Cics data access-session 4
PPT
CICS basic mapping support - session 3
PPT
Cics application programming - session 2
PDF
The best Teradata RDBMS introduction a quick refresher
PDF
The best ETL questions in a nut shell
PPT
Assembler Language Tutorial for Mainframe Programmers
PPT
The Easytrieve Presention by Srinimf
PPTX
Writing command macro in stratus cobol
PPT
PLI Presentation for Mainframe Programmers
PPTX
PL/SQL Interview Questions
PPTX
Macro teradata
PPTX
DB2-SQL Part-2
PPTX
DB2 SQL-Part-1
PDF
Teradata - Utilities
PPT
Oracle PLSQL Step By Step Guide
software-life-cycle.pptx
Python Tutorial Questions part-1
Cics testing and debugging-session 7
CICS error and exception handling-recovery and restart-session 6
Cics program, interval and task control commands-session 5
Cics data access-session 4
CICS basic mapping support - session 3
Cics application programming - session 2
The best Teradata RDBMS introduction a quick refresher
The best ETL questions in a nut shell
Assembler Language Tutorial for Mainframe Programmers
The Easytrieve Presention by Srinimf
Writing command macro in stratus cobol
PLI Presentation for Mainframe Programmers
PL/SQL Interview Questions
Macro teradata
DB2-SQL Part-2
DB2 SQL-Part-1
Teradata - Utilities
Oracle PLSQL Step By Step Guide

Recently uploaded (20)

PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Pre independence Education in Inndia.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Insiders guide to clinical Medicine.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Complications of Minimal Access Surgery at WLH
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Cell Types and Its function , kingdom of life
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
TR - Agricultural Crops Production NC III.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Week 4 Term 3 Study Techniques revisited.pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Microbial disease of the cardiovascular and lymphatic systems
O5-L3 Freight Transport Ops (International) V1.pdf
Pre independence Education in Inndia.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
Insiders guide to clinical Medicine.pdf
01-Introduction-to-Information-Management.pdf
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Complications of Minimal Access Surgery at WLH
STATICS OF THE RIGID BODIES Hibbelers.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Cell Types and Its function , kingdom of life

IBM MQ Series For ZOS

  • 1. W W W. S R I N I M F. CO M Copyright 2014 IBM MQ FOR ZOS
  • 2. Basics Copyright 2014  MQ Series is a middleware software that implements messaging and queuing.  Messaging - - programs communicate by sending data in messages rather than by calling each other directly.  Queuing - messages are put on queues in storage, eliminating the need for programs to be logically connected.
  • 3. Details Copyright 2014  Initially, IBM’s version of MQSeries ran only on mainframe (CICS/ESA, IMS/ESA, and eventually VSE).  Today it runs more than 35 platforms
  • 4. MQ Series Objects Copyright 2014 Queue Manager A queue manager is that part of an MQSeries product that provides the messaging and queuing services to application programs, through the Message Queue Interface (MQI) program calls. It controls access to queues and serves as transaction (syncpoint) coordinator for all queue operations.
  • 5. QUEUES Copyright 2014 MQSeries defines four types of queues. A queue instance is fully qualified by its queue manager and queue name. Local Queue - an actual queue for which storage is allocated. Remote Queue - a definition of 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).
  • 6. Triggers And Local Queues Copyright 2014  Local queues can generate events (messages) under certain conditions (like queue full).  These “event” messages can be used to “trigger” the execution of a program.  These events are called trigger messages. The queue on which they are put is called an Initiation Queue.
  • 7. Trigger Monitor Copyright 2014  Process defines an application to an MQSeries queue manager. A process definition object is used for defining applications to be started by a trigger monitor.  A trigger monitor is a program that listens on an initiation queue and executes commands named in Process definitions
  • 8. Tip Copyright 2014  Both CICS and MQSeries were developed at Hursley Laboratory in the United Kingdom
  • 9. Channels Copyright 2014  A channel provides a communication path between Queue Managers. There are two types of channels - Message Channels and MQI channels (also called Client channels).  Message channels - provide a communication path between two queue managers on the same, or different, platforms.  A message channel can transmit messages in one direction only. If two-way communication is required between two queue managers, two message channels are required.
  • 10. Channel Types Copyright 2014 There are six types of message channels: Sender - initiates connection to Receiver Server - Accepts request to start from requester, then becomes Sender Receiver - Passive; waits for initiation sequence form Sender Requester - Active at start, then becomes Receiver Cluster-sender (used amongst Cluster Queue Managers) Cluster-receiver –As above The Sender side of the session is the “transaction coordinator”. Message channels implement a protocol that includes a commitment protocol. Channels recover from failure by agreement: they must agree on the last committed unit of work .(This is the reason channels are oneway)
  • 11. MQI Channels Copyright 2014  MQI channels - connect an MQSeries client to a queue manager on a server machine (where a queue manager is defined). Used for transfer of MQI calls and responses only and is bi-directional.
  • 14. Details-Flow Copyright 2014 1. Transmission Queue is a local queue. 2. Remote Queues “name” a transmission queue, and a remote Queue Manager (QM2) and q local queue on QM2 3. App opens queue that is defined as a remote queue 4. App puts to queue 5. Queue manager places message on transmission queue 6. Message Channel Agent reads message and sends to remote MCA. 7. Remote MCA gives message to Queue Manager QM1 8. QM1 puts message to target queue.
  • 15. Messages Copyright 2014 A message any arbitrary data that one program wants to send to another. This data is called the application data. A message needs to include other information, such as its destination and possibly a return address. This type of data is called the message descriptor
  • 16. Messages Copyright 2014 A message any arbitrary data that one program wants to send to another. This data is called the application data. A message needs to include other information, such as its destination and possibly a return address. This type of data is called the message descriptor. There are four types of messages: A request message is used by one program to ask another program for something (usually data). A request message needs a reply.
  • 17. Messages contd… Copyright 2014 A reply message is used in response to a request message. A one-way message, as you would expect, doesn’t need a reply, though it can carry data. A report message is used when something unexpected occurs. For example, if the data in a reply message is not usable, the receiving program might issue a report message.
  • 18. Message Contd… Copyright 2014 Most useful report messages are generated by the Queue Manager. For example, Delivery confirmation. Messages can have a “time-to-live”, called Expiry. A message that has not been delivered before its expiration is removed (not given to an app) What to do with undeliverable messages? Each queue manager can have a dead-letter queue.
  • 19. Messages Contd… Copyright 2014 Messages can be individually designated persistent or non-persistent (persistent messages are logged to enable recovery) Message Correlater - select which message to get from queue Message Priority - retrieve messages in different order of put Segmented Messages - allows ending of VERY LARGE messages (> 100 MB). A message can contain a “reply to” address (the name of a Queue Manager and Queue). This tells the receiving application where any response should be sent. Messages are added and removed from queues in Units of Work. The smallest Unit of Work is one message. Units of work are atomic. When an app reads a message from a queue, a message “appears” to have been removed, but in fact, it is still in storage until the app “commits” the unit of work.
  • 20. Transaction Support Copyright 2014  Unit of recovery - a piece of work that changes data from one point of consistency to another.  Syncpoint - A point of consistency (also called a or commit point). It is a moment at which all the recoverable data that an application program accesses is consistent.
  • 22. Process contd… Copyright 2014  Applications are responsible for delimiting the beginning and end of a transaction. How can messaging be coordinated with a data base update?  MQSeries is XA compliant and can operate with other XA compliant systems as either a transaction manager (coordinator) or resource manager (particpant). Some examples: Sybase, DB2, Oracle.
  • 23. MQ Series Logging Copyright 2014 All operations that affect the “state” of the Queue Manager and its objects are logged to a log file.  What is “state”? Object definitions (queue manager, queues, processes, channels, etc) Queue content (messages)  What about message channel state? Message channel states are logged separately by each channel.
  • 24. Logging and Recovery Copyright 2014  Circular – log records are written sequentially across several files, then “wrap” back to the first file.  Linear - log records are written sequentially across files. New files are allocated as current files fill. No automatic reuse of file space!  Problem: Length (in time) of longest running transaction vs amount of writes to log determines size of log needed.
  • 25. Tips… Copyright 2014  Circular logging is easy to manage, but is fatal if log is damaged (hard to backup circular logs!).  Linear logging is hard to maintain but provides for archiving of previous logs (still a problem if “current” log is damaged).
  • 26. MQ Interfaces Copyright 2014  MQCONN – Connect to queue manager  MQDISC – Disconnect from queue manager  MQOPEN – Open object  MQCLOSE – Close object  MQPUT – Put message  MQPUT1 – Put one message  MQGET – Get message  MQBEGIN – Begin unit of work  MQCMIT – Commit  MQBACK – Back out  MQINQ – Inquire about object attributes  MQSET – Set object attributes
  • 27. Benefits Copyright 2014 Interoperabilty - across dissimilar networks between different computing environments Asynchrony - Eliminates the time dependency between applications (both apps must be alive AND have a session in synchronous models). Fewer Network Sessions - Only Queue Mangers need to communicate using network sessions. Administered Objects - Improves manageability of BIG systems -Can monitor the state of a queue to determine if apps are doing what they should:
  • 28. Benefits … Copyright 2014 Does any process have queue open for reading or writing? Has a high water mark been reached? How many messages have been added and removed in a measured interval? Message Persistence == Assured Delivery Queues in stable storage retain messages even if applications fail. Even memory-only queues persist if at least the Queue Manager stays up. Transaction Support - Queue operations are just like reads and writes in a database transaction! Can we combine queue operations AND database operations atomically? (YES!)