Try OpenEdge Now
skip to main content
AppServer and Internet Adapter Administration : Configuring and Managing the AppServer : Run-time components and operation

Run-time components and operation

The following figure shows the major run-time components that compose the AppServer architecture and their basic relationships.
Figure 1. AppServer run-time components
The dotted arrows indicate optional communications to establish a connection between client applications and the AppServer. For more information on AppServer architecture, see OpenEdge Getting Started: Application and Integration Services.
The following table identifies and describes the components shown in the above figure.
Table 1. AppServer run-time components
Client application
A process that requests the execution of remote ABL procedures in the context of an AppServer session. A client application can be:
*An ABL client session, including the WebClient
*A WebSpeed ABL (SpeedScript) session (WebSpeed agent), which runs ABL procedures on behalf of Web browser clients(for more information, see OpenEdge Application Server: Developing WebSpeed Applications)
*Another AppServer session—AppServer agent (for more information, see OpenEdge Application Server: Developing AppServer Applications)
*A .NET Open Client application (for more information, see OpenEdge Development: .NET Open Clients)
*A Java Open Client application (for more information, see OpenEdge Development: Java Open Clients)
*A client of OpenEdge Web services (including Sonic ESB services)
The OpenEdge interface in Figure 1 is the code that allows a client application to access an AppServer. For ABL clients, this interface is accessed through built-in ABL statements and functions dedicated to AppServer access. For .NET, Java, and Web service Open Clients, this interface is accessed through a client interface that is custom-built with the OpenEdge Open Client Toolkit to access AppServer procedures.
AppServer agent
A process that executes remote procedure requests in the context of an ABL session. Much like a batch ABL client, almost any ABL statement that you can execute in an interactive ABL client you can execute within an AppServer agent. An AppServer instance typically contains multiple AppServer agents that start up when you start the AppServer.
An AppServer agent can also act as an ABL client of another AppServer instance, by making its own remote procedure calls.
AppServer broker
A process that creates, manages, and allocates AppServer agents for access by client applications. The AppServer broker manages client connection requests and dispatches requests to AppServer agents. Exactly how it does this depends on the AppServer operating mode. (For more information, see OpenEdge Application Server: Developing AppServer Applications.) A single AppServer broker supports one AppServer instance.
A process that directs client connection requests to an AppServer that supports a specified business function. A client indicates which AppServer instance it wants to connect to by specifying an application service name that identifies the required business function. (For more information on application services, see OpenEdge Application Server: Developing AppServer Applications.)
When an AppServer starts up that is configured for use with a NameServer, the AppServer registers the application services it supports with a specific NameServer. The NameServer with which an AppServer registers is the controlling NameServer for that AppServer instance.
For session-managed applications, when a client requests a connection to an application service, the NameServer directs the client to a single AppServer to handle all requests for the specified application service. For session-free applications, when a client requests a connection to an application service, the NameServer provides a list of available AppServer connections that OpenEdge uses to build a connection pool from which it locates an AppServer to handle each client request.
To provide fault-tolerant access to NameServers, you can configure multiple NameServer instances that handle the same application services. Each such NameServer is a replica of the others, thus providing connection-level fault-tolerance.
If you have installed the NameServer Load Balancer, multiple AppServers can also support the same application service, allowing the NameServer to distribute client connections (session-managed) or client requests (session-free) among them, thus providing server-level fault tolerance.
When using a NameServer to connect an AppServer (session-managed) or application service (session-free), the client only needs to know the host and port of the NameServer and the name of an application service. The ABL interface contacts the specified NameServer on behalf of the client, processes the response, and directs the client to the appropriate AppServer (session-managed) or AppServers (session-free).

1 The same NameServer process can also coordinate Web browser access to WebSpeed Transaction Servers and ABL client access to OpenEdge DataServers or OpenEdge Adapter for SonicMQ. For more information on all NameServer features, see OpenEdge Getting Started: Installation and Configuration.

* Distribution of components
* Fault-tolerant NameServers
* Fault-tolerant AppServers and load balancing
* Operating modes
* IPv6 networks
* SSL-enabled AppServer operation
* AppServer operating modes and SSL