retrieving your ims asynchronous messages from anywhere
DESCRIPTION
This talks about IMS's Supermember support which gives greater flexibility in retrieving asynchronous messages.TRANSCRIPT
© 2009 IBM Corporation
®
IMS Super Member for IMS Connect
Jack YuanIBM Silicon Valley [email protected]
2
IMS Super Member
Agenda
What is Super Member in IMS? Do I need it?
How can I activate the Super Member function?
IMS Commands for Super Member information
ALT-PCB output for Super Member
Synchronous Callout message for Super Member
Resume Tpipe for Super Member
Tips of Using Super Member
Summary
3
IMS Super Member
Member HWS1
IMSAIMS Connect
DATASTORE (ID=IMSDA,GROUP=IMSXCF,MEMBER=HWS1,TMEMBER=IMSA,...)
DATASTORE (ID=IMSDB,GROUP=IMSXCF,MEMBER=HWS2,TMEMBER=IMSA,...)
Member HWS2
TPIPE
TPIPE
Sync Output
Async Output
Sync Output
Async Output
TONY
TONY
TONY
4
IMS Super Member
Member HWS1
IMSAIMS ConnectA
DATASTORE (ID=IMSDA,GROUP=IMSXCF,MEMBER=HWS1,TMEMBER=IMSA,...)
Member HWS2
TPIPE
TPIPE
Sync Output
Async Output
Sync Output
Async Output
TONY
TONY
TONY
IMS ConnectB
DATASTORE (ID=IMSDB,GROUP=IMSXCF,MEMBER=HWS2,TMEMBER=IMSA,...)
5
IMS Super Member
TONYIMS Connect
A
IMS ConnectB
IMS A
IMS B
IMS CTONY
SharedQueues
IMS queue name for Tony’s output data in the Shared Queues is 8-byte timestamp + IMS id.For example, if an output is created for IMS Connect A, then the output queue name would be an 8-byte Timestamp + IMSA. The 8-byte timestamp is used to identify the tpipe. If an ALT-PCB output is created at IMS C for Tony, the queue name will be 8-byte timestamp + IMS C.
6
IMS Super Member
TONYIMS Connect
A
IMS ConnectB
IMS A
IMS B
IMS CTONY
SharedQueues
Sys
plex
Dis
tribu
tor
7
IMS Super Member
Multiple WAS, IMS and IMS Connect in Parallel Sysplex
Network
Sysplex
MVSa
TCP/IP
MVSb
TCP/IP
SD
WAS IC4J
WAS IC4J
192.0.1.3
192.0.1.3
IMSConnect
AIMSa
IMSConnect
BIMSb
CF
TONY
When IMS Connect A is down,The asynchronous output messagesSaved in IMSa and IMSb for IMS Connect A cannot be retrieved byIMS Connect B.
8
IMS Super Member
What is IMS Super Member?
A super member is a special IMS OTMA member. IMS outbound messages, such as OTMA ALT-PCB output message, Send-Only output messages, rejected I/O PCB output messages, and synchronous callout messages, that belong to the super member can be shared by multiple instances of IMS Connect or Datastores.
9
IMS Super Member
Member HWS1
IMSAIMS ConnectA
DATASTORE (ID=IMSDA,GROUP=IMSXCF,MEMBER=HWS1,TMEMBER=IMSA,...)
Member HWS2
TPIPE
TPIPE
Sync Output
Async Output
Sync Output
TONY
TONY
IMS ConnectB
DATASTORE (ID=IMSDB,GROUP=IMSXCF,MEMBER=HWS2,TMEMBER=IMSA,...)
Member SM01
HWS (ID=HWS,RACF=N,SMEMBER=SM01)
HWS (ID=HWS,RACF=N,SMEMBER=SM01)
TPIPE
10
IMS Super Member
TONYIMS Connect
A
IMS ConnectB
IMS A
IMS B
IMS CTONY
SharedQueues
IMS queue name for Tony’s output data in the Shared Queues is tpipe name + super member name. .For example, if an output is created for IMS Connect A, then the output queue name would be an tpipe1 + SM01. If an ALT-PCB output is created at IMS C for Tony, the queue name will be the same which is tpipe1+ SM01.
11
IMS Super Member
How to Activate the Super Member function in HWSCFGx ?
HWS statement …
– Prior to IMS V11, the super member function is activated by specifying a 1 to 4 character the super member name in the parameter SMEMBER= of the HWS configuration statement in the IMS Connect configuration (HWSCFGxx). In IMS V11, SMEMBER= is also supported in the DATASTORE configuration statement.
– OTMA establishes the super member environment during the client-bid time and rejects the client-bid for invalid super member request for the following reasons:
– OTMA NACK Code ‘19’X, with 4 possible reasons:• ‘01’ : invalid characters are used for the super member name.• ‘02’ : super member name specified cannot be the same as input
member name.• ‘03’ : super member specified is an existing input member.• ‘04’ : input member name cannot be a super member name.
12
IMS Super Member
How to Activate the Super Member function in HWSCFGx…
DATASTORE statement …
– Enhancement to the super member function
– New parameter SMEMBER=smem• 1- to 4- character name
– If invalidly specified, e.g., greater than four characters• Existing HWSX0909E message is issued identifying the error• IMS Connect initialization is aborted with an AbendU3401 RC04
• Value of SMEM with ‘####’ disables super member support for a datastore• Overrides value specified in the HWS statement
13
IMS Super Member
HWSCFGx …
To display the values specified – VIEWHWS, VIEWDS or QUERY DATASTORE, QUERY MEMBER
• Provide information to display the SMEMBER value – Example
R xx,VIEWHWS
HWSC0001I HWS ID=HWS1 RACF=Y PSWDMC=N HWSC0001I MAXSOC=2000 TIMEOUT=6000 HWSC0001I RRS=N STATUS=REGISTERED HWSC0001I VERSION=V11 IP-ADDRESS=009.030.123.148 HWSC0001I SUPER MEMBER NAME=SM01 HWSC0001I ADAPTER=N ...
HWSC0001I DATASTORE=IMS3 STATUS=ACTIVE HWSC0001I GROUP=XCFGRP1 MEMBER=HWS1 HWSC0001I TARGET MEMBER=IMS1 HWSC0001I DEFAULT REROUTE NAME=HWS$DEF HWSC0001I RACF APPL NAME=APPLID1 HWSC0001I OTMA ACEE AGING VALUE=2147483647 HWSC0001I OTMA ACK TIMEOUT VALUE=120 HWSC0001I OTMA MAX INPUT MESSAGE=5000 HWSC0001I SUPER MEMBER NAME=SM02
14
IMS Super Member
Member SM01
IMSAIMS ConnectA
Member SM02
TPIPE
TPIPEAsync Output
Async Output
TONY
TONY
TONY
IMS ConnectB
DATASTORE (ID=IMS1....)
DATASTORE (ID=IMS2....)
DATASTORE (ID=IMS3....)
DATASTORE (ID=IMS4....)
DATASTORE (ID=IMS5....)
15
IMS Super Member
IMS Commands For Super Member Info
No IMS command syntax changes required to support super member function.
Some command outputs are enhanced to display super member information with new SMEM column.
/DISPLAY OTMA
Response ET:
GROUP/MEMBER XCF-STATUS USER-STATUS SECURITY SMEM
/DISPLAY TMEMBER HWS001 TPIPE TPIPE1
Response ET:
MEMBER/TPIPE ENQCT DEQCT QCT STATUS SMEM
16
IMS Super Member
IMS Commands for Super Member Info…
When OTMA /START, /STOP, or /TRACE Tmember Tpipe command is issued with a regular tmember specified, OTMA will expand the command to cover the related super member.
OTMA command can be issued to an existing super member directly.
/TRACE SET ON TMEMBER HWS01 TPIPE TPIPE1/TRACE SET ON TMEMBER SM01 TPIPE TPIPE1
/STOP TMEMBER SM01 TPIPE TPIPE1
/DISPLAY TMEMBER SM01
/DISPLAY TMEMBER SM01 TPIPE TPIPE1
17
IMS Super Member
/DIS OTMA with super member information
IEE600I REPLY TO 47 IS;/DIS OTMA
DFS000I GROUP/MEMBER XCF-STATUS USER-STATUS SECURITY TIB INPT SMEM
DFS000I XCFGRP1 IMS1
DFS000I -IMS1 ACTIVE SERVER NONE
DFS000I -HWS1 ACTIVE ACCEPT TRAFFIC NONE 0 0 SM01
DFS000I -HWSA1 ACTIVE ACCEPT TRAFFIC NONE 0 0 SM01
DFS000I -SM01 SUPER MEMBER SM01
DFS000I *05229/144352* IMS1
*52 DFS996I *IMS READY* IMS1
18
IMS Super MemberExample running with Non-Shared Queues (IMS1)
Before IMS Connect enables the supermember feature, there is 1 async messages qu
0290 R 26,/DIS TMEMBER CLIENT1 TPIPE TPIPE1 0090 DFS000I MEMBER/TPIPE ENQCT DEQCT QCT STATUS SMEM 0090 DFS000I CLIENT1 0090 DFS000I -TPIPE1 1 0 1 0090 DFS000I *05261/152709* IMS1 0090 *27 DFS996I *IMS READY* IMS1
After IMS Connects enable the supermember feature, the messages was moved to Supermember, SM01.
0290 R 33,/DIS TMEMBER CLIENT1 TPIPE TPIPE1 0090 DFS000I MEMBER/TPIPE ENQCT DEQCT QCT STATUS SMEM 0090 DFS000I CLIENT1 SM01 0090 DFS000I -TPIPE1 1 1 0 0090 DFS000I *05261/153317* IMS1 0090 *34 DFS996I *IMS READY* IMS1
0090 *32 DFS996I *IMS READY* IMS1 0290 R 32,/DIS TMEMBER SM01 TPIPE ALL 0090 DFS000I MEMBER/TPIPE ENQCT DEQCT QCT STATUS SMEM 0090 DFS000I SM01 SM01 0090 DFS000I -TPIPE1 1 0 1 0090 DFS000I *05261/153158* IMS1 0090 *33 DFS996I *IMS READY* IMS1
19
IMS Super MemberExample running with Shared Queues (IMS1 +IMS2)
Before IMS Connect enables the supermember feature, there is 1 messages Queued at front-end system IMS1.
0290 R 46,/DIS TMEMBER CLIENT1 TPIPE TPIPE1 QCNT. 0090 DFS000I MEMBER/TPIPE GBLQCT AFFINITY SMEM IMS1 90 DFS000I CLIENT1 0090 DFS000I -TPIPE1 1 IMS1 0090 DFS000I *05261/160559* IMS1 0090 *53 DFS996I *IMS READY* IMS1
After IMS Connects enable the supermember feature, the messages was moved to Supermember, SM01.
0290 R 81,/DIS TMEMBER CLIENT1 TPIPE TPIPE1 QCNT. 0090 DFS000I MEMBER/TPIPE GBLQCT AFFINITY SMEM IMS1 0090 DFS000I CLIENT1 0090 DFS000I -TPIPE1 00090 DFS000I *05261/162406* IMS1 0090 *84 DFS996I *IMS READY* IMS1
0290 R 84,/DIS TMEMBER SM01 TPIPE TPIPE1 QCNT. 0090 DFS000I MEMBER/TPIPE GBLQCT AFFINITY SMEM 0090 DFS000I SM01 SM01 0090 DFS000I -TPIPE1 1 0090 DFS000I *05261/162429* IMS1 0090 *85 DFS996I *IMS READY* IMS1
20
IMS Super Member
PRX/DRU User Exit for ALT-PCB Output Messages
Originating a message from the IMS application ISRT ALTPCB.The message will be stored into Super member.
IMS applications
ConnectResume tpipefor client01
Read ACK....ReadACK...
Super MemberQueue for client01
ISRT, ALTPCB(msg for client01)
ISRT, ALTPCB(msg for client01)
GET MSG
DEQ MSG
External pgmwritten to retrieveoutput msgs
IMS IMS Connect
21
IMS Super Member
PRX/DRU User Exit
• The ALT-PCB output messages created at IMS shared queues backend IMS will be queued to the backend IMS. With the super member specification in IMS DFSYPRX0/DFSYDRU0 user exits or IMS OTMA descriptor, these ALT-PCB output messages can be queued to super member without system affinity so that any IMS Connect connected to front-end IMS can retrieve them.
IMSConnect
IMS IMS
Front-endBack-end
ALT-PCB Output:Tpipe + IMSid
22
IMS Super Member
PRX/DRU User Exit
Since OTMA messages running in the super member environment carry the super member name and information, your existing PRX/DRU exits normally require NO changes to use the super member function. However, it is OK to specify the following info in the DRU exit to force ALT-PCB output to go into a specified super member:
– In Output Parameter List of the DRU0 exit
• +16 = 1-BYTE OUTPUT FLAG FIELD – Set the X’20’ flag
• +28 = (4-BYTE SUPER MEMBER NAME) – Specify the super member name in the
A new flag in the existing flag byte of the input parameter list to the exits indicates that the input message is submitted by an OTMA client with super member function, And the super member name is included inside the OTMA state data.
23
IMS Super Member
V10 Synchronous Callout with Super Member
OTMADescriptor 1
IMS Application 2
IMS
IMS Application 3
IMS Application 1
OTMADescriptor 2
OTMADescriptor 3
IMSSOAP
GatewayWeb Service
Provider
IMS Connect
SUPER
MEMBER
IMSSOAP
GatewayWeb Service
Provider
IMSSOAP
GatewayWeb Service
Provider
Send flow
Receive flow
24
IMS Super Member
Tips of Using Super Member
You can use the super member function in a shared queues environment to share output across multiple instances of IMS Connect that are connected to multiple IMS systems. Without shared queues and the super member function, the IMS Connect and IMS instances cannot share the output.
Any asynchronous output queued to an OTMA tpipe on an IMS system that IMS Connect is connected to directly automatically becomes available to the super member group; however, any existing ALT-PCB output on the back-end IMS remains inaccessible unless IMS Connect connects to the back-end directly to retrieve the messages. New ALT-PCB output messages on back-end IMS systems can become accessible to the IMS Connect instance after it joins the super member group if V10 APARs PK61174 and PK84540 are applied.
25
IMS Super Member
Tips of Using Super Member
Synchronous callout messages are queued to the super member tpipe and delivered to the client one at a time, in the order that they are received; however, the responses to the callout messages might not return to IMS in the same order.
The queue name associated with messages on a shared queues supermember queue always remains the same, even after a cold start. Because the queue name is constant, dequeuing the message when necessary is much easier. Super member queue names are made up of the 8-byte tpipe name and the 4-byte super member name.
• In a shared queues environment, you can use the OTMA destinationdescriptors (introduced in IMS Version 10) or the DFSYPRX0 and DFSYDRU0 user exits to route ALT-PCB output messages from back-end IMS systems to a super member. Messages queued to a super member do not have system affinity and can be retrieved by any IMS Connect instance that is connected to a front-end IMS system.
26
IMS Super Member
Tips of Using Super Member
If super member messages are moved to a shared queues overflow structure, you can identify the super member messages by the super member name and tpipe name by issuing the /DISPLAY VERFLOWQ STRUCTURE command. Because the output messages queued to a super member do not have affinity to any IMS subsystem, no IMS ID is displayed.
When IMS Multiple Systems Coupling (MSC) networks and IMSplexescoexist, OTMA transactions that process in a shared-queues back-end IMS system can issue a CHNG call to a modifiable PCB with an OTMA destination. In this scenario, applying V10 APAR PK95884 will ensure that when the OTMA Destination Resolution exit routine (DFSYPRX0) or the OTMA User Data Formatting exit routine (DFSYDRU0) are called at the back-end IMS, they will receive the OTMA prefix information and the output will be queued to the super member queue.
27
IMS Super Member
Summary
A super member is an OTMA structure that manages all asynchronous output and synchronous callout messages for multiple instances of IMS Connect.IMS Connect activates the super member function and joins a super member group by specifying a super member name on the SMEMBER= parameter in either or both of the HWS and DATASTORE statements in the IMS Connect configuration member (HWSCFGxx).
The super member solution is transparent to the end user.