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