Download presentation
Presentation is loading. Please wait.
1
Hélène Lyon South-Europe IMS Technical Leader helene.lyon@fr.ibm.com
Accessing IMS Transactions through WebSphere and the IMS TM Resource Adapter Hélène Lyon South-Europe IMS Technical Leader Abstract:This talk discusses how you can access your existing and new IMS transactions in a Service-Oriented Architecture environment with the IMS TM Resource Adapter, a J2EE Connector Architecture resource adapter which is used with the standards-based Rational and WebSphere family of development tools and application integration middleware.
2
IMS Architecture . . . IMS Transaction IMS Database IMS MFS B MFS P D
No presentation layer Access to Resource Managers (RM) IMS DB, DB2, MQ Very simple design Get Input Message RM calls ISRT Output Message IMS Database Hierarchical design JDBC access XML datastore IMS MFS Description of input and output messages and device map Not used in client/server implementations VTAM (LU0 LU1 LU2 LU6.1 LU6.2) TCP/IP for zOS Telnet B APPC/MVS WMQ IMS Connect DB2 Stored Proc. MFS P I M S T IMS Message Queues D P – Presentation layer – always outside of IMS application design B – Business logic – managed by IMS Transaction Manager which can also act as a work manager for zOS RRS and participate in the distributed two-phase commit. D – Data Access – access to IMS using IMS DLI or JDBC calls, access to DB2 databases using SQL calls, and access to WMQ queues with MQI explicit calls. DSNAIMS is a stored procedure that allows DB2 applications to invoke IMS transactions and commands easily, without maintaining their own connections to IMS. DSNAIMS uses the IMS Open Transaction Manager Access (OTMA) API to connect to IMS and execute the transactions. B B Appl. . . . Appl. DB2 IMS Database Manager WMQ D D D P z/OS
3
Agenda Overview of JCA and IMS TM Resource Adapter Last enhancements
Socket Connections & Socket Types Connection Management Security Management Transaction Management Last enhancements Supermember Hold queue management PurgeAsyncOutput and ReRoute and Retrieve Alternate destination Some IMS V10 Enhancements SOA Composite Application Accessing SOA applications from IMS (Callout)
4
J2EE Architecture Graphic Here J2EE Core Services
Java 2 Platform, Enterprise Edition A standards-based architecture to enable development of multi-tier distributed applications J2EE Connector Architecture (J2C/JCA) Enables standard API use for all access to any EIS Simplifies application component development Graphic Here EJBs J2EE Core Services Web Container EJB Container Web Browser Client RMI / IIOP HTTP / HTTPS JDBC / JCA Resource Adapters Enterprise Information System (e.g. IMS) JSPs Servlets Java 2 Platform, Enterprise Edition A standards-based architecture to enable development of multi-tier distributed applications Recognizes long term dependency on existing enterprise systems “Enterprise Information Systems (EIS)” Business logic in the middle tier runs as Enterprise Java Beans (EJB) EJBs can call other EJBs (anywhere) or EIS systems J2EE Connector Architecture (J2C/JCA) Extension of J2EE architecture Enables standard API use for all access to any EIS e.g., EJB access to IMS Transaction Simplifies application component development No longer need to customize connector for each application server, and vice versa Defines common set of interfaces - Service Provider Interface (SPI) & Common Client Interface (CCI) - to standardize interactions between: Resource Adapters Application Servers Application Components
5
J2EE Connector Architecture
J2EE Server Enterprise Bean Resource Adapter Managers: Transaction Connection Security Web Component CCI Application Contract SPI System Contracts The application API EIS
6
JCA - IMS Resource Adapter
IMS Connector for Java (renamed to IMS TM Resource Adapter) Provides connectivity to IMS Transactions With an option to use a global transaction scope between the 2 business logic parts (distributed Two-Phase Commit) Solution Benefits The “Direct Connection” Choice! Prereqs installation of IMS Connect No changes to IMS applications The “Strategic” option for IMS Lab From any WebSphere platform, z/OS or distributed with J2EE Quality of Services IMS Connect TM resource Adapter TCP/IP WAS Appls. O T M A IMS DB DB2 B D SOAP Other New name for IMS Connector for Java J2EE Connector Architecture (J2C/JCA) resource adapter Used to develop and run J2EE applications that access IMS transactions via IMS Connect Offers highly scalable and flexible topology Supports rapid application development with Rational Application Developer and WebSphere Integration Developer Runs in WebSphere Application Server on both z/OS and distributed platforms
7
JCA - IMS Resource Adapter …
WebSphere Application Server Windows / AIX / Solaris / Linux / zLinux / HP_UX and z/OS IMS Web Service O T M A IMS Connect IMS App Enterprise Bean Web Component CCI Application Contract IMS DB Managers: Connection Transaction Security IMS SPI System Contracts IMS Connect J2EE Connector Architecture Leveraging standards is very important. IMS Connector for Java is based on one of the J2EE standards called J2EE Connector Architecture, which defines a set of interfaces that allows IMS Connector for Java to interact with the client application (like EJB, web service and web components) via standard protocol. In addition, it defines a set of system interfaces that ensure us to provide quality of service, like connection, transaction and security management when the clients invoking the IMS applications. In addition, IC4J uses IMS Connect to provide robust and reliable connections to the IMS backend. When a transaction request comes in from the client, IC4J establish a TCP/IP connection with IMS Connect and invoke the IMS applications via OTMA. Flexible and Scalable Topology IMS Connect is the premire TCP/IP connectivity gateway that has been widely adopted by IMS customers. With IMS Connect, it allows us to support a flexible and scalable topology and IMS Connector for Java runs on a variety of platform to serve your needs. IMS TM Resource Adapter O T M A IMS App TCP/IP or Local Option DB2 IMS DB
8
IMS TM Resource Adapter – Flexible and Scalable
IMS Connect z/OS1 XCF Windows / AIX / Solaris / Linux and z/OS IMS B D WebSphere Application Server IMS Resource Adapter IMS Connect IMS B D z/OS2 WebSphere Application Server IMS Resource Adapter IMS Connect IMS B D A Flexible and Scalable Topology TCP/IP Linux for System z WebSphere Application Server IMS Resource Adapter XCF Local TCP/IP or Local Option Local Option has been stabilized and no new future enhancements
9
IMS TM Resource Adapter – Features at a glance
Supports J2EE Connector Architecture (JCA) 1.0 & 1.5 Supports various types of interactions and programming models with IMS Invokes IMS transactions or commands Conversational and non-Conversational MFS, COBOL, C, *PLI SendRev, Send Only Retrieve Asynchronous output Options for handling undelivered output messages: purge or reroute Single no wait, single wait Commit mode 1 or 0 processing SyncLevel none or Confirm Alternate Client ID Connection Management Connection pooling Handles execution or socket timeouts Transaction Management Global z/OS RRS transaction support and Distributed XA transaction support with Two Phase Commit Security Management J2EE EIS Sign-on SSL, RACF key ring Enhancements in complex environment Sysplex distributor environment zWAS 64 bit support. for local option (soon) Callout (V10) Make IMS application as a client to access J2EE applications IMS Connector for Java supports JCA 1.0 and we implement the mandatory parts of the JCA 1.5 specifications. We provides you two ways to connect to backend IMS using TCP/IP (from z/OS and distributed platforms) and Local Option if you are running your WAS, IMS Connect are all in the same MVS image. We support connection pooling in WAS environment and use persistent socket connections. These connections can be sharable (i.e. reusable among interactions) or dedicated to a particular client or interaction. We handle various timeout situations and notify you an error such that your client will not be hanged in case if something happen in the network or the backend application. You can interact with IMS application and customize how you want to handle the output messages in different ways. For example, you can do a simple send receive to invoke your non-conversational or conversational application with commit 1 or commit 0 processing. These applications can be implemented in C, COBOL, MFS, or PL/I (in the future). You can do send only, or you can retrieve asynchronous messages that have been left on the queue previously. We have recent enhancements on how you can fine tune the way on receiving these messages. We support distributed 2 phase commit using XA, i.e. you can have your client application running on the Windows WAS server to participate coordinated commit with IMS. We also support utilitze RRS 2 phase commit if your client application is running on WAS z/OS platform in the same MVS image as IMS. In the area of security, we use the J2EE model to provides you end-to-end security. You can fine tune it to specify your security at the application level or the connection factory level. The RACF keyring allows you to manage SSL keys and certificates in RACF. With the backend, IMS Connector for Java utilize IMS Connect and IMS OTMA security model such that IMS Connect provides authentication of the user and OTMA provides authorization. We also support SSL to ensure reliable, secure communication between IMS Resource Adapter and IMS Connect. IMS Connector for Java runs in WebSphere family of application servers on z/OS, Windows, AIX, Solaris, Linux, zLinux, HP-UX To support your complex environment needs, e.g. the use of sysplex distributor or clones in your environment. Several enhancement have been made since last year to address some of the issues when you have commit mode 0 and retrieving asynchronous output application running in such environment. Lastly, we continue to address your needs and continue to enhance our solution. For example, one of the latest one is the address the requirement to make your IMS application become a client. To allow your IMS application to go out and access other applications like EJB or web services
10
Socket Connections In a managed environment, all socket connections between IMS TMRA and IMS Connect are persistent: Reusable connections available from connection pools Connection is disconnected when Error occurred (except execution timeout), or, Cleaned up by connection manager based on connection pool properties Two types of persistent socket connections Shareable persistent (recommended) IMS TM Resource Adapter generates clientID Dedicated persistent * Client application provides socket identifier using IMSInteractionSpec property clientID In a non-managed environment, connections are disconnected after each interaction There is no pooling of connection Connection cannot be reused A Managed Environment defines an operational environment for a J2EE-based, multi-tier, web enabled application that accesses EISs. The application consists of one or more application components, such as EJBs, JSPs and servlets, which are deployed on containers. Managed is preferred production environment Connections managed by a connection factory. Connection factories are deployed in application server Each connection factory has one or more logical names which the java client can reference using the java naming and directory interface (JNDI) A Non-Managed Environment defines an operational environment for a two tier application. Application client directly uses a resource adapter to access the EIS, which defines the second tier for a two-tier application. *Dedicated Connections will be stabilized and no new enhancements. Recommend to use Sharable connections
11
Socket Connections … Duplicate IMS WebSphere Application Connect
ClientId IMS Connect WebSphere Application Server Dedicated persistent IMS TM RA CLIENT01 CLIENT01 Shareable persistent HWSABC01 This chart illustrates one of the problems that is more likely to occur with dedication persistent socket connections than with shareable persistent socket connections. If two different client applications try to create dedicated connections at the same time using the same client ID, the first application will be able to successfully open a connection while the second application’s connection request will be rejected by IMS Connect which will return a DUPCLNT error. On the hand, with shareable persistent socket connections, each application will be given a connection with a client ID that is generated using an algorithm that is designed to ensure client ID uniqueness. HWSXYZ05 HWS22Q0T
12
Connection Management
Connection Pooling Connections expensive to create Connection Manager creates pool for each Connection Factory Unused connection objects returned to pool for re-use Connection Management Properties Specify how application server manages pool Purge policy specifies how to purge connections when communications error is detected – EntirePool or FailingConnectionOnly Minimum connections Maximum connections Reap time Unused timeout Aged timeout
13
* Not currently supported in RAD
Types of Interactions Invoking IMS Transaction or Commands Send_Receive or Send Only Execution and Socket timeouts Retrieve Asynchronous Output Message (Resume Tpipe) Retrieve asynchronous output messages from IMS OTMA Asynchronous Hold Queue IMSRequestType IMS_REQUEST_TYPE_IMS_TRANSACTION Non-conversational transactions IMS conversational IMS_REQUEST_TYPE_IMS_COMMAND IMS_REQUEST_TYPE_MFS_TRANSACTION * Message Format Service (MFS) * Not currently supported in RAD
14
Types of Interactions …
Commit Modes Send-then-commit (Commit Mode 1) Used to run non-recoverable IMS transaction Commit-then-send (Commit Mode 0) Allows clients to run IMS transaction with recoverable output message ACK/NAK is sent internally by IMS TM Resource Adapter ClientID Socket type IMS Interaction Verb SyncLevel CM1 N/A (internally generated) Shareable persistent SYNC_SEND_RECEIVE None or Confirm Syncpt* CM0 SYNC_SEND SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT or SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT Confirm User-specified clientID Dedicated persistent * Not externalize – used only when transactionality requested
15
Types of Interactions …
Send-Then-Commit Flow (CM1) IMS CLIENT MPP Sync Level of NONE Send transaction input ACK Transaction inserted to SMB Ouput Sent (No response requested) Commit Confirmed sent (Synchpoint has completed) GU, IOPCB. ISRT,IOPCB... Synchpoint Starts Synchpoint Completes CLIENT Transaction inserted to SMB Ouput Sent Response requested Commit Confirmed sent (Synchpoint has completed) IMS MPP Sync Level of CONFIRM GU, IOPCB. ISRT,IOPCB... Synchpoint Starts Synchpoint Completes Wait …
16
Types of Interactions …
Commit-Then-Send Flow (CM0) CLIENT IMS Send transaction input ACK MPP Transaction inserted to SMB ACK Ouput enqueued to TPIPE Output sent with response requested Output dequeued GU, IOPCB ... ISRT,IOPCB Synchpoint Starts Synchpoint Completes
17
Security Management J2EE provides end-to-end security model for J2EE applications to access EIS securely IMS TM Resource Adapter supports Authentication: User ID and Password Application Component - Component-Managed Sign-on Application Server - Container-Managed Sign-on Encryption using SSL Provides reliable, secure communication between IMS TM Resource Adapter and IMS Connect End user’s userID or password not used for SSL security New Container-Managed model for WAS V6 IMSConnectionSpec properties need to be exposed for component-managed security Instructions for exposing properties can be found in the WSADIE and RAD online help Special WAS for z/OS features RACF keyring RunAs Thread Identity
18
Security Management - EIS Sign-on
WebSphere Application Server z/OS (Windows, AIX, Solaris, Linux, Linux for z/OS, z/OS) Security Manager RACF Enterprise Bean Pass User ID and Password of Container-managed authentication alias to IMS Resource Adapter Res-auth = Container IMS Connect IMS IMS Resource Adapter OTMA Send User ID and Password to IMS Connect If RACF = Y, call RACF to authenticate User ID and Password
19
Security Management - WAS z/OS Thread Identity
WebSphere Application Server z/OS Authenticate UserID with RACF Security Manager RACF Enterprise Bean Pass the already authenticated Security Token of Run-As Identity to IMS Resource Adapter Res-auth = Container RunAs = Caller or System or Role IMS Connect IMS IMS Resource Adapter OTMA Local Option Send Security Token to IMS Connect Bypass authentication as user is already verified
20
Transactionality Capability that allows IMS transactions to participate as a resource in two-phase commit external transactions Requires a syncpoint coordinator RRS on z/OS and/or an external coordinator, e.g.,IBM WAS (Websphere Application Server) Requires client code that uses IMS TMRA Local Environment WAS, IMS Connect, IMS, and RRS must be in the same z/OS image ** Distributed environment (Global XA transaction) IMS Connect, RRS and IMS must all exist in the same z/OS image * Remote environments use XA IMS Connect Acts as an extension to RRS and is the SDRM (Server Distributed Syncpoint Manager) Assists RRS in communicating with other syncpoint coordinators Acts as the CRM (Communications Resource Manager) WAS Server platform + IC4J Protocol Global Trans Distributed TCP/IP YES* zLINUX TCP/IP on Hipersockets z/OS Local Option YES **
21
Transactionality – Distributed XA 2PC Commit
WebSphere Application Server z/OS Resource Recovery Service (RRS) (Windows, AIX, Solaris, Linux, Linux for z/OS, z/OS) Transaction Manager Enterprise Bean IMS Connect IMS 1. Uses IMS RA to invoke IMS transaction SPI System Contracts XA OTMA Debit $100 from Checking Credit $100 to Savings Checking Account IMS Resource Adapter Single unit of work TCP/IP Capability that allows IMS transactions to participate as a resource in two-phase commit external transactions Requires a syncpoint coordinator RRS on z/OS and/or an external coordinator, e.g.,IBM WAS (Websphere Application Server) Requires client code that uses IC4J For example, you can build an application that access in a single unit of work your IMS data on one MVS system and access a DB2 database on another MVS system or on your workstation platform Distributed environment (Global XA transaction) IMS Connect, RRS and IMS must all exist in the same z/OS image ** Remote environments use XA IMS Connect Acts as an extension to RRS and is the SDRM (Server Distributed Syncpoint Manager) Assists RRS in communicating with other syncpoint coordinators Acts as the CRM (Communications Resource Manager) 2. Executes SQL stmts to DB2 DB2 3. Commits the Unit of work. WAS Transaction Manager, coordinates the unit of work with IMS and DB2 using XA and two phase commit. Transaction Attribute = TX_REQUIRED Saving Account
22
Transactionality – z/OS RRS 2PC Commit
WebSphere Application Server z/OS Resource Recovery Service (RRS) Transaction Manager Enterprise Bean IMS Connect IMS 1. Uses IMS RA to invoke IMS transaction OTMA Debit $100 from Checking Credit $100 to Savings IMS Resource Adapter Checking Account Local Option Single unit of work 2. Executes SQL stmts to DB2 DB2 3. Commits the Unit of work. WAS Transaction Manager, using RRS, coordinates the unit of work with IMS and DB2 using two phase commit. Transaction Attribute = TX_REQUIRED Saving Account
23
Timeouts IMS Router Socket Timeout Execution Timeout
Time IMS TM Resource Adapter waits for IMS Connect to return transaction output Used for network problems Per interaction Encompasses Execution Timeout Execution Timeout Time IMS Connect waits for IMS to return transaction output. Used for IMS hangs Per interaction. Execution IMS IMS TM Resource Adapter IMS TM Resource Adapter has two timeouts under its control, Execution Timeout and Socket Timeout. Execution Timeout is used to prevent IMS hangs or delays from locking up the application. It is set in IMS TM Resource Adapter but monitored in IMS Connect. If IMS fails to return a response to IMS Connect with the execution timeout period, IMS Connect will return a timeout error to IMS TM Resource Adapter which will in turn throw an execution timeout exception back to the client freeing the client to move on to its next task rather than waiting for a response that may not be coming within a reasonable time. Socket timeout is similar, but it is both set and monitored in IMS TM Resource Adapter. It is used to prevent a client from being hung up waiting for a response from IMS Connect in cases when the connection to IMS Connect has been broken and the message may have never even been delivered to IMS Connect. If the socket timeout wait time elapses and there is not a response from IMS Connect, IMS TM Resource Adapter will throw a Socket Timeout exception back to the client application. As you can see, the socket timeout encompasses the execution timeout so the socket timeout value must always be greater than the execution timeout value in order for the two timeouts to be differentiated. Router Socket
24
Agenda Overview of JCA and IMS TM Resource Adapter Last enhancements
Socket Connections & Socket Types Connection Management Security Management Transaction Management Last enhancements Supermember Hold queue management PurgeAsyncOutput and ReRoute and Retrieve Alternate destination Some IMS V10 Enhancements SOA Composite Application Accessing SOA applications from IMS (Callout)
25
IMS OTMA Hold Queues An OTMA Client can request, at Client Bid time, that OTMA allows each TPIPE to have a “special” queue, normally referred to as a Hold Queue Requested by IMS Connect Hold Queues are for Commit Mode 0 only Used when a message can not be immediately delivered A message on a hold queue will only be sent by IMS when explicitly requested with a RESUME TPIPE from the client Hold Queue is used in following cases OTMA client (or its remote client) returns a negative acknowledgement to IMS Input to OTMA specifies “Send Only”, but IMS application creates a reply An IMS application creates a message - other than the reply message itself - for an OTMA destination using an Alternate PCB The name that identifies a Hold Queue has two components The OTMA Client name A Remote Client ID which equals the TPIPE name In other words, each OTMA Client has its own Hold Queues in IMS To retrieve a message on a hold queue, the remote client must issue the RESUME TPIPE request through the OTMA client to which it is queued In the state data section of a client bid request to OTMA, a flag is used to request that special queues be allowed. Client-Bid Flag Specifies that a special queue for a tpipe is needed. The special queue can hold commit-then-send output that is NAK’d, as well as alternate PCB output for an OTMA client. The output messages in the queue will not be delivered until the client requests that those messages be delivered. Use of the special queue is optional. Without the special queue, a regular queue for the tpipe will be used to hold and deliver all the Commit-then-send output messages. The default is no special queue for a tpipe.
26
Asynchronous Output – Super Member
A super member is a special OTMA member to keep the IMS Connect asynchronous messages for a set of IMS Connects SMEMBER= on the HWS statement Benefit IMS asynchronous output messages are sharable for a set of IMS Connects. The end users are not aware of this feature. Ensures asynchronous output messages available to any instance of IMS Connect running in a Parallel Sysplex environment IMS Connect A IMS Connect B Member A (async msgs) Member B ?? IMS IMS Member A IMS Connect A (with supermember) (async msg) Specify the SMEMBER= in the HWS config file statement, not a datastore statement. SMEMBER name can be a 1- to 4-char member name. SMEMBER name cannot be any existing OTMA member name. SuperMember IMS Connect B (with supermember) Member B (async msg)
27
Asynchronous Output – Super Member …
With Super Member Support Client Application ABC Sysplex Distributor RECEIVE_ASYNCOUTPUT COMMIT MODE=0 CLIENT ID=ABC ABC IMS Connect TMEMBER = ICON1 SMEMBER = XYZ IMS Connect TMEMBER = ICON2 SMEMBER = XYZ ICON1 ICON2 Hold queue or Reroute queue IMSB IMSA ABC.ICON1.IMSA ABC.XYZ
28
Asynchronous Messages – Purge or Reroute
Asynchronous messages appears on a hold queue when Undelivered commit mode 0 output messages (e.g. during timeout or secondary outputs) Secondary output from program-to-program switch (primary interaction can be Commit Mode 1 or Commit Mode 0) Application inserts to ALT PCB Handling Purge The output is discarded from the current queue (OTMA TPIPE) This is the default option Reroute The output is moved from the current queue to a user specified destination Can be retrieved asynchronously Retrieving Two modes: Single no wait, single wait Dedicated Client name vs Alternate Client ID
29
Asynchronous Messages – Purge or Reroute …
Earlier Support Client application ABC Sysplex Distributor SEND_RECEIVE COMMIT MODE=0 CLIENTID=ABC ABC ABC IMS Connect TMEMBER=ICON1 ICON1 IMS Connect TMEMBER=ICON2 ICON2 Hold or Reroute queue IMSB IMSA ABC.ICON1.IMSA ABC.ICON2.IMSB
30
Asynchronous Messages – Purge or Reroute …
New options supported on shareable persistent socket connections only PurgeAsyncOutput IMSInteractionSpec property: purgeAsyncOutput TRUE (default) means purge undeliverable CommitMode 0 output FALSE means queue undeliverable CommitMode 0 output to: “reRoute” Tpipe if specified, or Tpipe with name of shareable persistent socket connection reRoute Used only when purgeAsyncOutput is FALSE IMSInteractionSpec properties: reRoute and reRouteName TRUE causes undelivered Commit Mode 0 output to be queued to Tpipe whose name matches specified reRouteName FALSE (default) causes undelivered Commit Mode 0 output to be queued to Tpipe whose name matches generated clientID of shareable persistent socket connection
31
Asynchronous Messages – Retrieve
Use Interaction Verb SYNC_RECEIVE_ASYNCOUTPUT_xx Two modes SINGLE Retrieves one message per interaction if a message available at the time of the request SINGLE_WAIT Retrieves one message per interaction Will wait for a specified time for message to appear on the hold queue Specify hold queue name using the Client ID property with dedicated connection using the Alternate Client ID (reRoute Name) property with sharable connections
32
Asynchronous Messages – Alternate Client ID Support
When WAS application issues a RESUME TPIPE, it can use a shareable socket and specify an Alternate Client ID Enables application to use a shareable socket to retrieve asynchronous output messages that are queued to any specified clientID undelivered CM0 output ALTPCB output messages Simplifies writing of server application (“listener”) that retrieves messages for one or more hold queues With this support, it is now possible to use shareable sockets in every case, and so avoid problems associated with Sysplex Distributor IMS V10 adds new security check for RESUME TPIPE Check the userid associated with input message is authorised to access specified TPIPE (alternate client ID) Allow user to retrieve IMS asynchronous output by specifying the client ID (TPIPE) of the waiting message when issuing the RESUME TPIPE OTMA provides new security checking This is the final step in enabling all Commit Mode 0 (commit-then-send) input to exploit sharable persistent sockets Gives best performance Avoids potential problems with zOS Sysplex Distributor Makes listening for Callout more practical
33
Asynchronous Messages – Alternate Client ID Support …
In this example, a SEND_ONLY transaction is used to create a message on a hold queue, which is then retrieved by exploiting the alternate clientID support CM0 and Shareable sockets used in both cases Java Client IMS TM Resource Adapter IMS Connect IMS Appl Pgm1 SYNC_Send_Only SOCKET ID HWSABC01 TPIPE HWSABC01 execute() send Reroute=CLIENT1 IOPCB execute() SYNC_RECEIVE_ASYNCOUTPUT send TPIPE HWSABC02 SOCKET ID HWSABC02 For CLIENT1 receive HOLDQ Output MSG1 ACK CLIENT1 MSG1 Output MSG1 Java Client Retrieve options are “Single wait ” or “Single no wait”
34
Other Related Enhancements
OTMA provides Flood Control (PK04461 for V8, PK04463 for V9) Partial retrofit of an IMS V10 enhancement /START TMEMBER member_name INPUT nnnnn Where nnnnn is maximum number of messages from the OTMA client that can be in process TPIPE Storage Clean Up (PQ99983 for V8, PK00386 for V9) A Tpipe will be removed if is has been IDLE for two consecutive checkpoints
35
Agenda Overview of JCA and IMS TM Resource Adapter Last enhancements
Socket Connections & Socket Types Connection Management Security Management Transaction Management Last enhancements Supermember Hold queue management PurgeAsyncOutput and ReRoute and Retrieve Alternate destination Some IMS V10 Enhancements SOA Composite Application Accessing SOA applications from IMS (Callout)
36
IMS SOA composite business application support
Asynchronous Callout to EJB Enterprise Workload Manager (EWLM) Ping support CM0 Ignore PURG Resume Tpipe Security RACF Mixed Case Password
37
ITRA - IMS 10 enhancements
Asynchronous Callout Allows IMS application to act as a client by issuing ISRT ALTPCB to send the callout request Conversational Composite Business Application Ability to create conversational business process application Enterprise Workload Manager (EWLM) Ability to track workflow from WAS RACF Password Change Ability to change RACF password after expiration Ping Determine IMS Connect availability CM0 Ignore PURG Provides CM1 and CM0 consistent output message processing Resume TPipe Security Authorized retrieval on output messages LLLL | IRM | OTMA User Data (EWLM 64 byte correlator) | LLZZ TRANCODE data | EOM LLLL | IRM | OTMA | LLZZ HWSPWCH old-password/new-password1/new-password2 | EOM IMS TM Resource Adapter V10 enhancements Enterprise Workload Manager (EWLM) IMS TM Resource Adapter provides support for Enterprise Workload Manager (EWLM) through WebSphere Application Server Request Metrics. EWLM is an enhancement to the existing MVS Workload Manager. EWLM adds the capability of managing a set of heterogeneous and distributed systems. Request Metrics is a tool that enables the tracking of individual transactions, recording the processing time in each of the major WebSphere Application Server components. If Request Metrics and EWLM are enabled, IMS TM Resource Adapter will flow a correlator generated by WebSphere Application Server with requests sent to IMS. IMS will in turn report transaction data to the workload manager by passing the EWLM correlator on enhanced versions of the existing workload manager service calls. Instructions on enabling Request Metrics are located at Getting performance data from request metrics here: Instructions on how to install and configure EWLM can be found at Enterprise Workload Manager here This enhancement requires WebSphere Application Server 6.1, EWLM v2.1 with fixpack 30 applied and z/OS V1R8 or z/OS V1R7 with the EWLM PTF installed. Asynchronous Callout to EJB The asynchronous callout enhancement enables IMS applications that run in IMS dependent regions to interact with business logic that resides outside of the IMS environment by making asynchronous callout requests to J2EE applications running on WebSphere Application Server. IMS applications can use the ISRT ALTPCB call to invoke the asynchronous callout requests. Any responses from external applications can be returned to the IMS system asynchronously, as well. The asynchronous nature of the communication prevents application programs that use callout requests from tying up the dependent regions. IMS routes callout requests to the external application through OTMA, IMS Connect, and IMS TM Resource Adapter. RACF password change support The RACF password change support allows Java applications using the IMS TM resource adapter to change the RACF password by issuing a HWSPWCH command. Ping support The Ping support allows Java applications using the IMS TM resource adapter to determine whether or not IMS Connect is available by issuing a PING command. CM0 Ignore PURG The CM0 Ignore PURG support allows multiple ISRT and PURG calls in an IMS application for a commit mode 0 interaction to be ignored and treated similar to a commit mode 1 interaction such that multiple output messages for commit mode 0 interactions will be returned as a single multi-segment message . For a commit mode 0 SYNC_SEND_RECEIVE interaction, you can specify to have the multiple output messages returned as a single multi-segment message by setting the ignorePURGCall property of IMSInteractionSpec to TRUE. IMS SOA composite business application support IMS service-oriented architecture (SOA) composite business application support provides the next generation business integration process to integrate together the J2EE resources, services, and activities (for example, user interventions), based on Web Services with the Business Process Execution Language (BPEL). This support extends existing IMS transactions to include conversational transactions as SOA-based composite business applications using the IMS Connector for Java and WebSphere tooling and runtime components. The IMS SOA composite business application support maximizes the reuse of IMS assets in new applications for rapid business innovation and reduced costs. Resume Tpipe Security The Resume Tpipe security allows you to restrict access to asynchronous output messages or callout requests with authorization checking by specifying an authorized User ID when issuing a Resume Tpipe request.
38
IMS Callout Support IMS Applications can call an external application
ALTPCB ISRT (for asynchronous processing only in IMS or APPC) MQ calls TCP/IP sockets calls APPC calls Use caution when executing synchronously Ties up region and its associated control blocks, and potentially holds locks on DB data Some customers have been asking for additional techniques typical of web based solutions First provided in IMS V10
39
IMS V10 Callout Support Another Txn EJB / Web Service IMS IMS Application z/OS Any platform Callout Initiating Client IMS Resource Adapter Asynchronous outbound support from IMS applications using ALTPCB Asynchronous Callout to EJB Customer provides “listener code” in JCA EJB application Asynchronous Callout to Message Driven Bean (MDB) Use JCA 1.5 inbound architecture support – MDB acts as listener, and calls appropriate service or routine End-to-end tooling available Outbound Web Services support in IMS SOAP Gateway IMS SOAP Gateway acts as listener and calls Web Service WDz tooling used to read WebService Description and generate IMS message definition and XML transformation routine In each case, a reply from the called service will be processed by a new IMS transaction Key Message: IMS applications can call other applications IMS applications can today access other environments and data. IMS applications can explicitly code communication interface calls such as TCP/IP or APPC calls. IMS Java applications can make calls out using standard Java classes. Additional enhancements for IMS interaction with other environments includes Callout support, where an IMS application could call out to another application across the IMS Connector for Java to WebSphere server applications or to SOAP application environments. IMS Callout support enables IMS applications as clients, interoperating with business logic outside of the IMS environment. It provides for asynchronous callout to an external application (eg. a Web Service or a WebSphere Application) through the IMS SOAP Gateway or IMS Connector for Java. This support includes correlation mapping between the callout request and the external application, enhanced security, and assistance on destination routing. This support allows for better integration in an SOA environment.
40
Other callout alternatives: MQ, DB2, APPC, JMP/IIOP
IMS V10 Callout Support … IMS WAS (IMS TM Resource Adapter) EJB IMS Connect IMS Connect clients BMP trans, MSC, ISC Non-IMS Connect input trans from MQ via OTMA, SNA via APPC, LU0, LU6.2 or Terminal ISRT ALTPCB MDB IMS Application 1 Hold Q Resume Tpipe with Alternate Client ID IMS SOAP Gateway OTMA Destination Routing OTMA Resume Tpipe Security IMS Application 2 Q: What types of initiating client do you have in your environment that may use the callout function? Async callout from IMS application IMS app can issue ISRT ALTPCB request to callout to WebSphere Application Server (WAS) via IMS Connector for Java Web Service via the IMS SOAP Gateway Provides correlation between callout request and the external app (e.g. Maps callout request to WSDL for Web Services) Enhance Resume Tpipe Allow on shareable connections Restrict access to callout requests Provide assistance for OTMA destination routing for callout (minimizes the customization of user exits) Web Service output Other callout alternatives: MQ, DB2, APPC, JMP/IIOP
41
SOA Composite Business Applications (IMS V10)
For IMS conversations Conversation ID uncoupled from connection Supports easy integration of IMS conversational transactions into SOA Composite Business Applications developed in WID Better support for connection sharing and management Process Loan App Complete Loan Credit Check Decline Loan App IMS SOA composite business application support IMS service-oriented architecture (SOA) composite business application support provides the next generation business integration process to integrate together the J2EE resources, services, and activities (for example, user interventions), based on Web Services with the Business Process Execution Language (BPEL). This support extends existing IMS transactions to include conversational transactions as SOA-based composite business applications using the IMS Connector for Java and WebSphere tooling and runtime components. The IMS SOA composite business application support maximizes the reuse of IMS assets in new applications for rapid business innovation and reduced costs. Integrated IMS Connect provides a new conversational option that the customer can specify by setting the new conversational flag option flag defined in IMS Connector for Java (IC4J) in the input message. When receiving a transaction reply from OTMA, IMS Connect will check to see whether the reply message contains the conversational transaction indicator, the Transaction Instance Block (TIB) token, and the new conversational option flag. If so, IMS Connect will flow the conversation token back to the IC4J and clean up all the internal knowledge about this conversational iteration. IC4J then returns the conversation token back to the Java client, for example, an IMS web service application. The Java client is responsible for sending either the conversation token back in subsequent iterations of the conversation or the SYNC_END_CONVERSATION interaction to end a conversation. The conversation token comprises of the 8-byte time stamp of the TIB token, the conversational transaction indicator, and the new conversational option indicator. The conversation token will flow back and forth between the Java client, IC4J, IMS Connect, and OTMA. IMS Connect will use the conversation token to track the conversation within a single iteration. To develop an IMS application using the new conversational option, application developers must first expose the IMS InteractionSpec during the generation of the application. Application developers can then create a client application that can invoke an IMS application. The client is responsible for tracking and setting the conversation information using the InteractionSpec.
42
How do I get IMS TM Resource Adapter?
Rational Application Developer v 6.0 WebSphere Integration Developer v 6.0 IMS Integration Suites Access to information and download runtimes for: IMS TM Resource Adapter IMS MFS Solutions IMS SOAP Gateway Articles of interest Generating a J2C bean using RAD
43
Final Thoughts Service Oriented Architecture has revolutionized the way business is done Standard interfaces and qualities of service inherent in SOA have made integration of IT assets and heterogeneous systems a reality IMS is well positioned as a major player in this space with a variety of technologies that project IMS assets into the SOA foundation model IMS JDBC and XML-DB/XQuery IMS DB resource adapter IMS TM resource adapter IMS SOAP Gateway Additional web services support for MFS based transactions
44
More on application development tools
45
Development Tools Transitioning from the past
Integration developers using WSAD-IE today would likely transition to WID Integration Developer Compose Business Integration solutions Use JCA 1.5 IMS Resource Adapter Deploy to WebSphere Process Server J2EE/Integration Developer Build Integration applications Use JCA 1.0 IMS Resource Adapter Deploy to WAS WSAD-IE v 5.1.1 WebSphere Integration Developer (WID) “Fork in the road” Java/J2EE developer Build J2EE applications Use JCA 1.0 or 1.5 IMS Resource Adapter Deploy J2EE apps to WAS Rational Application Developer (RAD) J2EE developers using WSAD-IE today would likely transition to RAD
46
Rapid Application Development
47
RAD - J2C Feature Map the message Build the Bean Wrap the app
Generate Data binding classes for data transformation Transform Java/Web Service data types to IMS application data types Build the Bean Generate Java classes for interaction Connect and invoke IMS transaction Wrap the app Wrap Java classes as J2EE or Web Service Make your IMS transaction accessible as Web Services or from J2EE application John will start by importing IMS Connector for Java into his workspace in Rational Application Developer. He will then begin to build the application using IMS Connector for Java by importing the IMS application source that describes the external interfaces to the IMS application, which are the input and output messages used by that application. RAD will generate a set of special java classes that will represent these data structures. In RAD these classes are called data bindings. An easy way to remember it is calling it ‘mapping the message’. Data bindings provide a Java application with methods for populating the input message with data and for retrieving data from the output message. In addition, the data bindings perform platform-related functions such as conversion between the Java (UNICODE) and host (EBCDIC) representations of the data. The same data binding may be used over and over again for different applications with varying complexity. After he creates IMS Java data bindings, he needs to create a Java bean that communicates with IMS through the J2EE Connector Architecture. Following the flow of the wizards in RAD, he creates the required components to build a Java bean. The final step in creating an application that accesses an IMS transaction is to create a J2EE resource that wraps the functionality of the J2C Java bean and creates an application that can be used to run the transaction in IMS. In John’s case that particular J2EE resource is a web service. The web service application can then be run on a J2EE application server such as WebSphere Application Server.
48
RAD - J2C Feature - Mapping the message
‘Green screen’ COBOL copybook
49
RAD - J2C Feature - Wrapping the Web Service
Java data binding WSDL
50
Service Component Architecture
Based on J2EE Service Components Service Data Objects Programming model for building business processes in a service oriented way Value Lowers the barriers for a developer to enter the world of SOA and become productive J2EE and Web Service skills not required to create sophisticated business applications Makes the experienced J2EE developers more productive. Service Component SDO
51
WebSphere Integration Developer (WID) Tooling
Enterprise Discovery Import Test & Deploy Configure Wire
52
WebSphere Integration Developer (WID) Tooling …
Simplify and accelerate the development of integrated applications Implements Service Component Architecture technology and business process choreography Industry-standard service-oriented architecture
53
WID - Building a Web Service
Map the message Build the bean Wrap the application as a web service Integrate into a flow (business process) Service (IMS) Service (JavaMail) Service (J2EE) Service (JavaMail)
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.