IMS Callout - IMS UG June 2013 Sao Paulo
-
Upload
ibm-ims -
Category
Technology
-
view
428 -
download
1
description
Transcript of IMS Callout - IMS UG June 2013 Sao Paulo
© 2013 IBM Corporation
IMS Callout
IMS Regional User Group
Sao Paulo, June 6
© 2013 IBM Corporation
Acknowledgements and Disclaimers
Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all
countries in which IBM operates.
© Copyright IBM Corporation 2013. All rights reserved.
– U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
IBM, the IBM logo, ibm.com, IMS, DB2, CICS and WebSphere MQ are trademarks or registered trademarks of International Business
Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first
occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks
owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other
countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at
www.ibm.com/legal/copytrade.shtml
Other company, product, or service names may be trademarks or service marks of others.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are
provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice
to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is
provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of,
or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the
effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the
applicable license agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may
have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these
materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific
sales, revenue growth or other results.
© 2013 IBM Corporation
IMS SOA Integration Suitehttp://www.ibm.com/software/data/ims/toolkit/
Modernize, reuse and expand IMS transaction
Open and direct access to IMS Data
IMS
TM
IMS
DB
C
Java
MFS
DL/I Data
IMS ConnectAPI
IMS Enterprise SuiteSOAP
Gateway
IMS TMResourceAdapter
IMS MFS Web Solutions
IMS Web 2.0Solutions
XML Data
PL/ICOBOL
Full Java EE, web service and SOA access
to and from IMS transactions
Light-weight web service provider and
consumer solution for IMS
Simplify use of writing IMS Connect User-
written applications
Modernize, web and SOA enabled MFS-
based IMS transactions
Create feeds and integrate IMS
transactions with Web 2.0 app
WebSphere Write and run IMS application in Java
to leverage new skills
IMS Web 2.0Solutions
IMS Open DB and Universal JDBC drivers
IMS Explorer for Dev
IMS Universal DB Resource
Adapter
WebSphere
Create feeds and integrate IMS data with Web 2.0 app
Access IMS Data using SQL directly from System z and distributed platforms via IMS Connect
Store and Retrieve XML data from IMS DB
Provide visual view of IMS data and generate metadata classes for new application development
Access IMS Data from Java EE app
IMS DBWeb Services
Expose an IMS database query as Web Services
No additional cost for IMS license usersLeverage open standards
© 2013 IBM Corporation
Inbound Connectivity to IMS TM
or Print utilityIMS Performance Analyzer IMS Problem Investigator
IMS Connect
O
T
M
A
IMS DB &
XML DB
IMS
WebSphere Servers
WAS, WESB, WTX,
WMB, BPM
IMS SOAP
Gateway
WebSphere
DataPower
Connect API
(Java, C)
WMQMQ Client
RYO Client
MobileWeb
Service
Consumer
IMS TM
Resource
Adapter
WAS – WebSphere Application ServerWOLA - WebSphere z/OS Optimized Local AdaptersWESB – WebSphere Enterprise Service Bus
WTX – WebSphere Transformation Extender
WMB – WebSphere Message BrokerBPM - IBM Business Process Manager (BPM) Advanced
IBM Mashup
Center /
WebSphere
sMash
Web 2.0 Client
DB2
WOLA
JCA
JMS or MQ API
SOAP over IP
WMB &
DataPower
MQ IMS Bridge
MQ Trigger Monitor
IMSIMS
CONNECTCONNECT
ExtensionsExtensions
Archivejournal
XCF
T
C
P
/
I
P
Cloud
IMS APP
IMS
Catalog
© 2013 IBM Corporation
Outbound Connectivity from IMS TM
IMS Connect
O
T
M
A
IMS DB &
XML DB
IMS
DB2
WOLA
• Asynchronous and synchronous capabilities
IMS TM
Resource
Adapter
WAS
IMS SOAP
Gateway
WMQMQ Server
RYO Server
Web
ServiceProvider
Event
ProcessingWBE, WBM
WAS – WebSphere Application ServerWOLA - WebSphere z/OS Optimized Local Adapters
WBE – WebSphere Business Events
WBM – WebSphere Business Monitor
WMB – WebSphere Message Broker
RYO Server - .Net, BizTalk, Oracle SP, SAP, PayPal services, and any application server, etc.
WMB
IMS APP
IMS
Catalog
DB2 for z/OS
GatewayAny DB2
Platform
WebSphere
DataPower
© 2013 IBM Corporation
IMS Callout Techniques
• Asynchronous callout using insert to ALTPCB via OTMA
• Synchronous Callout using ICAL
• Asynchronous program switch
• Synchronous program switch (IMS 13)
• Callout via External Subystem Attach Facility– DB2 Stored Procedure
– WebSphere MQ
– Websphere Optimized Local Adapter
• User Written TCP/IP Synchronous
• Advanced Program-to-Program Communication (APPC)
© 2013 IBM Corporation
IMS Callout
• Enable IMS applications as Service Requesters– IMS Application can be an integration focal point in the enterprise
– Interoperate with business logic outside the IMS environment
– Callout to Java EE apps (EJB and MDB) and Web Services using WebSphere
Application Server and IMS TM Resource Adapter
– Callout to Web services providers (e.g. Microsoft .NET) using SOAP Gateway
– Callout to other applications
• Two Flavors– Asynchronous
– Synchronous
© 2013 IBM Corporation
Asynchronous Callout
• Asynchronous Callout– IMS application invokes external applications without waiting for response.
• DL/I ISRT ALTPCB
• Destination can be
– Another IMS application (program switch)
– An OTMA destination
» Sent to any OTMA clients, such as IMS Connect or WMQ
» Tpipe name specified via DRU exits or OTMA descriptor.
– Any response sent back is a new transaction
© 2013 IBM Corporation
Synchronous Callout
• Synchronous Callout– IMS application invokes external application and waits for the response.
• DL/I ICAL
• Supports timeout capability and large messages
• Secondary application is not in the same two-phase commit scope
– IMS application waits until the response is returned or the request receives a
timeout
– Callout response is sent back to the same transaction that initiated it
© 2013 IBM Corporation
IMS Asynchronous and Synchronous Callout
Sync Callout Response
Callout Request
Async Callout Response
IMS Application 1
IMS Application 2
Async: ISRT ALTPCB
Sync: ICAL
© 2013 IBM Corporation
IMS Synchronous Callout
© 2013 IBM Corporation
IMS Synchronous Callout Overview
• IMS 10 added DLI “ICAL” call for synchronous callout request
• Timeout support to optionally terminate callout request and free the dependent region
• Enhanced IMS commands to view synchronous callout status and stop the callout processing
• Support messages larger than 32K without segmentation
• Provide management of the correlation of a synchronous callout request and response
• Enhanced OTMA Resume TPIPE/Send Only protocol and Routing Descriptor function for retrieving synchronous callout requests and sending responses
© 2013 IBM Corporation
IMS application - DL/I ICAL
CALL 'AIBTDLI' USING ICAL, AIB, REQ-AREA, RESP-AREA.
where:
• ICAL is the call verb (available on AIBTDLI only) and SENDRECV is the
sub-function code
• REQ-AREA is the Request data area for sync callout
• RESP-AREA is the Response data area for returned dataNote: REQ-AREA and RESP-AREA do not specify LLZZ, data can be > 32K
For example:
ICAL
IOAreas
© 2013 IBM Corporation
IMS application - DL/I ICAL …
• AIB– AIBSFUNC = SENDRECV
– AIBRSNM1 = 8 byte OTMA Descriptor name
– AIBRSFLD = Timeout value• 4 byte field for time value in 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.
© 2013 IBM Corporation
IMS application - DL/I ICAL…
AIB
For example:
Descriptor name
Timeout
Request Area Length
Response Area Length
Output return codes
© 2013 IBM Corporation
D destname keywords
Where:
destname is destination names and can be masked by ending in an *
keywords are: TYPE=IMSCON
TMEMBER=name
TPIPE-name
SMEM=YES|NO
ADAPTER=adapname
CONVERTR=convname
SYNTIMER=timeout (If both ICAL & Descriptor specify timeout, the lower value is used)
D OTMDEST1 TYPE=IMSCON TMEMBER=HWS1 TPIPE=TPIPE1 SYNTIMER=5000
OTMA Destination Routing Descriptor
• IMS 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 UPDATE commands to dynamically create, update, or query the descriptors
UPDATE OTMADESC NAME(OTMASYN) SET(SYNTIMER(5000))
For example:
For example:
D SOAPGW1 TYPE=IMSCON TMEMBER=HWS1 TPIPE=HWS2SOAPD SOAPGW1 ADAPTER=HWSXMLA0 CONVERTR=XMLCNVTR SYNTIMER=2000
© 2013 IBM Corporation
Managing Callout
© 2013 IBM Corporation
• /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 (WT-S)
• The transaction pipe is waiting for an ACK or NAK
for a synchronous callout message
• /DIS TMEMBER TPIPE SYNC– Display the detailed sync callout message
count and status
• /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
• /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
Enhanced IMS commands
© 2013 IBM Corporation
After ICAL request is sent …
Region
Status
TPIPEStatus
Sample Commands output
© 2013 IBM Corporation
• Monitor synchronous callout processing
• Minimize resource contention– Try to issue ICAL requests before obtaining locks
• Define appropriate number of dependent regions– You may want additional transaction classes to segregate workloads
• Define timeout values for ICAL and/or OTMA descriptors
• Manage commit, backout and timeout -- UOWs are independent
• Multiple response messages from synchronous program switch (IMS V13)
Some Callout Considerations
© 2013 IBM Corporation
IMS 13 Callout Enhancements
© 2013 IBM Corporation
Synchronous Program Switch
• Extend IMS Synchronous Callout to invoke another IMS Application– Synchronous flows use DL/I ICAL
– Asynchronous flows still use DL/I ISRT
• OTMA Descriptor defines the destination
Benefits– Provides a single DL/I call to request a synchronous service regardless of where that service resides
– Simplifies integration and improves usability
ICAL DEST1
ICAL TRANB
TRANAIMS CTL Region
IMS Connect
WebSphere
IMS TMRA
IMS SOAP
Gateway
TCP/IP
RYO pgm
OTMA
MSG-Q
Destination Descriptor
TYPE(IMSCON)
TRANB
GU IOPCB
ISRT IOPCB
Destination Descriptor
TYPE(IMSTRAN)
1
23
4
56
7
GU, IOPCB
Applications can issue multiple ICALs to different destination TYPEs
Synchronous calloutSynchronous program switch
WebSphere
DataPower
© 2013 IBM Corporation
Retrieve Truncated Messages
• New ICAL “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 keeps a copy of the entire response message in the control region
private storage
• Until a subsequent ICAL “SENDRECV”, syncpoint, or application termination
• Benefit– Provides the ability to complete the retrieval of a reply message that had
been truncated due to a too small output area
• Without having to re-issue a complete ICAL “SENDRECV” and associated
network transmission costs
© 2013 IBM Corporation
IMS
ApplicationWebSphere
MQ
IMS
OTMA
Async Callout to WebSphere MQ via MQ Bridge
• OTMA Descriptor enhancements
– New TYPE=MQSERIES to define WebSphere MQ destination
• Provides asynchronous callout and messaging support (DL/I ISRT ALTPCB)
– New option to allow exits to be called to override descriptor
• Applies to all destination descriptors
Benefits– Eliminates need to write an OTMA user exit to recognize an MQ destination
– Simplifies integration and improves usability
© 2013 IBM Corporation
Thank You!