Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 6 iProcess Mbox Sets : Overview

Overview
One of the core components of the iProcess Engine is the messaging system. This is used to deliver instructions from:
Because of the potentially high volumes of transactions in a TIBCO iProcess Engine system, there can be many thousands of instructions trying to be passed from TIBCO iProcess Workspaces to the Background to be processed. To prevent messages being lost or messages being held up for long periods of time, a message queuing system is used so that all messages sent from TIBCO iProcess Workspaces or the Background can be sent to a message queue. Once it is in the queue, the message has an assured delivery mechanism where it will be dequeued as system resources permit.
The message queues also makes sure that a message instruction is only processed once (unless a transaction rollback occurs - see Transaction Management of Messages) and is processed even if system resources fail because it is retried when the system is running again. For example, in the case for banking transactions, a message to update a bank account must only be performed once and must be performed at some point even if the system has failed.
The iProcess Suite currently supports two message queuing systems:
Both control the delivery and storage of iProcess messages.
What are iProcess Messages?
A message consists of the business data captured by the information entered into iProcess forms such as what fields and values exist. A message also contains instructions so that the iProcess Engine knows what to do with the message such as release or forward the message. It can also contain control information used to manage the message. A message is delivered (enqueued) to the message queue and consumed (dequeued) by recipients.
The message queues and their messages are stored in database tables that operate as message queues.
The iProcess Engine is set up to use the Local message type, which is used for communication between the foreground and background processes.
Definition of Mbox Sets
The iProcess Engine uses a number of message queues to enable high volumes of transactions to be processed. iProcess uses a logical grouping of physical queues called Mbox sets in which processes read or write messages. An Mbox set can be defined as having one or more queues in which messages are posted in a round robin method. For example, an Mbox set can comprise a number of physical database tables operating as message queues.
There are many performance factors related to this design such as spreading queues over multiple disks. Instead of a process writing or reading messages from a specific queue, it can be configured to use an Mbox set. The Mbox set enables you to dynamically configure the queues used in a set as system resources change.
For example, two Mbox sets can be configured as follows:

 
MBOX_SET = queue_1, queue_2
MBOX_SET2 = queue_1

 
Each iProcess Engine process is configured to use a particular Mbox set and has a process attribute type set for it. This information is configured in the process_attribute table.
Configuring Mbox Sets
You can dynamically configure the Mbox sets using the SWDIR\util\swadm utility. For example, you can create Mbox sets, add queues to Mbox sets and remove queues.
Different processes require access to different types of Mbox set, for example, the Background process needs to have write access to a background Mbox set and a WIS Mbox set.
The process_attribute table specifies the access type for each process and which Mbox set is used.
The Mbox set tables contain the necessary information for each Mbox set such as the logical names of all the queues in the set. Multiple queues in a set enable iProcess to post messages on a round-robin basis through the queues.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved