Modernization Hub

Conversation

Enhanced Definition

In the context of IBM mainframe transaction processing systems like CICS and IMS, a conversation refers to a series of logically related interactions between a terminal (or client program) and an application program, where the program maintains state and context across multiple exchanges. Unlike a single, independent transaction, a conversation allows the application to remember previous inputs and guide the user through a multi-step process. In the context of IBM mainframes, particularly z/OS and CICS, a conversation refers to a logical, stateful, and often extended interaction between two programs or a program and a terminal. Unlike a simple request-response, a conversation maintains context and state across multiple exchanges, allowing for a series of related operations to be treated as a single logical unit of work.

Key Characteristics

    • Stateful: The application program retains information and context (e.g., variables, flags, pointers) in its working storage or control blocks across multiple send/receive operations with the terminal.
    • Resource Intensive: While active, a conversational program typically holds system resources such as storage, program control tables, and potentially database locks, which can impact overall system throughput.
    • Session-Oriented: A conversation is tied to a specific terminal or logical unit (LU) session, meaning the program remains loaded and active, dedicated to that particular user's interaction.
    • Explicit Control: The application program explicitly initiates and terminates the conversation, often using specific commands (e.g., CICS RETURN with TRANSID and COMMAREA for pseudo-conversational, or RETURN without TRANSID for true conversational).
    • Synchronous Interaction: Typically involves a synchronous back-and-forth exchange, where the program waits for user input before proceeding.

Use Cases

    • Multi-Screen Data Entry: Guiding a user through a complex data entry process, such as creating a new customer account or processing a loan application that requires input across several screens.
    • Interactive Query Workflows: Allowing a user to progressively refine a query or drill down into details of a retrieved record across multiple interactions without losing the context of the initial search.
    • Guided Configuration: Applications that walk a user through a series of choices or configurations, where each choice influences subsequent options.
    • Legacy Systems: Often found in older CICS or IMS applications designed before pseudo-conversational techniques became standard best practice for efficiency.

Related Concepts

A conversation is often contrasted with pseudo-conversational programming, which is the preferred method for most CICS applications. While a conversation keeps the program loaded and active for the duration of the user interaction, a pseudo-conversational design terminates the program after sending a screen, passing necessary state information in a COMMAREA to the next invocation of the transaction, thus freeing up resources. Conversations are also a fundamental concept in LU 6.2 (APPC) and CPI-C for program-to-program communication, where two programs engage in a series of exchanges.

Best Practices:
  • Minimize Duration: If a true conversation is unavoidable, design it to be as short-lived as possible to reduce resource contention and improve system throughput.
  • Prefer Pseudo-Conversational: For most interactive terminal applications in CICS, always prioritize a pseudo-conversational design to optimize resource utilization and allow the system to serve more users concurrently.
  • Robust Error Handling: Implement comprehensive error handling and recovery mechanisms to ensure that conversations are properly terminated and resources are released, even if the user aborts or an error occurs.
  • Limit Resource Holding: Avoid holding critical or exclusive resources (e.g., database locks) for the entire duration of a conversation, especially across user think time, as this can lead to deadlocks or performance bottlenecks.
  • Clear Termination: Ensure the application program explicitly terminates the conversation to release all associated system resources promptly.

Related Vendors

IBM

646 products

UTS Global

1 product

Trax Softworks

3 products

Related Categories

Operating System

154 products

Databases

211 products

Transactions

29 products

Browse and Edit

64 products