CICS Integrator Adapter for z/OS Takahiro Ishiwatari email@example.com
CICS Integrator Adaptor for z/OS - Notes This presentation will describe the enhancements made to CICS Integrator Adaptor for z/OS, which is previously known as MQSeries Integrator Agent for CICS TS.
Acknowledgements • The following are trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM, CICS, CICS/ESA, CICS TS, CICS Transaction Server, DB2, MQSeries, OS/390, S/390, WebSphere, z/OS, zSeries, Parallel Sysplex. • Java, and all Java-based trademarks and logos, are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. • Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. • Other company, product, and service names and logos may be trademarks or service marks of others.
CICS Integrator Adaptor for z/OS - Notes This page intentionally left blank.
Agenda • Previous: MQSeries Integrator Agent for CICS • New: CICS Integrator Adapter for z/OS From CICS TS V2.3 Announcement letter: “IBM intends to include the runtime functions of MQSeries Integrator Agent for CICS Transaction Server (MQIAC) in a future release of CICS Transaction Server.”
CICS Integrator Adaptor for z/OS - Notes The announcement letter for CICS TS V2.3 stated that “IBM intends to include the runtime functions of MQSeries Integrator Agent for CICS Transaction Server (MQIAC) in a future release of CICS Transaction Server.” This is being carried out in CICS TS V3.1 by the inclusion of CICS Integrator Adaptor for z/OS.
MQSeries Integrator Agent for CICS (MQIAC) • MQIAC enables EIS applications modernization • Integrate EIS applications as “components” with well-defined interfaces • Effective reuse and easier integration of existing assets • MQ or ECI interface for new clients • Generates adapters that drive EIS applications using • DPL for COMMAREA applications • WMQ for message-based applications • FEPI for CICS and IMS 3270 applications • LINK3270 bridge for CICS 3270 applications • allows functional migration from MDp • a “Bottom up approach” development • Product history • MQIAC V1.1 general availability 2001/05/30 • current level is V1.1.3 • available since 2004/04/30 • addition of Link3270 bridge adapter
CICS Integrator Adaptor for z/OS - Notes MQSeries Integrator Agent for CICS TS (MQIAC) is aimed to enable Enterprise Information System (EIS) application modernization. It let’s EIS applications integrated with different systems. Access to these applications can be composed as a single component with well-defined interfaces. It will allow reuse and easier integration with new clients. MQIAC generates adaptors that use DPL, WebSphere MQ, FEPI or LINK3270 bridge to access target EIS applications. The client can request access to the adaptors by MQ calls or ECI calls. MQIAC has been available since May 2001, and has had some minor upgrades over the years. The current level is V1.1.3 which was made available in April 2004, providing the ability to call 3270 applications through the LINK3270 bridge interface.
MQSeries Integrator Agent for CICS (MQIAC) • Consists of two components • Adapter Builder • Workstation based tool to model and create adapter programs • visual interface based on MQSeries Integrator V2 • Server Runtime • Controls the invocation of programs and transactions in CICS • uses CICS Business Transaction Services FTP, Compile, Link-Edit MQIAC Adapter Builder CICS 3270 Application LINK3270 FEPI 3270 Application MQIAC Server Runtime Client Application MQ Application MQ MQ , ECI EXCI , LINK DPL DPL Application
CICS Integrator Adaptor for z/OS - Notes MQIAC consists of two components, the adaptor builder and the server runtime. The adaptor builder is a workstation based tool that runs on Windows platform, and it will let users model an execution flow of the EIS application and generate adaptors for accessing the back end application. It’s user interface is based on MQSeries Integrator V2. The server runtime, is the execution environment for the generated adaptors within CICS. It controls the invocation of the applications in CICS, and uses CICS BTS services to run each requests.
MQIAC Adapter Builder • Components • Importers • imports an application interface into a message form • COBOL language structure (e.g. COMMAREA) • 3270 screens • BMS source • Control Center • interface that provide facilities for modeling, configuring and deploying adapters • Generator • generates: • COBOL source code for the adapter • COBOL copybooks for the messages • JCL to compile / link-edit the programs • FTP to host and submit job
CICS Integrator Adaptor for z/OS - Notes The adaptor builder has 3 components. The Importers enable users to import and harvest application resources from an existing EIS application for the purpose of representing these resources within a common information model. It can import COBOL COMMAREA structures, 3270 screens and BMS source. The Control Center enable users to model a execution flow (microflow) within CICS. The Generator generates COBOL source, copybooks based on the flow created in the Control Center and generates JCLs that can be used to compile/link-edit the generated programs. It will also FTP the generated objects to the host environment and submit the JCLs.
MQIAC Adapter Builder user interface - SOURCE CODE - JCL - COPYBOOK Generator Message Set View Adapter View Importer
CICS Integrator Adaptor for z/OS - Notes This is a sample screen shot of the adaptor builder. The user interface is similar to that of MQSeries Integrator V2. The Message Set view is used to work with message objects, including messages that were imported via the Importer. The Adaptor view is used to compose a microflow, and invoke the Generator.
MQIAC Server Runtime • DPL stub • initiates the adapter runtime processing • initiates the Navigation Manager program within a BTS process • can be invoked via • LINK, ECI, EXCI interface • MQ-DPL bridge • Adapter programs • Navigation Manager • Top level program of the adapters • Navigator • Controls the flow of the business transaction • Server adapter • Connects to the target application using the appropriate interface • DPL • WMQ • FEPI • LINK3270 bridge
CICS Integrator Adaptor for z/OS - Notes The DPL stub will initiate the adaptor runtime processing. It can be invoked using any LINK interfaces such as DPL, ECI, EXCI, MQ-DPL bridge. The DPL stub defines a BTS process and runs the adapter programs within the BTS process. Adapter programs are programs that access the target EIS application. Navigation manager is the top level program. The navigator and server adapters are the programs generated by the adapter builder. The navigator controls the flow of the access to the EIS applications. The server adapter invokes the target application through DPL, MQ, FEPI or LINK3270 bridge interfaces.
MQIAC Server Runtime… CICS BTS process LINK3270 adapter 3270 Application Navigation Manager (DFHMAMGR) COMMAREA DPL stub (DFHMADPL) FEPI adapter 3270 Application COMMAREA CICS interfaces MQ adapter MQ Application generated Navigator DPL adapter DPL Application Server Runtime Request message using WMQ Request message not using WMQ “DFHMADPL” DPL stub program DFHMAHV (MAH header) MQCIH MQMD Application data
CICS Integrator Adaptor for z/OS - Notes This diagram shows the server runtime. The client passes a COMMAREA to the DPL stub. The DPL stub will invoke the navigation manager, and the navigation manager will invoke the navigator. Access to the target applications is done through the adaptors. The COMMAREA passed to the DPL stub will have an MAH header followed by the application data. If the client accesses the DPL stub through MQ-DPL bridge, there will also be an MQMD, MQCIH and the name of the DPL stub.
MQIAC Example CMAV (DFHMABP1) SEND MAP RETURN TRAN(CMAV) CMAV (DFHMABP1) RECEIVE MAP SEND MAP RETURN TRAN(CMAX) CMAX Adapter Builder (DFHMABP3) RECEIVE MAP SEND MAP RETURN CICS Server Runtime CMAV generated Navigators Adapters DPL stub Navigation Manager LINK3270 Bridge COMMAREA CMAV CMAX
CICS Integrator Adaptor for z/OS - Notes This is an example of using MQIAC.
What’s new in CICS TS V3.1 • CICS Integrator Adapter for z/OS V1.2 • Equivalent to MQIAC V1.1.3+ • Renamed from MQIAC • Runtime included in CICS TS V3.1 packaging • Tooling to be provided by next version of WSED • Service Flow Modeler • Enhancements • Additional vector handling and usability enhancements • support for SEND / SEND TEXT type commands, ACCUM option • remove prereq of WMQ • support for XML messages • will use XML parser of Enterprise COBOL of z/OS • Support of new deployment patterns • patterns for simpler interactions
CICS Integrator Adaptor for z/OS - Notes In CICS TS V3.1, the runtime component of MQSeries Integrator Agent for CICS will be provided as an element in CICS TS and it will be renamed to CICS Integrator Adapter for z/OS V1.2. The previous adapter builder component, will be supplied in the next version of WebSphere Studio Enterprise Developer (WSED), as a developer plug-in to the WebSphere Developer for zSeries product. The component is called Service Flow Modeler. It is an eclipse-based integration tool and will enable developers to capture existing EIS interfaces, model newly composed business services, and generate adapters. There will be enhancements in addition to what the current MQIAC provides.
CICS Integrator Adapter V1.2 enhancements • Vector handling enhancements for LINK3270 bridge adapters • Vector handling changed to utilize physical map load modules • Previously, read from VSAM repository • Support for SEND / SEND TEXT type commands • Previously, only SEND MAPs and RECEIVE MAPs were supported • Tool will generate a BMS mapset to assemble into physical map load module • Support ACCUM option • New filter table supplied for Load module scanner (DFHEISUP) • to see if CICS Integrator Adapter support is possible • Usability enhancements • Error program to support standard CICS services • Optional usage of TD queues • removes the prerequisite for WMQ • XCTL to/from DPL stub program • Other usability enhancements • DFHCNV conversion template • Automatic generation of DFHCSDUP JCL for resource definition
CICS Integrator Adaptor for z/OS - Notes For LINK3270 bridge adapter, the current implementation of handling vectors will changed for performance benefits. The current limitation of not being able to use SEND and SEND TEXT type commands and ACCUM option on SEND MAP commands are now relieved. There will also be a new filter table supplied for the load module scanner utility (DFHEISUP) to check whether or not modules are using commands that CICS Integrator Adapter does not support. There are additional enhancements for usability. Previously, error processing was done using WebSphere MQ facilities. With CICS Integrator Adaptor, the error processing can optionally be directed to TD queues, so WebSphere MQ will not be a prerequisite. XCTL commands can now be used to invoke the runtime processing. The client program can XCTL to the DPL stub program, and additionally specify the program to handle the output message. The specified program will be invoked via XCTL on completion of the runtime processing. CICS Integrator Adaptor will also supply conversion templates that can be used in DFHCNV for converting MAH headers. Another enhancement is to the builder component, which will now generate JCLs for running DFHCSDUP to perform resource definition for the generated programs.
CICS Integrator Adapter V1.2 enhancements • Support for XML messages • XML converters called from DPL stub program • parse inbound XML request to COMMAREA format • generate outbound XML response from COMMAREA format • XML converter programs • Supplied XML parser and generator for MAH header • XML Enablement tool of WSED can be used to generate parser and generator for application data CICS COMMAREA DPL stub (DFHMADPL) generated Navigators Adapters Navigation Manager (DFHMAMGR) Target Application CICS interfaces XML message XML converter COMMAREA Server Runtime
CICS Integrator Adaptor for z/OS - Notes • The input and output message to the DPL stub program, which was previously a COMMAREA message with an MAH header, will now support an XML messages. XML request and response support in the CICS Integrator Adapter server run-time consists of two main functions. The XML parse function will parse an inbound XML request message and map XML items to a fixed format COMMAREA. The XML generate function will generate an XML response message from a fixed format COMMAREA. • CICS Integrator Adapter will supply XML converter programs that will parse and generate XML for MAH headers. The XML converter for the application data will need to be provided by the user. The WebSphere Developer for zSeries product can be used to generate such XML converters.
CICS Integrator Adapter V1.2 enhancements <?xml version="1.0" encoding="UTF-8"?> <cbl:dfhmamsg> <dfhmah> <dfhmah__strucid>MAH</dfhmah__strucid> <dfhmah__version>2</dfhmah__version> <dfhmah__struclength>384</dfhmah__struclength> <dfhmah__userid>USER0001</dfhmah__userid> <dfhmah__format> </dfhmah__format> <dfhmah__returncode>0</dfhmah__returncode> <dfhmah__compcode>0</dfhmah__compcode> <dfhmah__mode>0</dfhmah__mode> <dfhmah__suspstatus>0</dfhmah__suspstatus> <dfhmah__abendcode>NONE</dfhmah__abendcode> <dfhmah__message>message one</dfhmah__message> <dfhmah__uowcontrol>0</dfhmah__uowcontrol> <dfhmah__processtype>DFHMAINA</dfhmah__processtype> <dfhmah__processname></dfhmah__processname> <dfhmah__requestname>MAIVPREQ</dfhmah__requestname> <dfhmah__datalength>22</dfhmah__datalength> <dfhmah__failed procname> </dfhmah__failed__procname> <dfhmah__failed__proctype> </dfhmah__failed__proctype> <dfhmah__failed__tranid> </dfhmah__failed__tranid> <dfhmah__replytoq> </dfhmah__replytoq> <dfhmah__replytoqmgr> </dfhmah__replytoqmgr> <dfhmah__msgid> </dfhmah__msgid> <dfhmah__correlid> </dfhmah__correlid> <dfhmah__failed__program> </dfhmah__failed__program> <dfhmah__failed__node> </dfhmah__failed__node> <dfhmah__linktype>0</dfhmah__linktype> <dfhmah__more__data__ind>0</dfhmah__more__data__ind> <dfhmah__bridge__rc>0</dfhmah__bridge__rc> <dfhmah__statetoken> </dfhmah__statetoken> <dfhmah__reserved2> </dfhmah__reserved2> </dfhmah> <dfhmaad> <cif__input> <cifflag>D</cifflag> <account__no>10000</account__no> <user__id></user__id> <user__password></user__password> </cif__input> </dfhmaad> </cbl:dfhmamsg>
CICS Integrator Adaptor for z/OS - Notes This is an example of what the XML message will look like. There will be an XML equivalent of the MAH header, indicated by the <dfhmah> tag. It will be followed by the application data, indicated by the <dfhmaad> tag.
CICS Integrator Adapter V1.2 enhancements • Support of new deployment patterns • In MQIAC • Aggregate connector • Persistent • In CICS Integrator Adapter • Aggregate connector • Persistent • Non-persistent (new) • Single connector • Persistent (new) • Non-persistent (new) • Support for LINK3270 bridge passthrough processing
CICS Integrator Adaptor for z/OS - Notes CICS Integrator Adaptor supports multiple deployment patterns, or access patterns. Deployment patterns vary depending on the characteristics of the adapters and the nature of the request. For example, complex business transactions may require access to multiple target applications and may result in data being updated. While a simple business transaction may require access to only a single target application and may result in no data being updated. The former may need messages to be logged for compensation activities, the latter may not require any logging. Support for different deployment patterns provides optimal access to target applications. Aggregate connector patterns are access that may require more than one adapter types (DPL, WMQ, FEPI or LINK3270). The request can be persistent or non persistent. Single connector patterns are access that uses a single adapter type (DPL, FEPI or LINK3270). This also supports persistent or non persistent requests. The MQIAC product only supported the aggregate connecter, persistent pattern. Passthrough pattern refers to the programmatic functions coded in, and managed by the client in order to fulfill a business transaction on the server runtime. The request and response model is based on a one-screen-at-a-time conversation between the client and the target application, using LINK3270 bridge.
Processing patterns • Aggregate connector • may contain multiple types of connectors, multiple interactions • Persistent (run within a normal BTS process) • recoverable interactions, possible compensation activities • current processing mode in MQIAC • Non-persistent (BTS process run with NOCHECK option) • non-recoverable interactions • new processing mode in CICS Integrator Adapter CICS BTS process LINK3270 adapter 3270 Application Navigation Manager (DFHMAMGR) COMMAREA DPL stub (DFHMADPL) FEPI adapter 3270 Application CICS interfaces XML message MQ adapter MQ Application generated Navigator XML converter COMMAREA DPL adapter DPL Application Server Runtime
CICS Integrator Adaptor for z/OS - Notes Aggregate connector patterns are access that may require more than one adapter types (DPL, WMQ, FEPI or LINK3270). The adapters may have multiple interactions with the target application, and a navigator program will control the execution sequence of the adapters. The persistent pattern will run the adapter processing within a normal BTS process. BTS persists the request and reply data and adapter state data. This will enable compensation activities to be performed if it is required. The non persistent pattern will run the BTS process with the NOCHECK option. The NOCHECK option enables the pattern to be “lighter weight” and also requires little if any BTS configuration on part of the user.
Processing patterns… • Single connector • single type of connector, one or more interactions • Persistent (run within a normal BTS process) • recoverable interaction, possible compensation activities • new processing mode in CICS Integrator Adapter • Non-persistent (BTS process run with NOCHECK option) • non-recoverable interaction • new processing mode in CICS Integrator Adapter CICS BTS process Navigation Manager (DFHMAMGR) COMMAREA DPL stub (DFHMADPL) generated Adapter (DPL, FEPI, LINK3270) Target Application CICS interfaces XML message XML converter COMMAREA Server Runtime
CICS Integrator Adaptor for z/OS - Notes Single connector patterns are access that uses a single adapter type (DPL, FEPI or LINK3270). The adapter may have multiple interactions with the target application. Single connector patterns do not require a navigator program to manage request processing. It is intended to support simple screen-sequencing when the deployed adapter is FEPI or LINK3270. WebSphere MQ adapters are not supported in this type of processing. The persistent pattern will run the adapter processing within a normal BTS process. BTS persists the request and reply data and adapter state data. This will enable compensation activities to be performed if it is required. The non persistent pattern will run the BTS process with the NOCHECK option. The NOCHECK option enables the pattern to be “lighter weight” and also requires little if any BTS configuration on part of the user.
Passthrough processing • For LINK3270 bridge interactions • new processing model in CICS Integrator Adapter • Client sends in ADS structure, CICS Integrator Adapter runtime will map it on to a bridge vector and invoke the back end application • single interaction only • for LINK3270 bridge connectors only • client program controls the “screen interaction” flow • BTS not used • non-recoverable interaction CICS COMMAREA DPL stub (DFHMADPL) built in LINK3270 Vector support 3270 Application LINK3270 interface XML message XML converter COMMAREA Server Runtime
CICS Integrator Adaptor for z/OS - Notes Passthrough pattern refers to the programmatic functions coded in, and managed by the client in order to fulfill a business transaction on the server runtime. The request and response model is based on a one-screen-at-a-time conversation between the client and the target application, using LINK3270 bridge. The client will interact with the CICS Integrator Adapter runtime using application data structure (ADS), and the necessary headers. The client is responsible for preparing or interpreting the ADS and take appropriate actions, controlling the flow of the interactions to the target application. BTS will not be used in this pattern.
Summary • CICS Integrator Adapter runtime in CICS • Builder included in next release of WSED • Increased capability for integrating existing applications • Usability enhancements • XML message support • New deployment patterns
CICS Integrator Adaptor for z/OS - Notes CICS Integrator Adapter for z/OS is the re-branded version of MQSeries Integrator Agent for CICS TS. It enables EIS applications to be modernized with well defined interfaces, and enables effective reuse and easier integration of existing assets such as 3270 applications. The CICS Integrator Adapter runtime component is included in the CICS TS packaging of V3.1. The builder component will be provided though the WebSphere Developer for zSeries product. CICS Integrator Adapter provides increased capabilities to integrate EIS applications, such as better usability, XML support, and support for new deployment patterns for optimal access to the target application.