The general interaction between a stateless AppServer and client proceeds as follows:
1. The client connects to the AppServer broker with or without the help of a NameServer, which provides the address of the broker from a list of AppServers that support a specified application service. The broker is then available to handle application service requests from this client or to accept a connection request from another client.
Note: The algorithm the NameServer uses to choose the broker depends on whether the NameServer is configured for load balancing. For more information, see Loadbalancing and session models.
2. The client invokes an application service request (synchronously or asynchronously).
3. The connected AppServer broker passes the client request to an available AppServer agent.
4. The agent executes the request and returns the results to the broker, which returns the results to the client. The AppServer agent is immediately available to handle an application service request from any client connected to the broker.
5. The client handles the results of the application service request and either invokes another request as in Step 2 or disconnects from the AppServer as in Step 6.
6. When the client no longer requires the application service, it disconnects from the AppServer broker and cleans up after its connection to the application service.
The number of available simultaneous client connections to a stateless AppServer is limited only by the required performance for each client connection. The performance of client connections depends on the availability of an AppServer agent to execute a client request. Agent availability depends on:
The resources of the AppServer machine
The number of agents the AppServer is configured to startup and manage at one time
The number and types of client requests to the stateless AppServer