Japanese

Practical mastering IBM MQ basics


Message descriptor (MQMD) (1)

  1. Usage of mqpgf and mqpcf command
    1. 1) mqpgf
    2. 2) mqpcf
  2. Message descriptor (MQMD) overview
    1. Creating a test queue manager and performing basic tests
      1. Ex. 1.1 Execution of PUT / GET and dump display of messages
  3. MQMD Fields
    1. StrucId
    2. Version
      1. Ex. 1.2 GET with specifing the MQMD version
    3. Report
      1. Create a connection to the opposite side queue manager
        Ex. 1.3 Requesting and Receiving Report Messages
    4. MsgType
Message descriptor (MQMD) (2)
    1. Expiry
      1. Ex. 2.1 Confirmation of the timing of deletion for expired messages
    2. Feedback
      1. Ex. 2.2 Confirmation of the case in which the reason code is set to Feedback in the exception report
    3. Encoding
    4. CodedCharSetId
    5. Format
      1. Ex. 2.3 Data conversion in channels
        Ex. 2.4 Data conversion of messages with MQRFH2 at the time of MQGET
    6. Priority
      1. Ex. 2.5 Priority at the time of GET
    7. Persistence
Message descriptor (MQMD) (3)
    1. MsgId
    2. CorrelId
      1. Ex. 3.1 GET a specific message
    3. BackoutCount
      1. Ex. 3.2 Backing out messages
    4. ReplyToQ
    5. ReplyToQMgr
      1. Ex. 3.3 Send a request message and receive a corresponding response message
    6. UserIdentifier
    7. AccountingToken
    8. ApplIdentityData
      1. Ex. 3.4 Setting of identity context
    9. PutApplType
    10. PutApplName
    11. PutDate
    12. PutTime
    13. ApplOriginData
      1. Ex. 3.5 Setting of origin context
      2. Ex. 3.6 Passing context information between messages
Message descriptor (MQMD V2) (1)
  1. Overview of MQMD V2
  2. Fields added in MQMD V2
    1. GroupId
    2. MsgSeqNumber
    3. Offset
    4. MsgFlags
    5. OriginalLength
  3. Message segmentation
    1. Segmentation by queue manager
      1. Ex. 4.1 Make the queue manager perform segmentation
    2. Segmentation by application
      1. Ex. 4.2 Perform segmentation in an application
    3. Reassembly of logical message by queue manager
      1. Ex. 4.3 Make the queue manager assemble segments
    4. Reassembly of logic message by application
      1. Ex. 4.4 Retrieving segments in logical order
  4. Grouping of logical messages
    1. Grouping of logical messages
      1. Ex. 4.5 Generating grouped logical messages
    2. Grouping of logical messages and logical message segmentation
      1. Ex. 4.6 Combining grouping and segmentation
    3. Retrieving group messages
      1. Ex. 4.7 Retrieving group messages in logical order
Message descriptor (MQMD V2) (2)
  1. Segmentation of messages with MQRFH2 header
    1. Notes on segment size
      1. Ex. 5.1 Example of segmentation failure of message with RFH header
    2. Notes on setting CodedCharSetId, Encoding, Format
      1. Ex. 5.2 Segment the message with RFH header to the queue manager
      2. Ex. 5.3 Grouping and Segmentation with RFH Header in the First Logical Message
  2. How to read a message by specifying a specific logical message of a specific group and/or a specific segment
    1. Ex. 5.4 Read with specifying a specific group, logical message, or segment
  3. MQ cluster and group messages and segmentation
    1. Fixing the destination of the same group logical messages
      1. Create MQ cluster configuration
      2. Ex. 5.5 Fix destination by group when writing to cluster queue
    1. Cluster queues and segmentation
      1. Ex. 5.6 Segmentation on cluster queues
    1. Segmentation on the sender side queue manager
      1. Ex. 5.7 Segmentation and destination fixing on the sender queue manager
