retrieving your ims asynchronous messages from anywhere

27
© 2009 IBM Corporation ® IMS Super Member for IMS Connect Jack Yuan IBM Silicon Valley Lab [email protected]

Upload: ibm-ims

Post on 08-Jun-2015

1.211 views

Category:

Technology


4 download

DESCRIPTION

This talks about IMS's Supermember support which gives greater flexibility in retrieving asynchronous messages.

TRANSCRIPT

Page 1: Retrieving your IMS asynchronous messages from anywhere

© 2009 IBM Corporation

®

IMS Super Member for IMS Connect

Jack YuanIBM Silicon Valley [email protected]

Page 2: Retrieving your IMS asynchronous messages from anywhere

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

Page 3: Retrieving your IMS asynchronous messages from anywhere

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

Page 4: Retrieving your IMS asynchronous messages from anywhere

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,...)

Page 5: Retrieving your IMS asynchronous messages from anywhere

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.

Page 6: Retrieving your IMS asynchronous messages from anywhere

6

IMS Super Member

TONYIMS Connect

A

IMS ConnectB

IMS A

IMS B

IMS CTONY

SharedQueues

Sys

plex

Dis

tribu

tor

Page 7: Retrieving your IMS asynchronous messages from anywhere

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.

Page 8: Retrieving your IMS asynchronous messages from anywhere

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.

Page 9: Retrieving your IMS asynchronous messages from anywhere

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

Page 10: Retrieving your IMS asynchronous messages from anywhere

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.

Page 11: Retrieving your IMS asynchronous messages from anywhere

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.

Page 12: Retrieving your IMS asynchronous messages from anywhere

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

Page 13: Retrieving your IMS asynchronous messages from anywhere

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

Page 14: Retrieving your IMS asynchronous messages from anywhere

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....)

Page 15: Retrieving your IMS asynchronous messages from anywhere

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

Page 16: Retrieving your IMS asynchronous messages from anywhere

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

Page 17: Retrieving your IMS asynchronous messages from anywhere

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

Page 18: Retrieving your IMS asynchronous messages from anywhere

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

Page 19: Retrieving your IMS asynchronous messages from anywhere

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

Page 20: Retrieving your IMS asynchronous messages from anywhere

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

Page 21: Retrieving your IMS asynchronous messages from anywhere

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

Page 22: Retrieving your IMS asynchronous messages from anywhere

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.

Page 23: Retrieving your IMS asynchronous messages from anywhere

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

Page 24: Retrieving your IMS asynchronous messages from anywhere

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.

Page 25: Retrieving your IMS asynchronous messages from anywhere

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.

Page 26: Retrieving your IMS asynchronous messages from anywhere

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.

Page 27: Retrieving your IMS asynchronous messages from anywhere

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.