This section distinguishes between the following areas in the IMS database and data communication application design process:
"Online Transaction Processing Concepts" describes some of the concepts that are important to designing application programs that run in IMS TM. "Online Program Design" on page 292 concentrates on the design of message processing programs (MPPs). "Basic Screen Design" on page 293 describes some of the concepts of 3270 screen layouts that IMS TM application programs must deal with if the application programs do not use the message format service (MFS). Chapter 17, "Editing and Formatting Messages," on page 297 discusses how MFS provides facilities to deal with 3270 screen layouts and operator interaction. Although each of the above areas is discussed in separate sections, you need to realize that they depend upon each other. Therefore, an overall system design must be performed initially and an overall system review must follow the design phase of each section Online Transaction Processing ConceptsIn an IMS online environment, a transaction can be viewed from three different points:
Each of these views constitutes a set of characteristics. These characteristics are described in the following sections. Application CharacteristicsGenerally, applications have two basic characteristics:
In a typical IMS multi-application environment, these application characteristics are often combined. However, a single transaction normally has only one of the characteristics. Terminal User CharacteristicsFrom the terminal user's point of view, there exist:
Single-interaction transactions do not impose any dependencies between an input message, its corresponding output, and the next input message. Multi-interaction transactions constitute a dialogue between the terminal and the MPPs. Both the terminal user and the message processing rely on a previous interaction for the interpretation and processing of a subsequent interaction. IMS System CharacteristicsFrom the IMS system point of view, there exist:
You define these IMS transaction characteristics for each transaction during IMS system definition. With non-response transactions, IMS accepts multiple input messages (each being a transaction) from a terminal without a need for the terminal to first accept the corresponding output message, if any. With response transactions, IMS does not accept further transaction input from the terminal before the corresponding output message is sent and interpreted by the user. Conversational transactions are similar to response transactions, in that no other transactions can be entered from the terminal until the terminal is out of conversational mode. With response mode, the terminal is locked until a reply is received, but not for conversational mode. Another difference between the two is that for conversational transactions, IMS provides a unique scratch pad area (SPA) for each user to store vital information across successive input messages. Transaction Response Time ConsiderationsIn addition to the application, terminal user, and IMS system characteristics, the transaction response time is an important factor in the design of online systems. The transaction response time is the elapsed time between the entering of an input message by the terminal operator and the receipt of the corresponding output message at the terminal. In general, two main factors constitute the transaction response time:
Choosing the Correct CharacteristicsCategorize each IMS transaction by one of the previously described characteristics. Some combination of the characteristics are more likely to occur than others. The combinations depend on your application's needs. Choose which combination is attributed to a given transaction. Selecting the appropriate characteristics is an essential, deliberate part of the design process, rather than determining the characteristics after implementation. Following are some examples:
Quite often, different solutions are available for a single application. Choose your solution based on a trade-off between system cost, functions, and user convenience. The following sections will highlight this for the different design areas. Online Program DesignOnline program design is second in importance to database design. In this section, discussion of this broad topic is limited to the typical IMS environment. The following sections discuss a number of considerations that can influence your program design decisions. Single versus Multiple PassesA transaction can be handled with one interaction or pass, or with two or more passes. Each pass bears a certain cost in transmission time and in IMS and MPP processing time. In general, you should use as few passes as possible. Whenever possible, use the current output screen to enter the next input. This is generally easy to accomplish for transactions that query or retrieve data (with no updates), where the lower part of the screen can be used for input and the upper part for output (see "Basic Screen Design" on page 293). For update transactions, the choice is more difficult. The basic alternatives are: One-pass update
Two-pass update
Multi-pass update
Conversational Transactions versus Non-Conversational TransactionsConversational transactions are generally more expensive in terms of system cost than non-conversational ones. However, conversational transactions give better terminal operator service. Use conversational transactions only when required. Also, with the proper use of MFS, the terminal operator procedures sometimes can be enhanced to almost the level of conversational processing. Transaction or Program GroupingAs the program designer, it is your choice how much application function is implemented by one transaction or program. The following considerations apply:
As mentioned in "Message Switching" on page 285, IMS TM provides a program-to-program message switch capability. You can split transaction processing in two or more phases by using message switches. The first (foreground) MPP does the checking and switches a message (and, optionally, the SPA) to a background MPP in a lower-priority partition. The background MPP performs the lengthy part of the transaction processing, thus making the foreground MPP available to service other terminals. Also, if no immediate response is required from the background MPP and the SPA is not switched, the terminal is more readily available for entering another transaction. Basic Screen DesignWhen you design 3270-type screen applications that use MFS, you need to understand basic screen design, which is described in this section. For more information about screen design and MFS, see:
Generally, a screen can be divided into five areas, from top to bottom:
For readability, separate the screen areas by at least one blank line. IBM recommends that you develop a general screen layout and a set of formats that can be used by incidental programs and programs in their initial test, which can significantly reduce the number of format blocks needed and simplify maintenance. Installation standards should be defined for a multi-application environment. General Screen Layout GuidelinesObserve the following performance guidelines when you design screen layouts:
Including the Transaction Code in the FormatIMS requires a transaction code as the first part of an input message. With MFS, this transaction code can be defined as a literal. In doing so, the terminal operator always enters data on a preformatted screen. The initial format is retrieved with the /FORMAT command. To allow for multiple transaction codes in one format, part of the transaction code can be defined as a literal in the message input descriptor (MID). The rest of the transaction code can then be entered by using a DFLD statement in the format. This method is very convenient for the terminal operator, who does not have to be aware of the actual transaction codes. General IMS TM Application Design ConsiderationsKeep the following points in mind when you design IMS TM applications that use MFS:
|