Connection mode (1)
  1. Overview of connection mode
  2. Type of connection mode
    1. STANDARD BINDING(MQCNO_STANDARD_BINDING)
    2. FASTPATH BINDING(MQCNO_FASTPATH_BINDING)
    3. SHARED BINDING(MQCNO_SHARED_BINDING)
    4. ISOLATED BINDING(MQCNO_ISOLATED_BINDING)
    5. LOCAL BINDING(MQCNO_LOCAL_BINDING)
    6. CLIENT BINDING(MQCNO_CLIENT_BINDING)
  3. How to check connection mode
    1. Ex. 6.1 How to check connection mode
  4. Change connection mode
    1. Ex. 6.2 Change the connection mode by qm.ini
    2. Ex. 6.3 Change the connection mode by specifying the MQCNO_* option
    3. Ex. 6.4 Changing connection mode by MQ_CONNECT_TYPE environment variable
    4. Ex. 6.5 Make client connection attempt with MQCNO_CLIENT_BINDING
    5. Ex. 6.6 Example of downgraded FASTPATH
    6. Ex. 6.7 Server application behavior in MQ client environment
  5. Shared (thread independent) connection
    1. Ex. 6.8 Connect from a single thread to multiple queue managers
    2. Ex. 6.9 Sharing connection handles among threads
Connection mode (2) Client connection (1)
  1. Channel connection between machines where data conversion is not supported
    1. Ex. 7.1 Default data conversion behavior
  2. Other workarounds when data conversion is not supported between client and server
    1. Ex. 7.2 Set the queue manager CCSID to the environment variable MQCCSID on the client side
  3. Setting of message channel agent user ID (MCAUSER) and authorization
    1. Ex. 7.3 Setting authorization of Client Connection User
  4. Default channel authentication record
    1. Ex. 7.4 Connect by specifying a channel name
  5. Default connection authentication
    1. Connect by specifying a user/password in MQCSP.
  6. General method of client connection
  7. Specify channel information in MQCONNX()
  8. How to set MQSERVER environment variable
  9. How to use client channel definition table
Connection mode (3) Client connection (2)
  1. Queue manager group
  2. Create a queue manager group verification environment
    1. Ex. 8.1 Specify the queue manager group name as it is (1)
    2. Ex. 8.2 Specify the queue manager group name as it is (2)
    3. Ex. 8.3 Specify the queue manager group name as It is (3)
    4. Ex. 8.4 A queue manager name is prefixed by an asterisk
    5. Ex. 8.5 One astarisk is set for the queue manager name
  3. Automatic client reconnection
    1. Enabling automatic client reconnection
    2. Registering event handler
    3. Ex. 8.6 Automatic Reconnection of Queue Manager Group and Client
    4. Ex. 8.7 Behavior when client auto-reconnect times out
Connection mode (4) Client connection (3)
  1. Overview of the difference in behavior due to the setting of AFFINITY
  2. Behavior when AFFINITY is set to "NONE"
    1. Ex. 9.1.1 Workload Balancing with AFFINITY "NONE"
    2. Ex. 9.1.2 Workload Balancing with AFFINITY "NONE" (Other test method 1)
    3. Ex. 9.1.3 Workload Balancing with AFFINITY "NONE" (Other test method 2)
  3. Behavior when AFFINITY is set to "PREFERRED"
    1. Ex. 9.2.1 Workload Balancing with AFFINITY "PREFERRED" (1)
    2. Ex. 9.2.2 Workload Balancing with AFFINITY "PREFERRED" (2)
  4. About how connection list is generated
SSL/TLS configuration (1)
  1. Creating a private CA using Openssl
    1. Preparation before CA construction
    2. Consideration for high entropy
    3. Creating files/directories used by the CA
    4. Openssl configuration file preparation
    5. CA configuration definition
    6. Set the information to generate the root certificate in the configuration file
    7. Creating a self-signed root certificate
  2. SSL/TLS setup on each server (to create CSR) (GSKit)
    1. GSKit commands used in SSL/TLS setup
    2. Prepare key repository for each queue manager(Windows, Linux)
    3. Overview of CERTLABL
    4. Create Certificate Signing Request(CSR) (Windows, Linux)
  3. SSL/TLS setup on each server (to create CSR) (Openssl)
    1. Create Certificate Signing Request(CSR) (HPE NonStop)
