what's new in ims callout
Post on 20-May-2015
790 Views
Preview:
TRANSCRIPT
© 2012 IBM Corporation
®
IMS
What is New in IMS Callout
Jack Yuanjackyuan@us.ibm.com
IMS
2
When IMS was created in 1968…..
IMS
3
Today, IMS is everywhere...
IMS
4
Customers running IMS have a variety of computer hardware and network configuration installed, typically employing IMS as a repository for information. Customers are regarding IMS as one of their Enterprise resource planning (ERP) application platforms which must integrate internal and external management information across the entire organization, embracing finance/accounting, manufacturing, sales and service, customer relationship management, etc. In some scenarios, IMS acts as the client and needs to make callout requests to obtain information from the external ap plications or systems.
IMS for future….
IMS
5
Agenda
� Seven IMS callout techniques
� Using DL/I ICAL call for SendReceive for callout
� Using DL/I ICAL call for Receive
� Using DLI ICAL call for synchronous program switch
© 2012 IBM Corporation
®
IMS
Overview of 7 IMS callout techniques
IMS
7
IMS
8
IMS
9
IMS
10
IMS
11
IMS
12
IMS
13
© 2012 IBM Corporation
®
IMS
DL/I ICAL call for SendRecv
IMS
15
DL/I ICAL support provided synchronous callout capabil ity to resources outside IMS
IMS SOAP GATEWAY
z/OSIMS
Database
DBServices
OT
MA
TM/CTLServices
IMS
Connect
TCP/IP
user-written Client
WebSphere
IMS TM resource adapterApplication Program
ICAL
MPP/JMP/IFP/BMP/JBP
OTMADescriptor
OTMADescriptor
IMS
16
IMS Synchronous Callout Overview
� New DLI ICAL call for synchronous callout request
� Support messages larger than 32K without segmentation– No need to build data in LLZZ format
� Leverage the OTMA destination descriptor function to point to the IMS Connect for the callout message
� Does not go through IMS Message Queue, and the synchronous callout message/response are not recovered.
� Timeout support to optionally terminate callout request and free the dependent region
� Provide management of the correlation of a synchronous callout request and response
� Enhanced IMS commands to view synchronous callout status and stop the callout processing
� Enhanced OTMA Resume TPIPE/Send Only protocol function for retrieving synchronous callout requests and sending responses
IMS
17
V10 Synchronous Callout with Multiple IMS Applicati ons
OTMADescriptor 1
IMS Application 2
Send flow
Receive flow
IMS
IMS Application 3
IMS Application 1
OTMADescriptor 2
OTMADescriptor 3
WebSphere Application Server
IMSSOAP
Gateway
IMS ConnectRoll-your-own
Application
EJB / MDB
Web ServiceProvider
IMS TM Resource Adapter
IMS Connect
IMS
18
Synchronous Callout response can be back from a dif ferent IMS Connect or IMS Connect DataStore
IMS Connect #1
IMS
OTMADescriptor
IMS ApplicationDLI ICAL call w/ Send-Receive
Send flow
Receive flow
TCP/IPClient
Application
IMS Connect #2
TPIPE1
TPIPE1
IMS
19
Restrictions
� No distributed 2PC support
� IMS userid and password would not be propagated by IMS to external server
� Shared queues environment is supported only if FE=BE
IMS
20
IMS application - DL/I ICAL
CALL 'AIBTDLI' USING ICAL, AIB, REQ-AREA, RESP-AREA .
where:• ICAL is new call verb (available on AIBTDLI only) and SENDRECV is the new sub-function code• REQ-AREA is the Request data area for sync callout• RESP-AREA is the Response data area for returned data
Note: REQ-AREA and RESP-AREA do not specify LLZZ, data can be > 32K
For example:
ICAL
IOAreas
IMS
21
IMS application - DL/I ICAL …
� AIB– AIBSFUNC = SENDRECV– AIBRSNM1 = 8 byte OTMA Descriptor name– AIBRSFLD = Timeout value
• 4 byte field for time value 100th seconds. System default is 10 sec.
– AIBOALEN = Request area length• As an input parameter: 4 byte field contains the length of the request area• As an output parameter: Actual length of the response message updated by IMS only
when partial data is returned (AIB return code x'100', AIB reason code x'00C‘).
– AIBOAUSE = Response area length• As an input parameter: 4 byte field contains the length of the response area• As an output parameter: Length of the response message placed in the response area.
When partial data is returned because the response area is not large enough, AIBOAUSE contains the length of data returned in the response area and AIBOALEN contains the actual length of the response message.
IMS
22
IMS application - DL/I ICAL…
Descriptor name
Timeout
Request Area LengthResponse Area Length
Output return codes
AIB
For example:
IMS
23
OTMA Destination Routing Descriptor
D destname keywordsWhere:
destname is destination names and can be masked by ending in an *keywords are: TYPE=IMSCON
TMEMBER=nameTPIPE-nameSMEM=YES|NOADAPTER=adapnameCONVERTR=convnameSYNTIMER=timeout (If both ICAL & Descriptor specify timeout, the lower value is used)
D OTMDEST1 TYPE=IMSCON TMEMBER=HWS1 TPIPE=TPIPE1 SYNTIMER=500
� IMS 10 OTMA Destination Routing Descriptors externalize the routing definitions and specifications for callout messages without IMS user exits. It is read and initialized at IMS startup.
– Use ‘D’ descriptor type in DFSYDTx member of IMS.PROCLIB.
� IMS 11 provides Type-2 commands to dynamically create, update, or query the descriptors
UPDATE OTMADESC NAME(OTMDEST1) SET(SYNTIMER(600))
For example:
For example:
D SOAPGW1 TYPE=IMSCON TMEMBER=HWS1 TPIPE=HWS2SOAPD SOAPGW1 ADAPTER=XMLADPTR CONVERTR=XMLCNVTR SYNTIMER=200
IMS
24
DFSDDLT0
� DFSDDLT0 supports ICAL
� Output shows response, AIBOALEN (actual), AIBOAUSE (returned), AIBRETRN, AIBREASN, AIBERRXT
S1111 1 1 1 1IOPCB AIB L ICAL SENDRECV OTMDEST1 005000 00028 00030 L DATA HELLO FROM IMS
CALL=ICAL
SEGMENT =(HELLO FROM RYO)
COMP RET CODE=OK IOPCB LTERM= RET CODE= RACFUSER=AUTPSB1 .
0001 0001AIB BLOCK AIBOALEN = 000E, AIBOAUSE = 000E,
0000 0000 0000RETURN CODE = 0000, REASON CODE = 0000, ERROR EXTSN = 0000
If a timeout occurred, a return code 256 and reason code 260 would be returned.
IMS
25
IMS application can callout to external application
� IMS application can callout to one of the following:
– User-written (RYO) IMS Connect application
– Java EE apps (MDB or EJB) running in WebSphere Application Server (WAS) using IMS TM Resource Adapter (IMS TM RA)
– Web services providers using IMS SOAP Gateway
IMS
26
RYO Application
ACK
Response
1
3
4
IMS Connect
z/OS
IMS
IMS Application
2
Callout with RYO – Flow diagram
Initiating Client
Resume TPIPE TPIPE1
ICAL SENDRECV OTMDEST1JACK’S CREDIT CARD #
Request
TPIPE TPIPE1
1111-2223-3333
1111-2222-3333
OTMDEST1TPIPE1HWS1
HWS1
OTMA Descriptor
IMS
27
WebSphere Application Server IMS Connect z/OSIMS
IMS Application
2 ICAL SENDRECV ICODEST1HELLO FROM IMS
HELLO FROM WEBSPHERE MDB
TPIPE ICOPIPE1
Message Driven Bean (MDB)
Response
1
3
Activate
HELLO FROM IMS
onMessage
HELLO FROM WEBSPHERE MDB
IMS
TM
Resource A
dapter
Callout with IMS TM RA – Flow Diagram (MDB)
Initiating Client
ICODEST1ICOTPIPE1HWS1
OTMA Descriptor
HWS1
Web Service or EJB
IMS
28
IMSTMRA
z/OS
IMS
TM/CTLServices
IMS
Connect
HWS1
Java
Application
Application Program
ICAL
DEST1
Resume TPIPE TPS
OT
MA
TPS DEST1TPSHWS1
ACK
Send_ONLY
SYNC_RECEIVE_CALLOUT TPS
SYNC_SEND
WebSphere Application Server
CORTKN Data
CORTKN Data Request
Response
CORTKN Data
CORTKN Data
Callout with IMS TM RA – Flow Diagram (EJB)
IMS
29
Web Service
IMS SOAP Gateway
Response
1
4
IMS Connect
z/OS
IMS
IMS Application
2
Server start
ICAL SENDRECV OTMDEST1HELLO FROM IMS
HELLO FROM IMS
Request
HELLO FROM WEB SERVICE
HELLO FROM WEB SERVICE
TPIPE SGPIPE02
HELLO FROM IMS
HELLO FROM WEB SERVICE
3
Callout with IMS SOAP Gateway – Flow Diagram
Initiating Client
OTMDEST1SGPIPE02HWS1HWSXMLA0HELLOD
OTMA Descriptor
HWS1
XMLAdapter
XMLConverter
Correlator
IMS
30
Enhanced IMS commands� /DISPLAY ACTIVE REGION
– New status for region waiting on synchronous callout response
• WAIT-CALLOUT– Continuation line for region waiting on
synchronous callout response• TMEMBER name TPIPE: tpipename
� /DIS TMEMBER TPIPE – WAIT-S
• The transaction pipe is waiting for an ACK or NAK for a synchronous callout message
� /PSTOP – Clear the wait in the region– Dequeues synchronous callout messages from the
TPIPE
� /STOP REG ABDUMP– Clear the wait in the region and terminate the
application program
� /STOP TMEMBER TPIPE– Clear state of all messages for the TPIPE except
WAIT for response
� /STOP OTMA– Clear all the ICAL messages for all the TPIPEs. – New ICAL synchronous callout requests rejected
Note: The stop commands return AIBRETRN = 100 and AIBREASN = 10C to ICAL
IMS
31
/DISPLAY TMEMBER TPIPE SYNC
� Since every “Resume Tpipe on Hold Queue” request is remembered and tracked by OTMA, OTMA will queue the unprocessed requests.
� Issuing the /DISPLAY TMEMBER TPIPE SYNC command can show the number of queued “Resume Tpipe on Hold Queue” requests and the active Resume Tpipe status.
/DIS TMEM HWS1 TPIPE ALL SYNC
DFS000I MBR/TPIP ENQCT DEQCT QCT INPCT OPT MODE SYNCOT NO-RSP RTQ STATUS SMEM
DFS000I -CLIENT01 1 0 1 0 N A 0 0 2 WAIT_H
In this example, the current active resume tpipe request has the No-AUTO option, async mode. And this tpipe is currently waiting for ACK or NAK.
There are 2 queued Resume Tpipes requests on the queue to be processed later.
/STOP OTMA or bringing down the OTMA client – HWS1, IMS will clear the active resume tpipe request and all the queued resume tpipe
requests.
IMS
32
Diagnostics for Synchronous Callout� Incorrect OTMA descriptor name specified in the ICAL AIB
� IMS Connect and IMS not connected. Issue /DIS TMEMBER x TPIPE y SYNC
� The following diagnostics information is logged in the IMS log records:– Synch Callout requests and responses responses
• Logged with OTMA 6701 ID=YOUT (for request) and ID=YRSP (for response)• Matched by Sync Callout CORTKN, also includes LCRE token• Note: no 01 or 03 log records since ICAL does not use IMS message queues
– ICAL timeout• Logged with 67D0 (includes LCRE token)
– Sync Callout late reply• Logged with 6701 ID=YNAK
– Resume TPIPE • Logged with 6701
– Client ACK / NAK response to Sync Callout request• Logged with OTMA 6701 ID=YACK/YNAK (includes CORTKN)
– IMS Connect generated NAK (when external app or server went away or timed out)• Logged with OTMA 6701 ID=YNAK (includes LCRE token)
IMS
33
A 6701 log record for a callout message, and a 67D0 log record for time-out
© 2012 IBM Corporation
®
IMS
DL/I ICAL for Receive in IMS V13
IMS
35
Support for Truncated Messages
� New “RECEIVE” subfunction code– With an expanded response area
• Retrieves the response message after an ICAL “SENDRECV” is issued with an inadequate response area specification and gets partial data (AIB RC X’100’, AIB RS X’00C’)
– IMS 13 keeps a copy of the entire response message in the control region private storage
• Until a subsequent ICAL “SENDRECV”, syncpoint, or application termination
� Addresses– Partial response message due to inadequate application specification
� Benefit– Provides the ability to complete the retrieval of a reply message
• Without having to re-issue a complete ICAL “SENDRECV” and associated network transmission costs
IMS
36
ICAL subfunction RECEIVE
� Format:
• >>-ICAL--aib--response area-----------------------------------------><
� AIB – AIBSFUNC value “RECEIVE”
– AIBOAUSE is used as an input and output parameter based on AIBSFUNC• For the “RECEIVE” call
– Contains the length of the response area
– AIBOALEN = request area length• Used as an output parameter for “RECEIVE”
– When complete response is returned in response area, this field is 0 – If partial data is returned (AIB RC X'100', RS X'00C'), this field contains the actual
length of the response message
IMS
37
ICAL sub-function RECEIVE …
� Usage example:� ICAL --aib—request area , response area
� AIBSFUNC (SENDRECV) � AIBOAUSE – Response area length
� CALL is issued � AIBRETRN=x’100’, AIBREASN=’00C’× Specified length of the output response area is too small× AIBOAUSE= length of the data that was returned in the response area× AIBOALEN = the actual length of the entire response message
� Using the value in the previous AIBOALEN and leveraging the new support which keeps the message in IMS CTL region private, retrieve the entire response:
� ICAL --aib— response area� Where response area has been expanded to contain the entire message� AIBSFUNC (RECEIVE) � AIBOAUSE – new response area length
� CALL is issued successfully� AIBOAUSE – length of the response in the response area� AIBOALEN – set to 0 because the call successfully returned the entire response
IMS
38
ICAL sub-function RECEIVE …
� ICAL “RECEIVE” is only valid if previous ICAL “SENDRECV” failed
� Response data is available for retrieval until:
– A new ICAL call with sub-function code SENDRECV is issued
– When the IMS application reaches a syncpoint
• Checkpoint for an BMP application
– Abnormal termination
© 2012 IBM Corporation
®
IMS
Synchronous program switch in IMS V13
IMS
40
Synchronous Program Switch
� New capability that enhances the DL/I ICAL support
– Allows an IMS application program to synchronously call and wait for a reply from another IMS application program
• Within the calling program’s UOW
Database
IMS DB services
IMS dependent region
IMS TM services
MPP, JMPIFP, BMP,
JBP
OTMA
Application Program
ICALIMS SOAP GATEWAY
IMS
Connect
TCP/IP
user-written Client
WebSphere
IMS TM resource adapter
IMS
41
Synchronous Program Switch…
� Benefits
– Modernization of the IMS application infrastructure
• Provides an internal service flow of IMS transactions to complete a business process– In the same IMS or a different IMS
– Implementation of a Process Server or Broker inside IMS
• Reduces unnecessary network traffic when accessing multiple applications in the same IMS or IMSplex
WASApplication
WASIMS
ConnectIMS
MPPx
MPP4
MPP2
MPP3
ICALICALICALICAL
WASApplication
WASIMS
Connect IMS
MPP4
MPP2MPP3
MPP1MPP1
IMS
42
Highlights
� Automatic invocation of OTMA
– Without requiring OTMA to be defined or commands to be issued
– New OTMA destination descriptor TYPE
• IMSTRAN
� Enhancements to the DL/I ICAL
– Allows an IMS transaction to be the target destination
• Accepts multi-segment requests/responses
– Provides additional AIB return and reason codes
� Support for Late Reply messages
– Can be purged or rerouted
� Security authorization
– Ensures userid of program issuing ICAL can access the target transaction
IMS
43
Restrictions
� No ICAL support for BMP or JBP applications running in DBCTL environments
– ICAL is part of the IMS TM capability
� IMS application program issuing ICAL for a synchronous program switch
– Can be a protected transaction
• But the target transaction of the ICAL is not part of the RRS commit scope
� The switched-to program (target of the ICAL)
– Has read-only access to the main storage data base (MSDB)
– Cannot be an IMS Conversational transaction
– Does not invoke IMS Message Format Service (MFS)
IMS
44
Restrictions …
� Exit routines
– DFSYIOE0 (OTMA Input/Output Edit Exit routine)
• Not called when processing synchronous program switch messages and responses – Increases the transparency of using OTMA
• Can be called for a late response being routed to an OTMA destination– To build or override the 1K OTMA user message data prefix in the response header
– DFSBSEX0 (Build Security Environment Exit routine)
• Not invoked for target transactions of the synchronous program switch
– DFSMSCE0 (TM and MSC Message Routing and Control User exit routine )
• Not invoked for the DL/I ICAL synchronous program switch
� Use of new ICAL capability in a Shared Queues environment
– Requires all IMS systems to be at IMS 13 and DBRC MINVERS of 13.1
IMS
45
Synchronous Program Switch – The Details
� An enhancement to the DL/I ICAL to invoke another IMS application
– In the same IMS
– In a different IMS
• In a Shared Queues back-end• Across an MSC link
– And synchronously receive the response back during the same unit of work
� Where IMS internally schedules the transaction initiated by the ICAL call as an OTMA transaction– Uses a new type of OTMA destination descriptor (TYPE=IMSTRAN) which has been
introduced specifically for synchronous program switch support
� And the target transaction can be
– An IFP, MPP, BMP, JMP, or JBP in the IMS TM or TM/DB environments
MPP1
MPP4
MPP3
ICAL
ICAL
ICAL
IMS1
MPP2
IMS X
IMS2
MSC
SharedMsg Queues
IMS
46
The DL/I ICAL callSame Format
>>-ICAL--aib--request_area--response_area----------------------><
Call Name DB/DC DBCTL DCCTL DB Batch TM Batch
ICAL X X
LLZZ+Trancode +Data
LLZZ+Data
LLZZ+Data
Request Data (example of multi-segment):
LLZZ+Data
LLZZ+Data
LLZZ+Data
Response Data in multi-segment:
IMS
47
The DL/I ICAL Call …
� Examples of common Return codes for synchronous program switch
– Full list in the IMS documentation
� If the ICAL “SENDRECV” receives a partial data status
– The new ICAL “RECEIVE” subfunction can retrieve the entire message
• Discussed in the OTMA Enhancements section
Target trans does not insert back to IOPCB006101100100
Trans is stopped003101100100
Input length invalid002001100100
DFSYICAL stopped000501100100
Security violation000401100100
Invalid trancode000001100100
/PSTOP cmd issued0000010C0100
ICAL timed out002001040100
Error message returned000001000100
Partial data returned0000000C0100
Brief DescriptionExtended Reason code
(Hex)
Reason Code
(Hex)
Return Code
(Hex)
IMS
48
The DL/I ICAL Call …
� Continues to use OTMA Destination Routing Descriptors – Which externalize the routing definitions and specifications for callout messages
and synchronous program switch messages– Allowing up to 510 destination routing descriptor entries defined in DFSYDTx
member of IMS.PROCLIB
– With new TYPE= IMSTRAN for synchronous program switches
D entry_name keywords Where entry_name is descriptor entry name and can be masked by ending in an *
keywords are: TYPE=IMSTRANLTERMOVR=name TMEMBER=nameTPIPE-nameSMEM=NO|YESEXIT= NO|YESREPLYCHK=YES|NOSYNCTP=NO|YES SYNTIMER=timeout value
For example: D OTMDEST1 TYPE=IMSTRAN SYNTIMER=500
D OTMDEST2 TYPE=IMSTRAN TMEMBER=SCOTTHWS1 TPIPE=BRYCE EXIT=YES
IMS
49
OTMA destination routing descriptor for DL/I ICAL � TYPE= IMSTRAN
– Required for synchronous program switch requests
Supported parameters for TYPE=IMSTRAN are as follows:
LTERMOVR = Specifies a value to override the LTERM name in the target IMS application program’s I/O PCB
TMEMBER= A 1- to 16-character OTMA TMEMBER name. Optional when TYPE=IMSTRAN. When specified, IMS queues the late response of a synchronous program switch to this OTMA TMEMBER (otherwise the late reply is purged) TPIPE= is required when TMEMBER= is specified.
TPIPE= A 1- to 8-character TPIPE name. Optional unless TMEMBER is specified for late replies.
SMEM= Specifies whether (YES) or not (NO) the TMEMBER is a supermember. Optional parameter.
EXIT= Specifies whether (YES) or not (NO) the IMS user exit (DFSCMUX0) can override the descriptor routing information for late messages when TYPE=IMSTRAN. Optional parameter.
REPLYCHK= Specifies whether (YES) or not (NO) IMS application replies to the IOPCB. If YES and the target application does not reply to the IOPCB nor message switches to another transaction, IMS returns a bad return code X’0100’, reason code X’0110’, and extended reason code X’0061’ instead of a timeout to the ICAL call.
SYNCTP = Specifies whether (YES) or (NO) a synchronous TPIPE is to be created with recoverable sequence numbers for input and output messages. Optional parameter. Primarily used with WebSphere MQ and can apply to late response messages
SYNTIMER= Specifies the ICAL timeout value for synchronous program switch. Optional parameter. If timeout value is also specified in the AIB interface, IMS compares the timeout values and selects the lower value.
– The other existing parameters OTMA destination descriptors are not applicable for TYPE=IMSTRAN
IMS
50
OTMA destination routing descriptor for DL/I ICAL …
� Type-2 commands can also be used to update, create, delete, or query the descriptor entries for synchronous program switch
– CREATE OTMADESC and UPDATE OTMADESC
• New optional sub-parameters for SET – SYNCTP, REPLYCHK, EXIT, and LTRMOVR
– QUERY OTMADESC
• Includes information for the optional new parameters – SYNCTP, REPLYCHK, EXIT, and LTRMOVR
For example: UPDATE OTMADESC NAME(OTMDEST1) SET(SYNTIMER(800))
QRY OTMADESC NAME(OTMDEST1) SHOW(ALL)
IMS
51
OTMA Support for Synchronous Program Switches
� Non-XCF related OTMA services are used
– Internal invocation of OTMA services to process the target transaction request
• Without specifying OTMA=Y in the DFSPBxxx member of IMS PROCLIB and without issuing /START OTMA command
– No need to start the XCF connection with any OTMA client for the synchronous program switch
– The target transaction is processed as an OTMA transaction
• If authorization is required, IMS checks to see if user can access target
• Using OTMA send-then-commit (CM1) protocol with SyncLevel=CONFIRM– Target transaction of the ICAL is processed as an OTMA transaction
• IMS creates an internal OTMA member DFSYICAL and internal tpipe DFSTPIPE to process the transaction– And generates internal ACK/NAK for the CONFIRM request
IMS
52
OTMA Support for Synchronous Program Switches …
IMS
53
IMS Commands
� /DIS ACTIVE REGION
– Displays the target transaction for the synchronous program switch
– Displays the calculated end time of the ICAL
• Based on the timeout value
IMS
54
IMS Commands …
� /PSTOP REGION rgn# SYNC tran name …
– Allows a program in a wait state to terminate
� /STOP TMEMBER DFSYICAL [ TPIPE DFSTPIPE ]
– Stops all of the synchronous program switches in this IMS
� /START TMEMBER DFSYICAL [ INPUT flood_limit ]
– Starts synchronous program switches after a /STOP command
• Optional use of the INPUT keyword provides a flood control value
� /DISPLAY OTMA
– Displays the big picture of OTMA members, even when OTMA is stopped
– New user status:
• SYNC P2P• SYNC P2P+FLOOD
� /DISPLAY TMEMBER DFSYICAL TPIPE DFSTPIPE SYNC
– Displays information about the tpipes created for the synchronous program switches
– Displays the total number of executed synchronous program switches,
IMS
55
Messages and Status Codes
� Messages
– DFS4687E ERROR PROCESSING SYNC PROGRAM SWITCH
• Provides information about a processing failure
– DFS1190I REGION nnnn NOT WAITING ON yyyyyyyy xxxxxxxx
• Indicates that a /PSTOP command might have been issued in error
� Application program status Codes
– A1
• CHNG call was issued using a descriptor with TYPE=IMSTRAN• OTMA ALTPCB output destination specified reserved name DFSYICAL
– AX
• An OTMA user exit (DFSYPRX0, DFSYDRU0, or client DRU exit) returned invalid routing information
IMS
56
Security Considerations
� Security for ICAL is similar to CHNG/ISRT DLI calls– Based on transaction security specifications (TRN)
• RACF and/or DFSCTRN0 are used for user authorization checking todetermine if the ICAL can invoke the target transaction – Unless OTMA security is set to NONE
� If the ICAL is authorized to do the synchronous program switch
– Target transaction is scheduled as an OTMA transaction with the default OTMA security level of FULL
• Security level can be changed by issuing the command: – /SECURE OTMA NONE, or – /SECURE OTMA TMEMBER DFSYICAL CHECK|NONE
IMS
57
Security Considerations …
� If the ICAL is authorized to do the synchronous program switch …
• Even when DFSYICAL does not yet exist in the system or when the target is in another IMS system
– You can issue /SECURE OTMA… to preset the security level
ICAL TRAN_A
TRAN_BThe transaction security specification of TRAN_A will be used to perform the security authorization for the ICAL.
The default OTMA security level of FULL is used to process TRAN_B in the region.
Optionally, issue /SECURE OTMA TMEMBER DFSYICAL CHECK|NONEahead of time
IMS
58
Shared Queues Support
� IMS leverages the APPC/OTMA XCF shared queues (SQ) function
– For both request and response messages
– Specifying AOS= and/or RRS= in the IMS PROCLIB members is not required
• ICAL automatically and always uses AOS=X (SL1 uses XCF)– Compatible with any existing AOS= and RRS= currently set for other transactions
Requires DBRC MINVERS of 13.1 for all members of the SQ group Otherwise ICAL will get a rejection
FE IMS
Shr Q
BE IMS
LTERM
LU62
OTMA
BMP
GU IOPCB
ICAL
ISRT IOPCB
GU IOPCB
….
ISRT IOPCB
AOS=X
CM1, SL1
RC RS Extended Reaso n Explanation
X’0100 X’0100’ X’0115’Request message is rejected. The synchronous program switch was executed inthe Shared Queues environment, but the IMS systems in the Shared Queues donot have the same MINVERS value of 13.1.
IMS
59
MSC Support
� IMS supports sending an ICAL request to an MSC back-end system
– MSC/VTAM
– MSC/TCPIP with IMS Connect (introduced in IMS 12)
LTERM
LU62
OTMA
BMP
GU IOPCB
ICAL
ISRT IOPCB
GU IOPCB
….
ISRT IOPCBMSC
IMS
60
Transaction expiration for the target transaction
� Transaction expiration for targets of synchronous program switches (new)
– Uses the timeout value of the synchronous program switch
• ICAL timeout value is carried in the OTMA header
– Invoked during application GU time
1
2ICAL times out!!
3
Transaction Expiration is detected during Application GU:- Input message is discarded- A 67D0 log record is written- No symptom dump - No DFS554 message issued.
ICAL TRAN_A TRAN_B
Application issuing ICAL receives a timeout with:- AIB return code X’00000100’- reason code X’00000104’- extended reason code X’00000020’
IMS
61
Application Examples
� Applications can issue multiple ICALs to different destination TYPEs
– Synchronous callout
– Synchronous program switch
ICAL DEST1
ICAL TRANB
TRANAIMS CTL Region
IMS Connect
WebSphereIMS TMRA
IMS SOAPGateway
TCP/IPRYO pgm
OTMA
MSG-Q
Destination Descriptor
TYPE(IMSCON)
TRANB
GU IOPCB
ISRT IOPCB
Destination Descriptor
TYPE(IMSTRAN)
1
23
4
56
7
GU, IOPCB
IMS
62
Application Examples…
� The IMS application environment supports recursive requests– ICAL to ICAL
• Across a single or multiple IMS systems
FE IMS BE IMS or Local IMS
LTERM
LU62
OTMA
BMP
TRANA
SQ
ICAL request
SQ,MSC,Local
(FE=BE)
ICAL to SKS2
ISRT IOPCB
APOL12
SKS2
GU, IOPCBICAL to SKS1
ISRT IOPCBSKS1
ISRT IOPCB
GU, IOPCB
ISRT, IOPCB
GU, IOPCB
GU, IOPCB1
3
4
5
6
78
2
IMS
63
Migration/Setup Considerations
� For Non-shared queues
– Synchronous program switch is a base function of IMS 13
� For Shared Queues
– DBRC minimum version (MINVERS) value of 13.1 is required to enable the synchronous program switch function
• Even if it is a single-system Shared Queues environment
� The MSC remote IMS does not need to be an IMS 13 system
� New OTMA trace table entries
– Documented in the IMS Diagnosis Guide under “OTMA Diagnostic Aids”
IMS
64
top related