Educational Consultancy in CICS and Information Technology

Education Consultancy in CICS and Information Technology

CICS Transaction Server Application Development Strategies

CICS Transaction Server Training Sitemap

Submit CICS Questions Knowledge Transfer CICS Transaction Server Schedule
Definition of Service Delivery Medium Web-based Training Services

CICS Transaction Server

Maintenance, Repurposing, or Modernization

Operational Challenge Controlling Long Query Transactions JVM Server and CICS
IBM Rational Developer for System z Client-specific Examples and Exercises Best Practices and Guidelines
Copyright Acknowledgement

Operational Challenge

Within information technology management, the SOAP: Simple Object Access Protocol and SOA: Service Oriented Architecture has become a central component in the strategy to transition and develop web-based applications. An important consideration is how to utilize the business logic and code embedded in the existing inventory of CICS applications and reduce cost.

IBM has made significant additions and modifications to CICS Transaction Server in order to enhance its SOA capability and web services. SOAP protocols have been integrated into CICS. WS-I Basic Profile 1.1 improves interoperability between SOA partners and SOA; transaction coordination is provided by WS-Coordination and WS-AtomicTransaction. Authentication, encryption, SOAP message security, Username Token Profile 1.0, and X.509 Certificate Token Profile is implemented through WS-Security.

Controlling Long Query Transactions

Programs can be used for screen scraping, multiple and single API's, and support for green screen and non-green screen applications. It is important to efficiently serve data to multiple groups of internal and external users and address slow response time due to screen scraping overhead. In order to provide a terminal user with the ability to obtain the status or abort a lengthy inquiry, a query can be designed as a separate task to communicate with the terminal user. The terminal task writes a record to transient data identifying the terminal id and the query to be started. It can then issue an "EXEC CICS DELAY" with an interval equal to the maximum time that the user will be made to wait and both a REQID and TERMID.

The transient data queue should have a trigger level of one to initiate processing of the query request. When complete, it writes the results back in a temporary storage record which includes the TERMID as part of the QUEUE name and cancels the wait of the original task. The original task, after issuing its wait, reads the temporary storage record.

  • If not found, it instructs the user that the query is in progress and asks whether to wait.

  • If the user does not want to wait, the terminal task is ended.

Another transaction can be used to check the query at a later time by attempting to read the temporary storage record.

  • If the answer is yes, the temporary storage record is reread to ascertain whether the query has completed.

  • If the answer is no, the user terminal goes back into the wait state.

JVM Server and CICS

The JVM server is the strategic direction for running Java in CICS; new workloads have been included for web services, such as Axis2 and the Dynamic Scripting Feature Pack. The JVM server also is used for the WebSphere Compute Grid supportpac and can be extended to include IBM Decision Server and other external packages.

The JVM server runtime environment is used to run multiple CICS applications concurrently in a single JVM. It is represented by the JVMSERVER resource. Applications can be executed in the same JVM server if they are threadsafe and packaged as OSGi: Open Services Gateway Initiative bundles. The JVM server contains an OSGi framework to run the OSGi bundles. CICS generates statistics which can be examined in CICS Explorer for management and tuning. Java classes can be created from the JZOS and J2C copybook importers. The CICS Explorer SDK is used to develop and deploy CICS Java applications.

The JVM server provides several advantages in relation to the existing pooled JVM support. A single JVM can be used for running multiple tasks and reducing the required storage. The JVM server provides concurrent, multithreaded support; there can be a maximum of 256 threads in each JVM server. TCBs: Transaction Control Blocks are used to run the work and required system initialization parameters. The JVM server functions like a standard server model and performs data sharing; with pooled JVMs it is difficult to share data and state. The JVM server will not require a restart in order to update and replace application modules; the application changes have been packaged as OSGi bundles.

IBM Rational Developer for System z

Implementation of a service oriented architecture provides for the reuse of applications to reduce development costs.

IBM Rational Developer for System z can be used to:

1- Modernize, streamline, and replace outdated 1970s green screen technology.
2- Provide structured, efficient analysis, editing, and testing operations.

Program maintenance can then be performed using Eclipse-based tools.

Client-specific Examples and Exercises

The CICS Transaction Server examples and exercises will be tailored to the client's operational objectives:

1- Printing documents to remote printers; this includes devices on a TCP/IP network using a CICS destination queue.
2- The utilization of TS: Transaction Storage and TD: Transient Data queues for determining transaction status and terminating a transaction.
3- Passing large amounts of data to another program using channels and containers.
4- Coding programs which allow CICS Transaction Server applications to communicate using the SOAP: Simple Object Access Protocol. Transports can be provided over HTTP: Hypertext Transfer Protocol and WebSphere MQ.
5- Coding a Java application under CICS. CICS Transaction Server 4.2 supports IBMs 64-bit JVM; this makes it easier to accommodate storage-consuming Java applications.
6- Developing an application that uses VSAM alternate indexes to browse a VSAM dataset.

Best Practices and Guidelines

SYS-ED staff and CETi technology partners have been testing code and evaluating white papers:

  • How to use containers and channels for expanding program-to-program communication and data conversion using code pages; this also removes the 32K COMMAREA restriction.
  • Using the CICS Web Services Assistant for transforming a CICS application into a web service.
    • Bi-directional building of a WSDL document can be done from a COBOL, PL/1, or C/C++ language structure, or a language structure can be built from a WSDL document.
  • Using the information from the Web Assistant for bi-directional conversion of SOAP messages.
  • Parsing inbound messages and the creation of outbound messages from the Web Assistant.
  • When and how to use RDO PIPELINE and WEBSERVICE definitions for adding SOA capability.
Copyright Acknowledgement
CICS Transaction Server is a registered trademark of IBM Corporation.