SSL/TLS configuration (2)
  1. Issue a certificate at the Certificate Authority (CA) from the created certificate request (CSR)
  2. Certificate verification
    1. About the format of the certificate/key file
    2. Check the symmetry of private and public keys
    3. CA signing certificate and CA certificate subject and issuer check
    4. Verification of intermediate CA certificate or root certificate and server certificate
    5. Check the contents of the server certificate
  3. Add CA(root) certificate to key repository(GSKit)
  4. Receive personal certificate to key repository(GSKit)
  5. Creating and deploying SSL/TLS related files(Openssl)
    1. Concatenate the CA-signed server certificate and key file
    2. Combine all CA certificates used for SSL/TLS communication
    3. Creating a path/phrase stash file
    4. Place created files in the SSLKey repository
  6. Testing connections between queue managers using TLS
    1. Creating a TLS connection definition
    2. Checking TLS connection results
  7. Enabling deprecated CipherSpecs
    1. Enabling deprecated TLS CipherSpecs
    2. Enabling deprecated SSL CipherSpecs
    3. Enabling deprecated TLSv1 CipherSpecs
    4. Channel connection using SSL V3 CipherSpec
SSL/TLS configuration (3) client connection
  1. SSL/TLS setup on the client (to create CSR) (GSKit)
    1. GSKit commands used in SSL/TLS setup
    2. Prepare key repository for each client machine(Windows, Linux)
    3. About using CERTLAB L for client connections
    4. Create Certificate Signing Request(CSR) (Windows, Linux)
  2. Issue a certificate at the Certificate Authority (CA) from the created certificate request (CSR)
  3. Certificate verification
    1. Check the symmetry of private and public keys
    2. CA signing certificate and CA certificate subject and issuer check
    3. Verification of intermediate CA certificate or root certificate and server certificate
    4. Check the contents of the server certificate
  4. Add CA(root) certificate to key repository(GSKit)
  5. Receive personal certificate to key repository(GSKit)
  6. Testing a client connection using TLS(CCDT)
    1. Creating a server-side TLS connection definition
    2. Creating a client-side TLS connection definition
    3. Ex. 12.1.1 Performing the Client Connection Using SSL/TLS(CCDT)
  7. Testing a client connection using TLS(MQCD)
    1. Ex. 12.2.1 Performing the Client Connection Using SSL/TLS(MQCD)
  8. Confirmation of connection partner using SSLPEER
    1. Ex. 12.3.1 Set SSLPEER on the server connection channel(SVRCONN) to limit who can connect.
    2. Ex. 12.3.2 Set SSLPEER on the client connection channel(MQCD) to limit who can connect.
SSL/TLS configuration (4) elliptic curve
  1. Creating a CSR to use Type 1 CipherSpec (GSKit)
  2. Creating a CSR to use Type 1 CipherSpec (Openssl)
    1. Checking the elliptic curves available in Openssl
    2. Creating a private key for an elliptic curve certificate
  3. Set a pass phrase for the private key
  4. Create a certificate request(CSR) from the created secret key(private key)
  5. Issue a certificate at the Certificate Authority(CA) from the created certificate request(CSR)
  6. Certificate verification
    1. Check the symmetry of private and public keys
    2. CA signing certificate and CA certificate subject and issuer check
    3. Verification of intermediate CA certificate or root certificate and server certificate
    4. Check the contents of the server certificate
  7. Add CA(root) certificate to key repository(GSKit)
  8. Receive personal certificate to key repository(GSKit)
  9. Creating and deploying SSL/TLS related files(Openssl)
    1. Concatenate the CA-signed server certificate and key file
    2. Combine all CA certificates used for SSL/TLS communication
    3. Creating a path/phrase stash file
    4. Place created files in the SSLKey repository
  10. Testing a client connection using TLS(MQCD)
    1. Creating a server-side TLS connection definition
    2. Ex. 13.1.1 Performing the Client Connection Using SSL/TLS(MQCD)
