IMS Callout - IMS UG June 2013 Sao Paulo

25
© 2013 IBM Corporation IMS Callout IMS Regional User Group Sao Paulo, June 6

description

 

Transcript of IMS Callout - IMS UG June 2013 Sao Paulo

Page 1: IMS Callout - IMS UG June 2013 Sao Paulo

© 2013 IBM Corporation

IMS Callout

IMS Regional User Group

Sao Paulo, June 6

Page 2: IMS Callout - IMS UG June 2013 Sao Paulo

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

Page 3: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 4: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 5: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 6: IMS Callout - IMS UG June 2013 Sao Paulo

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

Page 7: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 8: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 9: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 10: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 11: IMS Callout - IMS UG June 2013 Sao Paulo

© 2013 IBM Corporation

IMS Synchronous Callout

Page 12: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 13: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 14: IMS Callout - IMS UG June 2013 Sao Paulo

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

Page 15: IMS Callout - IMS UG June 2013 Sao Paulo

© 2013 IBM Corporation

IMS application - DL/I ICAL…

AIB

For example:

Descriptor name

Timeout

Request Area Length

Response Area Length

Output return codes

Page 16: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 17: IMS Callout - IMS UG June 2013 Sao Paulo

© 2013 IBM Corporation

Managing Callout

Page 18: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 19: IMS Callout - IMS UG June 2013 Sao Paulo

© 2013 IBM Corporation

After ICAL request is sent …

Region

Status

TPIPEStatus

Sample Commands output

Page 20: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 21: IMS Callout - IMS UG June 2013 Sao Paulo

© 2013 IBM Corporation

IMS 13 Callout Enhancements

Page 22: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 23: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 24: IMS Callout - IMS UG June 2013 Sao Paulo

© 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

Page 25: IMS Callout - IMS UG June 2013 Sao Paulo

© 2013 IBM Corporation

Thank You!