It's an abstraction layer that allows multiple processes (likely on different machines) to communicate via various models (e.g., point-to-point, publish subscribe, etc.).
Depending on the implementation, it can be configured for things like guaranteed reliability, error reporting, security, discovery, performance, etc.
For example: Suppose you want to processes to communicate, but one of them can die in the middle and later get reconnected. How would you ensure that interim messages were not lost? MQ solutions can do that for you
- Versatile messaging integration from mainframe to mobile that provides a single, robust messaging backbone for dynamic heterogeneous environments.
- Message delivery with security-rich features that produce auditable results.
- Qualities of service that provide once and once only delivery of messages to ensure messages will withstand application and system outages
- High-performance message transport to deliver data with improved speed and reliability.
- Highly available and scalable architectures to support an application’s needs.
- Administrative features that simplify messaging management and reduce time spent using complex tools.
- Open standards development tools that support extensibility and business growth.
Incoming messages are handled the same as they are in the SWITSK incoming message transaction.
Configuration of MQ is possible in DOKA SAAS using Transaction MQITSK which has been briefed below
This Manager has the same functionalities as SWITSK The sole difference lies in the fact that messages are not transferred using the filesystem but using the IBM MQ Series.
For each service carried out, MQ Series parameters need to be defined on the first panel:
|Manager||Name of the Manager|
|Receive Queue||Name of the Receive Queue|
|Allow Conversion||Allows conversion by MQ|
|CCSID||Coded Charset Id|
|Encoding||Encoding (machine dependent ) = -1|
|Channel (optional)||Name of the MQ channel|
|Type (optional)||Transport type (DECNET, LOCAL, LU62, NETBIOS, SPX, TCP, UDP )|
|Connection (optional)||Name of the connection|
|Commit immediate||Indicates whether the receiver's commit is issued immediately after the message, or only after the service has been completed|
|Log Flag||Log Level (No log. Logs in file, Save messages, Hide MQ)|
|Receive time (sec)||Waiting time, in seconds, before data is received.|
|File/Streaming/Direct||Procedure defining how data is transferred to the service - set by the service itself.|
|Set length||Buffer size for data (a record)|
|Number of sets||Defines the number of set per receipt|
|Key Repository||File name of Key Repository without extension|
|Cipher||see list of available Cipher Specifications|
If just one of the optional parameters is not filled in, all optional parameters are taken from the MQSERVER environment variables. MQ Series Error Codes will be passed 1:1 . More information about these error codes can be found in the MQ Series documentation.