SSL/TLS configuration (5) OCSP
  1. Prerequisites and restrictions for OCSP configuration
  2. Launch and verify OCSP responder using openssl
    1. Launch OCSP Responder
    2. Checking the connection to the OCSP responder
    3. Revoke the certificate at CA
    4. Confirmation of certificate verification by OCSP
  3. Using OCSP for MQ server-to-server connections
    1. Configuring OCSP responder references for server-to-server connections
    2. Behavior when unable to connect to OCSP responder
    3. Changes in behavior when the certificate cannot be verified(Unknown)
    4. Behavior when the query result to the OCSP responder is "Revoked"
SSL/TLS configuration (6) OCSP client connection
  1. Prerequisites and restrictions for OCSP configuration in the client connection
  2. Launch and verify OCSP responder using openssl
  3. Using OCSP for MQ client connection
    1. How to refer to OCSP responder in client connection
    2. Ex. 15.1.1 Specify the parameters for certificate verification by OCSP and connect to the queue manager
    3. Behavior when unable to connect to OCSP responder(Client Connection)
    4. Changes in behavior when the certificate cannot be verified(Unknown)(Client connection)
    5. Behavior when the query result to the OCSP responder is "Revoked"(Client connection)
Performance evaluation (1) Topology
  1. Precautions for conducting performance tests
    1. Download Module
    2. Data for testing
    3. Using Thread
  2. Performance test configuration
  3. Workload topology
    1. RR-1 MQI Local Bindings
    2. RR-2 MQI Client Bindings
    3. RR-5 MQI Distributed Queuing
    4. PL-1 MQ Cluster Configuration
  4. Files and placement for performance testing
  5. Creating a source and a response queue manager
    1. Editing the parameter file
    2. Run queue manager creation script
    3. Start Channels
Performance evaluation (2) Single test
  1. Common to all single test scripts
    1. Script parameters
    2. Environment Variables
    3. How to run single test scripts
    4. Output logs
  2. Confirmation before testing
  3. Performing RR-1 MQI Local Bindings test
    1. [ 1. RR-1 Start a process for each connection Windows(RR_1_s.ps1) ]
    2. [ 2. RR-1 Start a process for each connection Linux, HPE NonStop(RR_1_s.sh) ]
    3. [ 3. RR-1 Create a thread for each connection Windows(RR_1_s_t.ps1) ]
    4. [ 4. RR-1 Create a thread for each connection Linux, HPE NonStop(RR_1_s_t.sh) ]
  4. Performing RR-2 MQI Client Bindings test
    1. [ 1. RR-2 Windows-Windows, Both client and server start a process for each connection ]
    2. [ 2. RR-2 Windows-HPE NonStop, For each connevtion, Client: Start a thread, Server: Start a process ]
    3. [ 3. RR-2 Linux-HPE NonStop, Both client and server start a thread for each connection ]
  5. Performing RR-5 MQI Distributed Queuing test
    1. [ 1. RR-5 Windows-Windows、Both source and response server start a process for each connection ]
    2. [ 2. RR-5 HPE NonStop-Linux, Both source and response server start a process for each connection ]
  6. Performing PL-1 MQ Cluster test
    1. [ 1. PL-1 Windows-Windows, Both source and response server start a process for each connection ]
    2. [ 2. PL-1 HPE NonStop-Linux, Both source and response server start a process for each connection ]
Performance evaluation (3) Consecutive execution
  1. Format of the test list
  2. How to run the test list
    1. Output logs
    2. Collected results
  3. Confirmation before testing
  4. Run a test list containing only a single workload
    1. Run a test list containing only RR-1 Windows
    2. Run a test list containing only RR-1 Linux, HPE NonStop
  5. Run a test list containing all workloads
    1. 1. Make sure all queues are empty
    2. 2. Start all channels
    3. 3. Make sure all channels are started except the client connection channel
    4. 4. Launch the test list on each of the source and response servers
    5. 5. Launch the test list on the client machine
Performance evaluation (4) Schedule execution
  1. Using CRON(Linux、HPE NonStop)
    1. Sample CRON job registration
    2. CRON job registration method
  2. Using Task Scheduler(Windows)
    1. The sample of Task Scheduler registration
  3. Using NetBatch(HPE NonStop)
    1. [ NetBatch run configuration ]
    2. [ NetBatch Configuration Instructions ]
  4. Scheduled execution linked across multiple platforms

to the top