Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cics Integration Approaches


Published on

Cics Integration Approaches

  1. 1. CICS Integration Approaches & Proof of Concept Nag Gopalakrishnan
  2. 2. Introduction <ul><li>The XYZ company has various CICS application, which implements key business processes. As part of Case Install Release 5, the Business Process Management software is required to integrate with these CICS applications to automate process integration as well as ease up manual processes. </li></ul><ul><li>This presentation explores various CICS integration approaches within XYZ company environment. </li></ul>
  3. 3. z/OS CICS Integration Approaches <ul><ul><li>Approaches </li></ul></ul><ul><ul><li>In XYZ company there are many options available using home-grown as well as off-shelf components to integrate z/OS CICS applications: </li></ul></ul><ul><ul><ul><li>MQ wrapper </li></ul></ul></ul><ul><ul><ul><li>CICS Transaction Gateway (ESM - Enterprise Service Manager) </li></ul></ul></ul><ul><ul><ul><li>TIBCO Substation ES </li></ul></ul></ul><ul><ul><ul><li>z/OS DB2 Stored Procedure </li></ul></ul></ul><ul><ul><li>Assumptions </li></ul></ul><ul><ul><ul><li>All these approaches assume that the CICS application is a pure application logic code. If any presentation logic in intertwined with application logic it needs CICS application reengineering to separate the application logic with presentation logic. </li></ul></ul></ul>
  4. 4. Approach 1 - MQ Wrapper <ul><li>MQ Wrapper is a homegrown message driven solution, which enables CICS Application invocation using MQ queues </li></ul>
  5. 5. Approach 1 - MQ Wrapper <ul><li>Pros </li></ul><ul><li>Provides a simple way for the distributed environment programs to access the CICS application by placing a request message and querying the reply query using the correlation ID. </li></ul><ul><li>CICS application program changes are avoided by placing a custom interface program that correlates the input and output of CICS application and passes back to MQ wrapper using COMMAREA. </li></ul><ul><li>Policy setup abstracts the interface program from the MQ Interface object intricacies. </li></ul>
  6. 6. Approach 1 - MQ Wrapper <ul><li>Cons </li></ul><ul><li>Supports only 32k Data Exchange as the wrapper needs to be upgraded for Container/Channel support. </li></ul><ul><li>The wrapper does not relate reply message with request message. Which means in high volume transactions, all Reply message land in the same queue and hence the client program has to query through this one queue for each of their request. This can result in a significant performance issue with many clients/requests. Error handling design becomes complicated due to this inherent limitation. </li></ul><ul><li>Supports only External Call Interface (ECI using EXEC CICS LINK) and not the External CICS Interface, which is needed for transaction support (EXCI using EXTERNAL CICS INTERFACE). </li></ul><ul><li>Configuration of multiple policies is required for supporting request reply scenario through the use of policy name. By default the inbound and outbound interface are correlated using MQ, this additional configuration ensures that they are related by the facility of Policy </li></ul><ul><li>Policy are stored as Process definition in MQ Queue Manager and need to be backed up periodically </li></ul><ul><li>Monitoring, logging and trace abilities not available to limited capabilities. </li></ul><ul><li>Wrapper support team is very small and support can be slow to development/run time can be slow. </li></ul>
  7. 7. Approach 2- IBM CICS Transaction Gateway <ul><li>ESM is a group of web services that wrap z/OS application interface and exposes them as web services interface. ESM uses IBM’s CICS Transaction Gateway software for integrating CICS Application with java or web service compatible code. </li></ul><ul><li>CICS Transaction Gateway (CTG) is a set of ‘ client and server ’ components in JCA architecture that enable Java application to invoke services in an attached CICS server. Java application can be a servlet or EJB or plain java code. </li></ul>
  8. 8. IBM CICS Transaction Gateway <ul><li>Pros </li></ul><ul><li>Wizard provides easy import of copybook definitions and configuration of interface. </li></ul><ul><li>Service can be exposed as a web service (SOAP/HTTP). </li></ul><ul><li>Cons </li></ul><ul><li>Supports only COMMAREA communication only </li></ul><ul><li>Calls the CICS program as a link using ECI (External Call Interface) only. </li></ul><ul><li>Packaged product and needs License and maintenance fees </li></ul><ul><li>Since the wizard generated automatically java code, any issues with the code could be time consuming, as the developer needs to understand the code before fixing any issues. </li></ul>
  9. 9. Approach 3 - TIBCO Substation ES <ul><li>TIBCO Substation ES is an out of the box adapter that runs on z/OS. Substation can be configured to provide CICS application Integration facility with JMS Interface or SOAP/HTTP Interface. </li></ul>
  10. 10. Approach 3 - TIBCO Substation ES <ul><li>Pros </li></ul><ul><li>Performance is the quickest of all the three available options as experienced in XYZ company environment. </li></ul><ul><li>Interface can be configured in as little as two hours. Any Mainframe savvy developer is good enough to configure the interface. </li></ul><ul><li>Very quick and easy configuration leading reducing development time as well as easier maintenance. </li></ul><ul><li>Changes to the interface can be done in-flight (at runtime) with no downtime </li></ul><ul><li>Supports Commarea, TSQ, TDQ and hence virtually unlimited data exchange possible </li></ul><ul><li>CICS programs can be executed as a link program or as an execute transaction. Substation can mirror whatever transaction id is required to invoke the CICS program through execute transaction command. </li></ul><ul><li>Provides superior Monitoring, logging and tracing capabilities </li></ul><ul><li>Under the hood, Substation makes calls to CICS using EXCI (External CICS Call Interface), which supports transaction capability. Other options use ECI (External Call Interface). EXCI is a facility of CICS Transaction that allows non-CICS address space on z/OS systems to link to CICS program in a CICS transaction server region. </li></ul><ul><li>The interface can be exposed as a service (SOAP/HTTP or XML/JMS) </li></ul><ul><li>Substation can communicate with multiple CICS regions. </li></ul><ul><li>Cons </li></ul><ul><li>Package product and hence requires maintenance licenses and fees </li></ul>
  11. 11. Proof of Concept 1
  12. 12. Proof of Concept 2
  13. 13. <ul><li>Q & A </li></ul>