IMS OTMA High Availability - IMS UG May 2013 Boston

  • 235 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
235
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. IMS OTMA High Availability andWorkload BalancingIMS Regional User GroupBoston/Hartford, May 2013Prepared by: Suzie Wendler (ATS) and Steve NathanPresented by: Steve Nathan, IMS RUG Advocate© 2013 IBM CorporationThe (R)Evolution ContinuesPresented by: Steve Nathan, IMS RUG Advocate
  • 2. IMS Regional User Group – Boston /Hartford – May 2013Disclaimer© Copyright IBM Corporation [current year]. All rights reserved.U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP ScheduleContract with IBM Corp.THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONALPURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS ANDACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “ASIS” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THISINFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARESUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY2IMS OTMA High Availability and Workload BalancingSUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANYDAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATIONOR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION ISINTENDED TO, NOR SHALL HAVE THE EFFECT OF, CREATING ANY WARRANTIES ORREPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR LICENSORS), OR ALTERING THE TERMSAND CONDITIONS OF ANY AGREEMENT OR LICENSE GOVERNING THE USE OF IBM PRODUCTSAND/OR SOFTWARE.IBM, the IBM logo, ibm.com, and IMS are trademarks or registered trademarks of International BusinessMachines Corporation in the United States, other countries, or both. If these and other IBM trademarked termsare marked on their first occurrence in this information with a trademark symbol (® or ™), these symbolsindicate 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 IBMtrademarks is available on the Web at “Copyright and trademark information” atwww.ibm.com/legal/copytrade.shtml
  • 3. IMS Regional User Group – Boston /Hartford – May 2013AgendaIntroduction to Sysplex, OTMA and IMS ConnectWorkload Distribution, load balancing and failoverconcepts– DNS/WLM, VIPA, Sysplex DistributorInbound:3IMS OTMA High Availability and Workload Balancing– IMS Connect Workload Distribution – Accessing IMS as a server• Transactions and Supermember support• Databases and ODBM aliasesOutbound:– Calling out from IMS – Accessing external web services• Addressing single points of failureWebsphere MQ IMS Bridge
  • 4. IMS Regional User Group – Boston /Hartford – May 2013AbstractWith the ever-increasing options to integrate IMS intothe new data processing world, care must be taken toensure that the proper decisions are made forscalability, backup, and failure scenarios. This sessionexplains and compares different options includingDVIPA, Sysplex Distributor, IMS Connect Datastore4IMS OTMA High Availability and Workload BalancingDVIPA, Sysplex Distributor, IMS Connect Datastorerouting, the use of aliases with ODBM to manageworkload requests for IMS resources, considerationswhen using the new IMS callout capabilities andWebsphere MQ IMS Bridge availability .
  • 5. IMS Regional User Group – Boston /Hartford – May 2013SysplexA group of connected system z processors and LPARs– Enables horizontal growth• IMS: Shared Queues, Data Sharing, Multiple and/or ClonedSystems, MSC routing, …– Provides a single system image5IMS OTMA High Availability and Workload BalancingInternet
  • 6. IMS Regional User Group – Boston /Hartford – May 2013OTMAIMS/ESA 5.1 introduced the IMS OTMA (OpenTransaction Manager Access) featureThis feature uses the MVS cross-coupling facility (XCF)to send and receive data (messages and commands)6IMS OTMA High Availability and Workload Balancingto/from IMS from MVS applications (OTMA clients)– No VTAM or TCP/IP is involved– OTMA clients do not have to be in the same LPAR as IMS• They just have to be in the same SYSPLEXThe OTMA code runs in the IMS Control Region
  • 7. IMS Regional User Group – Boston /Hartford – May 2013OTMAThere is a wide variety of OTMA clients– Websphere MQ includes an IMS OTMA client• “MQSeries-IMS Bridge”– IMS Connect is an IBM provided OTMA client for TCP/IP– DB2 Stored Procedures include an OTMA Client7IMS OTMA High Availability and Workload Balancing– DB2 Stored Procedures include an OTMA Client• DSNAIMS– You can write your own OTMA client• Using the XCF Interface (VERY hard to do)• Using the OTMA Callable Interface from C or C++ programs– Many vendors provide OTMA clients
  • 8. IMS Regional User Group – Boston /Hartford – May 2013OTMA8IMS OTMA High Availability and Workload Balancing
  • 9. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA TPIPEs (Transaction Pipes)– OTMA equivalent of LTERMs– Input (IOPCB) TPIPE names are specified by the client– Asynchronous output (ALTPCB) TPIPE names• The destination in the CHNG call for modifiable ALTPCB’s• The destination name in static ALTPCB’s9IMS OTMA High Availability and Workload Balancing• The destination name in static ALTPCB’s• Can be overridden by the DFSYPRX0 exit• Can be overridden by the DFSYDRU0 exit• Can be specified by DFSYDTx OTMA descriptors• The name is important– Asynchronous output and synchronous callout messages are retrieved by askingfor messages from a specific OTMA Client on a specific TPIPE
  • 10. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA TPIPEs (Transaction Pipes)– TPIPE names must be unique only within a client (multiple clients canuse the same TPIPE name)• IMS recognizes TPIPEs as XCFmember.TPIPEname10IMS OTMA High Availability and Workload Balancing• IMS recognizes TPIPEs as XCFmember.TPIPEname• A request for asynchronous output or synchronous callout on a TPIPEmust come from the OTMA client (XCFmember) on which the messagewas queued– OR an OTMA Supermember must be used
  • 11. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA TPIPEs (Transaction Pipes)– There are two types of TPIPEs: Synchronized and Non-Synchronized• Synchronized TPIPEs exchange sequence numbers and can beresynchronized across failures11IMS OTMA High Availability and Workload Balancing• MQSeries uses Synchronized TPIPEs for CM0 messages– Messages on Synchronized TPIPEs are considered “recoverable” byMQSeries• IMS Connect only uses and supports Non-Synchronized TPIPEs
  • 12. IMS Regional User Group – Boston /Hartford – May 2013OTMA12IMS OTMA High Availability and Workload Balancing
  • 13. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA Synchronous Callout– OTMA supports synchronous callout from an IMS application• It is invoked with an IMS AIB call – ICAL• The application will issue the call and wait for a reply13IMS OTMA High Availability and Workload Balancing• The application will issue the call and wait for a reply• First support is for IMS Connect
  • 14. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA Synchronous Callout– The OTMA Client does a Resume TPIPE specifying that is wantssynchronous callout messages• OTMA sends the synchronous callout request to the OTMA Client when it is14IMS OTMA High Availability and Workload Balancing• OTMA sends the synchronous callout request to the OTMA Client when it isavailable• The OTMA Client must send an ACK (or NAK) for the request message• The OTMA Client will send the reply via a special Send-Only message• The OTMA Client is responsible for maintaining a correlation token
  • 15. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA Synchronous Callout15IMS OTMA High Availability and Workload Balancing
  • 16. IMS Regional User Group – Boston /Hartford – May 2013OTMAThere are several types of messages that have to beconsidered for OTMA availability– Send/Receive from the OTMA Client• Commit Mode 1• Commit Mode 0– Send Only from the OTMA Client16IMS OTMA High Availability and Workload Balancing– Send Only from the OTMA Client• Including the response to a Sync Callout message– Receive Only at the OTMA Client• Sync callout request• Asynchronous output– ALTPCB output– IOPCB output from Send-Only messages– NAK’ed IOPCB output
  • 17. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA Commit Mode– Specified by the OTMA client on each input message– Determines how IOPCB output messages are sent– Similar to APPC-IMS Commit Mode17IMS OTMA High Availability and Workload Balancing– Similar to APPC-IMS Commit Mode
  • 18. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA Commit Mode– Commit Mode 0 (CM0) - Commit-then-send• Output is queued• IMS sends the output after syncpoint is complete– This is like messages to a VTAM terminal18IMS OTMA High Availability and Workload Balancing• OTMA always requires an ACK to dequeue the output message• ALTPCB output messages and Sync Callout messages are alwaysCommit Mode 0• WebSphere MQ calls these “asynchronous” messages– The output is “asynchronous” from syncpoint completion
  • 19. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA Commit Mode– Commit Mode 1 (CM1) - Send-then-commit• IMS sends the IOPCB output and may wait for an ACK before syncpointis complete– Synch level 0 (None) – no ACK – continue syncpoint19IMS OTMA High Availability and Workload Balancing– Synch level 1 (Confirm) – wait for ACK– Synch level 2 (Synchpoint) – wait for ACK + RRS• Increases region occupancy• WebSphere MQ calls these “synchronous” messages– The output message is “synchronous” with syncpoint completion
  • 20. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA Commit Mode– Commit Mode 1 - Send-then-commit• Output messages are not queued• If the message can not be sent to the client or is NAKed by the client20IMS OTMA High Availability and Workload Balancing• If the message can not be sent to the client or is NAKed by the client(SL1) the transaction abends with U0119 and backs out• CM1 is required for Conversational and Fast Path EMH messages
  • 21. IMS Regional User Group – Boston /Hartford – May 2013OTMAOTMA Commit Mode– Commit Mode 1 - Send-then-commit• CM1 input messages are ALWAYS treated as non-recoverable– They will be discarded during IMS restart if they have not processed yet21IMS OTMA High Availability and Workload Balancing• CM1 messages can not be sent on Synchronized TPIPE’s• CM1 messages are always treated as RESPONSE mode– This may result in DFS2082 reply messages• A CM1 transaction that message switches can produce CM0 output– This can be very complicated and result in un-retrieved output
  • 22. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectIMS Connect is an IBM provided IMS OTMA client– IMS Connect comes with IMS – it is not an additional productIMS Connect is also a TCP/IP server22IMS OTMA High Availability and Workload Balancing– The user TCP/IP applications are the IMS Connect Clients
  • 23. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectIMS Connect accepts input from and sends outputmessages to the IMS Connect Client– IMS TM Resource Adapter• IBM supplied JEE Client– MFS Web Services• IBM supplied JEE Client23IMS OTMA High Availability and Workload Balancing• IBM supplied JEE Client– IMS SOAP Gateway• IBM supplied SOAP interface– Any TCP/IP application• Could be written using the IMS Connect API’s for Java and C/C++– IMS Universal Type-4 Drivers or DRDA Client• For sending remote database calls to IMS Open Database
  • 24. IMS Regional User Group – Boston /Hartford – May 2013IMS Connect24IMS OTMA High Availability and Workload Balancing
  • 25. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectIMS Open Database25IMS OTMA High Availability and Workload Balancing
  • 26. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectConfiguring for availability is done by having multiplecopies of IMS and IMS Connect in an IMSPLEX acrossmultiple z/OS LPARSTCP/IP availability is provided in front of the IMSConnects26IMS OTMA High Availability and Workload BalancingConnectsMethods are provided for routing messages to andreceiving synchronous callout and asynchronous outputfrom available IMS regions
  • 27. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectThe first place to configure for IMS Connect availabilityis in the TCP/IP network that is sending and receivingthe messagesThere are three main services available for TCP/IP load27IMS OTMA High Availability and Workload Balancingbalancing and failover– Static VIPA– Dynamic VIPA– Sysplex Distributor
  • 28. IMS Regional User Group – Boston /Hartford – May 2013Workload Distribution and Load Balancing ConceptsDispatcher support - IP Spraying– Intercepts connection requests– Attempts to balance traffic by choosing and then forwarding the request to aspecific server, e.g., a specific instance of IMS Connect, in the sysplex.Establishes session with WLM if servers are z/OS– Balances workload based on workload goalsLoad Balancing - e.g., WebSphere Edge Components28IMS OTMA High Availability and Workload Balancing– Balances workload based on workload goals– Never selects an unavailable serverProvides scalability and failover– Detects new instances of a server as they are added– Detects server failure and prevents routing new connection requests to themUsed for "short duration" applications like web traffic– Inbound data goes through the router– Outbound data goes directly to the client
  • 29. IMS Regional User Group – Boston /Hartford – May 2013Workload Distribution and Load Balancing ConceptsLoad Balancing - e.g., WebSphere Edge Components29IMS OTMA High Availability and Workload Balancing
  • 30. IMS Regional User Group – Boston /Hartford – May 2013FailoverStatic Virtual IP Addressing (VIPA)– First VIPA implementation– Eliminates an applications dependence on a particular network interface (IPaddress)• Non-disruptive rerouting of traffic in the event of failure• A defined VIPA does not relate to any physical network attachmentStatic VIPA30IMS OTMA High Availability and Workload Balancing– Multiple network interfaces on a single TCP/IP stack
  • 31. IMS Regional User Group – Boston /Hartford – May 2013FailoverAutomatic VIPA Takeover– Support for other TCP/IP stacks to be backup VIPA address• Allows an active stack to assume the load of a failing stack– Stacks share information using z/OS XCF messagingDynamic VIPA31IMS OTMA High Availability and Workload Balancing
  • 32. IMS Regional User Group – Boston /Hartford – May 2013Sysplex DistributorSysplex function - Single IP address for a cluster of Hosts– Sysplex-wide VIPA• Workoad balancing across multiple z/OS servers– Performs a Load Balancer type function on the System z environment– High availability• Enhanced Dynamic VIPA and Automatic Takeover– Allows movement of VIPAs without disrupting existing connections32IMS OTMA High Availability and Workload Balancing
  • 33. IMS Regional User Group – Boston /Hartford – May 2013Sysplex Distributorz/OS Communications Server includes– Server-Specific WLM for Sysplex Distributor• Connections are distributed using a round-robin distribution• Or, based on a target server’s (IMS Connect’s ports) workload capacity– Rather than the target system’s (z/OS TCP/IP stack) capacity– Will be implemented for ICON in IMS 1333IMS OTMA High Availability and Workload Balancing• Balancing can also be done across a group of servers (multiple IMSConnect instances) sharing a port– Sysplex autonomics health monitor for target stacks• Provides a mechanism to monitor a target server’s (IMS Connect’s ports)connection setup responsiveness– Approximately 1 minute intervals• When connection responsiveness diminishes, new connection requestsare diverted to alternate instances of the server
  • 34. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectIn a Sysplex Distributor environment34IMS OTMA High Availability and Workload Balancing
  • 35. IMS Regional User Group – Boston /Hartford – May 2013Routing Examples – Important NoteAlthough the Sysplex Distributor is an efficientmechanism for workload balancing– Balancing only occurs when a new connection is being established• If an IMS Connect region fails– New connection requests are automatically routed to the remaining active IMSConnect regions and workload balancing occurs among the active regions• When the failed IMS Connect is restarted35IMS OTMA High Availability and Workload Balancing• When the failed IMS Connect is restarted– Connections that are already active with other IMS Connect regions are NOTre-balanced• Only NEW connections are routed to the restarted region– Implication:• Many of the connections with IMS Connect are persistent– The environment after an IMS Connect has failed and been restarted, might beunbalanced until enough new connections have been requested.
  • 36. IMS Regional User Group – Boston /Hartford – May 2013Port SharingA method to distribute workload for IP applicationswithin a z/OS LPAR– Multiple instances of an application can listen on the same PORTnumber• Allows the workload to be distributed among the server applicationslistening on the same port• Simplifies the request for the remote client that does not know there36IMS OTMA High Availability and Workload Balancing• Simplifies the request for the remote client that does not know theremight be multiple server application instances that can accept themessage– Works with the Sysplex Distributor but does not require it– Can be implemented using round-robin distribution or with theworkload manager
  • 37. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectIMS Connect can listen on multiple TCP/IP Ports– This is important for availability and performance– Each Port is a TCB in IMS Connect• Multiple Ports allow more multi-tasking with IMS Connect– Each Socket connection is a sub-task with the Port TCB37IMS OTMA High Availability and Workload Balancing– Each Socket connection is a sub-task with the Port TCB• One socket with a very large message or a network problem could tie upthe entire Port– It is up to the customer to have different IMS Connect Clients usedifferent Ports
  • 38. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectPORTS– Provide the mechanism to access different IMS resources• Specified in the HWSCFGxx configuration file– PORTID - defines the PORT numbers for access to IMS TMapplications and commands– PORT - defines the PORT numbers, distinct from those defined inPORTID• Also for access to IMS TM applications and commands but you to specify38IMS OTMA High Availability and Workload Balancing• Also for access to IMS TM applications and commands but you to specifyan override of the TCP/IP Keepalive specification and to specify a PORTedit exit– SSLPORT – defines the Secure Socket Layer port• This should not be used – use TCP/IP AT-TLS– DRDAPORT (IMS V11)• Defines the PORT numbers, distinct from those defined in the PORT orPORTID statements, used specifically for access to IMS DB.
  • 39. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectConnections to OTMA– One IMS Connect can connect to multiple IMS Control Regions inmultiple XCF groups– One IMS Connect can have multiple connections to the same IMScopy39IMS OTMA High Availability and Workload Balancing• Each connection is a separate OTMA client• Each OTMA client is a separate TCB in IMS– Each connection is called a “datastore” in IMS Connect– Each connection can have multiple TPIPEs• One for each Port for CM1 messages• One for each IMS Connect Client for CM0 messages
  • 40. IMS Regional User Group – Boston /Hartford – May 2013IMS Connect40IMS OTMA High Availability and Workload Balancing
  • 41. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectDATASTORE– Specified by DATASTORE control card in HWSCFGxx• Identifies a connection to an IMS• There can be multiple DATASTORE control cards• Translates a logical “datastore” name passed by the ICON client into theIMS XCF member name and therefore IMS Control Region41IMS OTMA High Availability and Workload Balancing– This allows for reconfiguring IMS applications without changing IMS ConnectClient code• ID= The logical datastore name– This is what is passed by the IMS Connect client to identify the IMS copy toreceive the message• It can be set/overridden by the IMS Connect User Message Exit
  • 42. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectDATASTORE– Specified by DATASTORE control card in HWSCFGxx• GROUP= Name of the XCF group to join for this connection• TMEMBER= XCF member name of the IMS to connect to for thisdatastore– There can be multiple DATASTORE cards– Each DATASTORE is an OTMA client (TMEMBER)42IMS OTMA High Availability and Workload Balancing– Each DATASTORE is an OTMA client (TMEMBER)• MEMBER= XCF member name of ICON for this connection– This is the OTMA Client name (TMEMBER)
  • 43. IMS Regional User Group – Boston /Hartford – May 2013IMS Connect Workload Balancing and FailoverOnce a message destination is resolved to a particular z/OS hostand IMS Connect system– IMS Connect can access multiple IMS Systems (datastores)– Message exits can reroute a message to a different target IMS• The Datastore table provides information as to which systems are active43IMS OTMA High Availability and Workload Balancing
  • 44. IMS Regional User Group – Boston /Hartford – May 2013Routing ExamplesTwo tables available to IMS Connect User Message exits– Exit Interface Block (HWSXIB)• Points to the datastore table• Allows user data to be stored– Datastore Table (HWSXIBDS) (datastore = connection to an IMSsystem)44IMS OTMA High Availability and Workload Balancing• Contains datastore ids, status (active, inactive, degraded) and optionaluser dataUser Initialization Exit Routine (HWSUINIT)– Driven during initialization and termination– Load user table(s) and obtain any needed storage– Add user data to Exit Interface and DATASTORE tables• e.g., define alternate IMS systems
  • 45. IMS Regional User Group – Boston /Hartford – May 2013Routing ExamplesExit Interface Block– IMS Connect information– Pointer to the Datastore tableHWSXIB DSECT Exit Interface Block 00200000*********************************************************************** 00210000* XIB Header * 00220000*********************************************************************** 00230000XIB_HEADER DS 0D 00240000XIB_EYE DS CL4XIB EYECATCHER 0025000045IMS OTMA High Availability and Workload BalancingXIB_EYE DS CL4XIB EYECATCHER 00250000XIB_DATASTORES DS A DataStore list address 00260000XIB_UFLD_CNT DS F User field count 00270000XIB_XIBDS_LEN DS H Length of XIBDS Entry @PK70960 00280000XIB_ARCHLVL DS X Architecture Level @PK70960 00280100XIB_ARCH1 EQU X01 Arch Level 1 @PK70960 00280200XIB_ARCH2 EQU X02 Arch Level 2 @PM05993 00280250XIB_ARCHMAX EQU XIB_ARCH2 Highest Arch Level @PM05993 00280300* Set Arch Level to 2 @PM05993 00280310DS X Reserved for IMS Connect @PK70960 00280400XIB_VERSION DS F Version X0A0100=V10.1.0 @PM05993 00280450DS F Aligned with V11 @PM17288 00280470DS 3F Reserved for IMS Connect @PM05993 00280500* @PM05993 00280600XIB_HDR_LEN EQU *-HWSXIB XIB header fixed length 00290000
  • 46. IMS Regional User Group – Boston /Hartford – May 2013Routing ExamplesDatastore Table– List of datastores and their status– Can be used to route messages to available, un-degraded IMS copiesHWSXIBDS DSECT Exit Interface Block Data Store entryXIBDS_NAME DS CL8 Data store nameXIBDS_STATUS DS X Data store status46IMS OTMA High Availability and Workload BalancingXIBDS_STATUS DS X Data store statusXIBDS_INACTIVE EQU X00 Data store not active in ICON* OPENDS command is requiredXIBDS_ACTIVE EQU X01 Data store active in ICON* And IMS is active in XCF groupXIBDS_DISC EQU X02 Data store disconnected* No OPENDS command is requiredXIBDS_FLAG DS X Data store entry flagsXIBDS_LAST_ENTRY EQU X80 Last entry in listDS XL2 ReservedXIBDS_USER DS XL4 User field
  • 47. IMS Regional User Group – Boston /Hartford – May 2013Routing ExamplesDatastore Table– Contains degraded status and last heartbeat timestampXIBDS_USER DS XL4 User field* OTMA Status Section FollowsXIBDS_ST_STATUS DS H Overall Status Code 3, 2, or 1* 3 - Available for work* 2 - Warning, partly degraded* 1 - Severe, no work possible* 0 - N/A no status availableXIBDS_ST_SVRSTT DS 0XL4 Unavailable resource infoXIBDS_ST_SVRFLG1 DS X Group 1 unavail resourcesXIBDS_ST_SVRFLG2 DS X Group 2 unavail resourcesXIBDS_ST_SVRFLG3 DS X Group 3 unavail resources47IMS OTMA High Availability and Workload BalancingXIBDS_ST_SVRFLG3 DS X Group 3 unavail resourcesXIBDS_ST_SVRFLG4 DS X Group 4 unavail resourcesXIBDS_ST_S4FLOOD EQU X01 Member reaches 100% floodXIBDS_ST_WRNSTT DS 0XL4 Degraded resource infoXIBDS_ST_WRNFLG1 DS X Group 1 degraded resourcesXIBDS_ST_W1FLOOD EQU X80 Global flood warningXIBDS_ST_W1MTP EQU X40 Global tpipe warningXIBDS_ST_WRNFLG2 DS X Group 2 degraded resourcesXIBDS_ST_WRNFLG3 DS X Group 3 degraded resourcesXIBDS_ST_WRNFLG4 DS X Group 4 degraded resourcesXIBDS_ST_W5MTP EQU X08 Member TPIPE reached 100%XIBDS_ST_W4MTP EQU X04 Member TPIPE reached 80%XIBDS_ST_AWE EQU X02 Msg AWE reaches 80% floodXIBDS_ST_W4FLOOD EQU X01 Member 80%+ floodXIBDS_ST_UTC DS CL12 UTC time for this statusXIBDS_ST_LEN EQU *-XIBDS_ST_STATUS Length of OTMA Status
  • 48. IMS Regional User Group – Boston /Hartford – May 2013Routing ExamplesDatastore Routing– IMS Connect provides the interface– IMS Connect sample User Message Exits do not take advantage ofthe capability• They can be modified to do so48IMS OTMA High Availability and Workload Balancing– Plug-ins such as IMS Connect Extensions (CEX) provide extensiverouting support
  • 49. IMS Regional User Group – Boston /Hartford – May 2013IMS Connect49IMS OTMA High Availability and Workload Balancing
  • 50. IMS Regional User Group – Boston /Hartford – May 2013IMS ConnectThe use of mechanisms such as IP spraying, workloadbalancing and sysplex distribution– Allow a connection request to be routed to any of the available IMSConnect instances• Different versions of IMS Connect and IMS can coexist– Mixed versions of IMS Connect and IMS are limited to the functionality of thelower release level50IMS OTMA High Availability and Workload Balancinglower release levelLPAR3LPAR2IMS Connect 1 (V11)IMS Connect 2 (V11)IMS A (V11)IMS B (V11)IMS C (V12)IMS Connect 3 (V12)LPAR1TCP/IPTCP/IPTCP/IP
  • 51. IMS Regional User Group – Boston /Hartford – May 2013ConsiderationsConnection failures – What happens to the outputmessages?– Depends on Commit Mode• Send-then-Commit (CM1)– Sync_level=none messages are discarded• 119 abend only for IMS Connect failure51IMS OTMA High Availability and Workload Balancing– Sync_level=confirm messages result in 119 abends• Commit-then-send (CM0)– Always Sync_level=confirm• Undelivered messages stay queued in IMS• Retrieved with a Resume TPIPE request from remote client• The OTMA Client can specify that the message be routed to a different TPIPE• The OTMA Client can specify that the message be purged instead of queued
  • 52. IMS Regional User Group – Boston /Hartford – May 2013ConsiderationsLoad Balancing --- vs --- CM0 messages on the IMS queue– Includes undelivered IOPCB messages along with all unsolicitedALTPCB messages– Resume TPIPE requests to retrieve the output message• Must be routed to IMS Connect that directly or indirectly triggered theoutput52IMS OTMA High Availability and Workload Balancingoutput• On a new connection, the load balancing function may route the request toa different IMS Connect instance– In a Shared Queues environment• The IMS system that processes an ALTPCB message must also deliver it– IMS Connect needs to route the Resume TPIPE request to thatspecific IMS instance
  • 53. IMS Regional User Group – Boston /Hartford – May 2013ConsiderationsResume TPIPE with a SYSPLEX Distributor– If you have a SYSPLEX Distributor in front of multiple OTMA Clientsyou may have problems using Resume TPIPE to retrieve yourasynchronous output• The inputting transaction may be routed to one OTMA Client and the53IMS OTMA High Availability and Workload Balancing• The inputting transaction may be routed to one OTMA Client and theResume TPIPE routed to a different OTMA Client– This can be fixed by the Supermember concept• This allows multiple clients to “pool” their asynchronous output
  • 54. IMS Regional User Group – Boston /Hartford – May 2013ConsiderationsIMSICON1OTMAICON1.TPIPE1IMSSend-OnlySend-OnlySend-Only is sent toICON1 and output isqueued to ICON1.TPIPE154IMS OTMA High Availability and Workload BalancingIMSConnectClientSYSPLEXDISTRIBUTORICON2ICON1.TPIPE1ICON2.TPIPE1Resume TPIPEResume TPIPEResume TPIPE is sent toICON2 and output is notfound on ICON2.TPIPE1
  • 55. IMS Regional User Group – Boston /Hartford – May 2013Supermember SupportSolution– Supermember Support (OPTIONAL)• A group “member” name given to a set of IMS Connect instances on whichto queue their asynchronous output– Any IMS Connect using the same Supermember can retrieve theasynchronous output55IMS OTMA High Availability and Workload Balancingasynchronous output– For Shared Queues, no affinity to an IMS system• Any IMS can deliver the message
  • 56. IMS Regional User Group – Boston /Hartford – May 2013Supermember SupportIMSConnectICON1SMEMBER=SME1OTMAICON1.TPIPE1IMSSend-OnlySend-OnlySend-Only is sent toICON1 and output isqueued to SME1.TPIPE156IMS OTMA High Availability and Workload BalancingConnectClientSYSPLEXDIRECTORICON2SMEMBER=SME1ICON1.TPIPE1ICON2.TPIPE1SME1.TPIPE1Resume TPIPEResume TPIPEResume TPIPE is sent toICON2 and output isfound on SME1.TPIPE1
  • 57. IMS Regional User Group – Boston /Hartford – May 2013Supermember SupportIMSConnectSend-OnlySYSPLEXDISTRIBUTORICON1SMEMBER=SME1OTMAIMSSend-OnlyCFIMS SQ12357IMS OTMA High Availability and Workload BalancingConnectClient Resume TPIPEResumeTPIPEICON2SMEMBER=SME1OTMAIMSIMS SQICON1.TPIPE1ICON2.TPIPE1SME1.TPIPE1Super member alsoworks in an IMSShared Queuesenvironment3 4
  • 58. IMS Regional User Group – Boston /Hartford – May 2013So – For Transaction AccessThrough Sysplex distribution and Supermember support58IMS OTMA High Availability and Workload Balancing
  • 59. IMS Regional User Group – Boston /Hartford – May 2013Multiple IMS Systems and Shared Queues SupportIf the IMS systems are cloned– IMS Connect routing mechanisms can send messages to differentIMS’s for processingOr, with the use of IMS Shared Queues– CM0 (Commit-then-Send) messages can process in any back-end59IMS OTMA High Availability and Workload Balancing– CM0 (Commit-then-Send) messages can process in any back-end– CM1 (Send-then-Commit) synchronous processing in a back-endsystem• Use zOS RRS (Resource Recovery Services)– Until IMS 12
  • 60. IMS Regional User Group – Boston /Hartford – May 2013Multiple IMS Systems and Shared Queues SupportShared Queues …– IMS 11 (without RRS)• No Synchronous processing in the back-end, UNLESS– DFSMSCE0 specifies MSCEFL2 = MSCE2FAF– Requests CM1 Sync (NONE|CONFIRM) to process in the IMS B-E• IMS maintains connection to the client on the front-end system while processing themessage as a non-APPC/OTMA message within the IMSplex environment60IMS OTMA High Availability and Workload Balancingmessage as a non-APPC/OTMA message within the IMSplex environment• Response message is converted back to APPC/OTMA synchronous mode, and theresponse is queued to the client.– MSC must be defined (although it is not used)– IMS 12• New DFSDCxxx option to request synchronous Sync (NONE | CONFIRM)requests be processed on a back-end system– Using XCF services (not RRS)
  • 61. IMS Regional User Group – Boston /Hartford – May 2013How About Database Access?With IMS 11, IMS Connect along with the Open Database Manager(ODBM) provide IMS database access– IMS Connect supports load balancing and Sysplex distribution for thisenvironment– The DRDA port number can also be shared across multiple instances61IMS OTMA High Availability and Workload Balancing
  • 62. IMS Regional User Group – Boston /Hartford – May 2013How About Database Access?IMS Connect does not define the ODBM address spacesto be connected to– It only defines the Ports to listen on and the IMSPLEX to joinHWS=(ID=HWS1,XIBAREA=100,RACF=N)TCPIP=(HOSTNAME=TCPIP,PORTID=(9999,9998,LOCAL),EXIT=(HWSSMPL1,HWSCSLO1,HWSSOAP1))DATASTORE=(ID=IMS1,GROUP=XCFGRP1,MEMBER=HWS1,62IMS OTMA High Availability and Workload BalancingDATASTORE=(ID=IMS1,GROUP=XCFGRP1,MEMBER=HWS1,TMEMBER=IMS1,DRU=HWSYDRU0,APPL=APPLID1,RRNAME=RTPIPE)IMSPLEX=(MEMBER=ICONCC1,TMEMBER=PLEX1)ADAPTER=(XML=Y)ODACCESS=(ODBMAUTOCONN=Y,ODBMTMOT=6000,DRDAPORT=(ID=1111,KEEPAV=5,PORTTMOT=50),IMSPLEX=(MEMBER=ICONOD2,TMEMBER=PLEX2))
  • 63. IMS Regional User Group – Boston /Hartford – May 2013How About Database Access?ODACCESS Statement in IMS Connect– Only DRDAPORT= is needed to define IMS Connect as a DRDAserver• There can be multiple occurrences of DRDAPORT– ODBMAUTOCONN=Y|N• Y – IMS Connect registers with all current and future ODBMs that enterthe IMSplex• N – IMS Connect does not automatically register with any ODBMs63IMS OTMA High Availability and Workload Balancing• N – IMS Connect does not automatically register with any ODBMs• Defaults to N if not specified– ODBMTMOT=• Defines the amount of time that IMS Connect waits for both ODBM and theDRDA Client– IMSPLEX=(MEMBER=,TMEMBER=)• Defines the IMSPLEX to connect to• If not specified the top level IMSPLEX statement will be used
  • 64. IMS Regional User Group – Boston /Hartford – May 2013How About Database Access?IMS Copies and their aliases are defined to ODBM in theCSLDCxxx member in the IMS PROCLIB/*********************************************************************//* Define DATASTORE properties for ODBM01 *//**********************************************************************/<SECTION=LOCAL_DATASTORE_CONFIGURATION>ODBM(NAME=ODBM01, /* Define parms for ODBM01 */DATASTORE(NAME=IMS1, /* IMSID on LPAR A */ALIAS(NAME=IO1A,NAME=IO1B), /* Names for APPL sets 1 & 2*/FPBUF=0,FPBOF=0,CNBA=0 /* No FastPath on this IMS */64IMS OTMA High Availability and Workload BalancingFPBUF=0,FPBOF=0,CNBA=0 /* No FastPath on this IMS */)DATASTORE(NAME=IMS2, /* IMSID on LPAR A */ALIAS(NAME=IO2A,NAME=IO2B), /* Names for DEDB apps */FPBUF=50,FPBOF=50,CNBA=500, /* FastPath on this IMS */MAXTHRDS=5 /* Throttle down threads */))
  • 65. IMS Regional User Group – Boston /Hartford – May 2013How About Database Access?IMS Copies and their aliases are defined to ODBM in theCSLDCxxx member in the IMS PROCLIB/**********************************************************************//* Define DATASTORE properties for ODBM02 *//**********************************************************************/ODBM(NAME=ODBM02, /* Define parms for ODBM02 */DATASTORE(NAME=IMS3, /* IMSID on LPAR B */ALIAS(NAME=IO3A,NAME=IMS3) /* Names for APPL sets 3 & 4 */65IMS OTMA High Availability and Workload BalancingALIAS(NAME=IO3A,NAME=IMS3) /* Names for APPL sets 3 & 4 */) /* Take global for the rest */)
  • 66. IMS Regional User Group – Boston /Hartford – May 2013How About Database Access?ODBM automaticallyconnects during initializationto IMS systems specified inCSLDCxxxODBM attempts auto-(re)connect with an IMS afterreceiving the SCI notify thatIMS2ODBAIMS1SCIODBMIMSPLEX(NAME=PLEX1)PLEX1PLEX166IMS OTMA High Availability and Workload Balancingreceiving the SCI notify thatthis IMS has (re)joined theIMSplex– e.g. IMS2 will auto-reconnectODBM can connect to an IMSthat is not in an IMSplex– Auto-reconnect not available– e.g. IMS4 will not auto-reconnectIMS4LPAR 1PLEX1 PLEX1
  • 67. IMS Regional User Group – Boston /Hartford – May 2013How About Database Access?When ODBM connects to IMS Connect it will pass all of itsAlias names to IMS Connect– Multiple ODBMs can use the same Alias name(s)When a DRDA client sends a request to IMS Connect itwill pass a real alias name or a blank alias name67IMS OTMA High Availability and Workload BalancingIf the alias name is blank IMS Connect will round-robin therequest among all of the ODBM’sIf the alias name is real IMS Connect will round-robin therequest among all the ODBM’s containing that Alias nameOnce the request gets to ODBM, ODBM will round-robinthe request among all of the IMS copies with that alias
  • 68. IMS Regional User Group – Boston /Hartford – May 2013Database AccessCalling programs can use an alias name to access IMSdata stores without needing to know the actual IMSID ofthe IMS data storeODBAODBMB1IMS1TM/DBIMSConnect ALPARAODBM(NAME=ODBMB1DATASTORE(NAME=IMS1,ALIAS(NAME=IM1A, IO1A))DATASTORE(NAME=IMS2,ALIAS(NAME=IM1A, IO2A)) )•ALIAS IO1A only routes to IMS1IMSPLEX1DB68IMS OTMA High Availability and Workload BalancingIMS2TM/DBODBAODBMB1•ALIAS IO2A only routes to IMS2ODBMB2DRA•ALIAS IO3A only routes to IMS3) LPARBIMSConnect BTCP/IPACCESSDB usingALIAS IM1AAnd usingIMSConnectHostnameport*Alias IM1A isrouted to ODBMB1DBDBIMS4DBCTL DB•IMS4 has no alias, applications can use the DATASTORE name IMS4IMS3DBCTLODBM(NAME=ODBMB2DATASTORE(NAME=IMS3,ALIAS(NAME= IO3A, IMS3))DATASTORE(NAME=IMS4) )
  • 69. IMS Regional User Group – Boston /Hartford – May 2013Database AccessWithout an alias, IMS Connect routes incoming connections inround-robin fashion among all the instances of ODBM within theIMSplex69IMS OTMA High Availability and Workload Balancing
  • 70. IMS Regional User Group – Boston /Hartford – May 2013Database AccessIMS Connect has an internal table– Keeps track of ODBMS and the IMS datastores and aliasesIMS Connect DB Routing Exit routine (HWSROUT0)– Can determine or change the destination of a database accessrequest• Select an ODBM by its name70IMS OTMA High Availability and Workload Balancing• Select an ODBM by its name• Allow IMS Connect to select an ODBM instance– By alias name• If only one ODBM has specified the alias, the request is routed to that ODBM• If the alias is associated with multiple ODBMs then IMS Connect uses a round-robintechnique to route the request across those resources.– If the alias is blanks then IMS Connect round-robins the request across all theODBM resources in the IMSplex.• Override the alias provided in the incoming request
  • 71. IMS Regional User Group – Boston /Hartford – May 2013And For Outbound RequestsIMS applications as clients to remote web services– IMS DL/I call “ICAL” sends messages through IMS Connect to:• EJB/MDB on a JEE server, e.g., WebSphere Application Service• Soap clients through IMS ES Soap Gateway• RYO clients– Remote systems need to issue• Resume TPIPE to retrieve messages71IMS OTMA High Availability and Workload Balancing– IMS TM RA for JEE, IMS ES Soap Gateway, RYO
  • 72. IMS Regional User Group – Boston /Hartford – May 2013And For Outbound RequestsMultiple applications/servers may be configured to pullIMS callout messages on the same destination foravailability– If one server fails, the other server can continue to pull calloutmessages from IMS• Servers are pre-conditioned to issue Resume TPIPE requests– Failover support for OTMA allows queuing of Resume TPIPEs72IMS OTMA High Availability and Workload Balancing– Failover support for OTMA allows queuing of Resume TPIPEs• IMS 10 APAR PK80758/ PTF UK50686• IMS V11 APAR PK91374/ PTF UK52368– First Resume TPIPE is active until satisfied and subsequent ResumeTPIPEs are queued• IMS Command: /DISPLAY TMEMBER TPIPE SYNC– Shows the number of queued “Resume TPIPE on Hold Queue” requests(RTQ) and the active Resume TPIPE status
  • 73. IMS Regional User Group – Boston /Hartford – May 2013And For Outbound RequestsStep 1 - Redundancy73IMS OTMA High Availability and Workload Balancing
  • 74. IMS Regional User Group – Boston /Hartford – May 2013And For Outbound RequestsTarget – Redundancy with Failover74IMS OTMA High Availability and Workload Balancing
  • 75. IMS Regional User Group – Boston /Hartford – May 2013WebSphere MQWebSphere MQ contains an OTMA client– “WebSphere MQ IMS Bridge”– Code in the WebSphere MQ Queue Manager– For specially defined queues it will MQGET the messages from thequeue and send them to IMS using the OTMA interface– The IMS bridge also gets output messages from IMS via the OTMA75IMS OTMA High Availability and Workload Balancing• IOPCB output is MQPUT to the Reply-to Queue and Reply-to QueueManager in the original MQ input message• ALTPCB output can also be routed to the IMS Bridge• Sync Callout is currently not supported– One WebSphere MQ Queue Manager can connect to multiple IMSControl Regions• There can only be one connection per IMS Control Region• All IMS Control Regions must be in the same XCF group
  • 76. IMS Regional User Group – Boston /Hartford – May 2013WebSphere MQ76IMS OTMA High Availability and Workload Balancing
  • 77. IMS Regional User Group – Boston /Hartford – May 2013WebSphere MQ77IMS OTMA High Availability and Workload Balancing
  • 78. IMS Regional User Group – Boston /Hartford – May 2013WebSphere MQThere would be one definition for a Shared IMS BridgeQueue– DEFINE QLOCAL(SBQ1) STGCLASS(IMS1)– But each Queue Manager would have its own non-shared definition forSTGCLASS IMSX78IMS OTMA High Availability and Workload BalancingSTGCLASS IMSX• MQ1: DEF STGCLASS(IMSX) XCFNAME(IMS1) QSGDISP(QMGR)• MQ2: DEF STGCLASS(IMSX) XCFNAME(IMS2) QSGDISP(QMGR)– The message will be put on the WebSphere MQ shared queue by anyreceiving Queue Manager– The message can be retrieved from the MQ shared queue and sent toIMS by any Queue Manager which currently has a connection to IMS
  • 79. IMS Regional User Group – Boston /Hartford – May 2013SummaryIMS Connect – as a standard TCP/IP server application– Fully participates in IP spraying and load balancing techniques• VIPA, Dynamic VIPA, Sysplex Distributor ….– Provides mechanisms to route requests to any IMS in the sysplex• Transaction resources– Support for unsolicited messages with the supermember capability– Exit interfaces to route/reroute messages• Across LPAR boundaries79IMS OTMA High Availability and Workload Balancing• Across LPAR boundaries• Database resources– Provides round-robin routing– Supports aliasing– Provides exit interfaces to impact routing decisionsWebSphere MQ– WebSphere MQ Shared Queues and IMS Shared Queues can providea highly available environment