Try OpenEdge Now
skip to main content
Application and Integration Services
AppServer for OpenEdge Applications : Connection process : Assigning application service names : Connection operation
 
Connection operation
The way an AppServer connection works depends partly on the AppServer operating mode. This section describes the basic procedure that the OpenEdge interface follows in order to set up and manage the actual communications with an AppServer for the different operating modes. The AppServer supports four operating modes, each of which supports a different type of physical or logical connection.
In the figures that follow, the OpenEdge interface is the OpenEdge communications layer that manages physical and logical connections to an AppServer on behalf of a client. For ABL clients and Open Clients, this function resides in the client session context or in the AIA (if used). For Web service clients, this function resides in the WSA.
Note: The following procedure assumes that you are using a NameServer. Without a NameServer, the same basic procedure is followed, but all communications goes directly to a single AppServer instance with the AppServer broker managing all of its client connections from beginning to end.
In general, a client application initiates and manages the connection with an AppServer according to the following procedure:
1. The client application notifies the OpenEdge interface to send a connection request for a specified application service to a specified NameServer. The OpenEdge interface then sends the request to the NameServer, which the OpenEdge interface identifies using a host and port provided by the client application, as shown:
Note: If the client makes a connection request directly to an AppServer host and port, either through a Web service or the AIA, the procedure continues from here with step 3.
If you have configured fault-tolerant NameServers, the replicated or neighbor NameServers attempt to resolve the connection. If no such NameServer can resolve the connection, the client receives a connection error.
2. For a physical connection, the resolving NameServer chooses a particular AppServer instance that supports the specified application service (and that balances client load, if so configured) and provides the OpenEdge interface with the network location of the AppServer broker for that AppServer. For a logical connection, the OpenEdge interface requests connections to one or more AppServer brokers that support the specified application service with which to initialize the client connection pool, as shown:
3. For a physical connection or a logical connection directly to a single AppServer, the OpenEdge interface initially sets up a connection with the AppServer broker, as shown:
4. For a physical connection, the AppServer broker either maintains the connection directly between itself and the OpenEdge interface (state-less operating mode) or provides the OpenEdge interface with the address of a particular AppServer agent to which it can remain connected for the duration of the connection (state-reset or state-aware operating modes). For a logical connection (state-free operating mode), the OpenEdge interface maintains the client connection pool for one or more AppServer connections, consulting the NameServer for each request, as required by the logical connection parameters, as shown:
5. Once the connection is established according to the operating mode and connection parameters, all remote procedure and user-defined function requests from that one client are sent over this connection. In the case of a logical connection (state-free), multiple requests from the client can be executed in parallel, depending on the AppServer resources available.
Note: For multiple logical connections to a given application service, all bound clients can access identical AppServer connections, because a state-free AppServer has no physical connection to its clients and it is available to execute requests from all clients as fast as its own agent pool can handle the requests.
6. When the client no longer needs the connection, it disconnects from the single AppServer or all AppServers in its connection pool (for logical connections) by notifying the OpenEdge interface to send a disconnect request to each affected AppServer.
For more information on how to set up and work with a physical or logical connection, see the information on programming client applications in OpenEdge Application Server: Developing AppServer Applications.