Besides the application programming functions that communicate with back-end applications, FEPI also provides system programming functions that define and inquire about FEPI resources and perform control functions. Defining and configuring FEPI resources is called setup program. The EXEC CICS® FEPI commands that provide these functions are:
The setup functions are usually performed by a customer-written transaction that is started from a second-phase program list table post initialization (PLTPI) program. See FEPI configuration.
FEPI resources can be controlled, like other CICS resources, using the CEMT SET and INQUIRE functions. CECI can also be used. See Operator control of FEPI.
There are four types of FEPI resource--pool, property set, target, and node. The relationship between them is illustrated below. The resources are further explained in Configuring FEPI and the more complex relationships possible between them are illustrated in Sample FEPI configuration.
Pool
Property set Target 1
Node 1
|
A collection of nodes and targets Defines the characteristics of a pool
Back-end systems
Simulated terminals |
A FEPI pool can have one or more nodes and one or more targets. The same nodes and targets can be in any number of pools, except that the same node-target pair (a connection) cannot occur in more than one pool.
A CICS FEPI application can reach a target only by specifying a pool, which defines the set of nodes that can be used to make the connection, and the characteristics of the communication.
A target and an open node in the same pool are ‘connected’; when bound, they are ‘in session’. To bind means to establish a session on a connection, to make it ready to allow communication.
The process of communicating with a back-end system is called a conversation; it is the fundamental entity that a FEPI application deals with. Only one conversation can use a connection at one time, although any number can do so consecutively. For efficiency, the session on the connection is kept bound between conversations, unless you choose otherwise. Furthermore, a conversation is owned by the task that establishes it; no other task can use it.