Dispatcher
Understand what the dispatcher does and identify which dispatcher to use with a specific Web server.
The role of the dispatcher is to forward incoming requests to the appropriate proxy (uaproxy or gwsproxy). The dispatcher handles the GAS configuration and keeps a persistent session table of all proxies it has started. In case of failure, the Web server restarts the dispatcher, which uses the session table to reconnect to the proxies (and therefore to the applications).
Types of GAS Dispatchers
There are different GAS dispatchers, each designed for a specific Web server:
httpdispatch
is the standalone dispatcher for development only. It is provided to simplify your development setup and configuration through a direct connection without a Web server.-
isapidispatch
. This is the dispatcher for Internet Information Services (IIS). -
fastcgidispatch
. This is dispatcher for Fast CGI compliant Web servers like Apache.
Each dispatcher performs the role of forwarding an application request to the appropriate proxy, and the proxy in turn processes the request by launching the DVM.
GAS Dispatcher and VMProxy
The GAS dispatcher starts a VMProxy to handle the application request. Each session requesting an application results in a VMProxy starting up, so several VMProxies may be running concurrently. The dispatcher tracks the session and proxy information in a persistent session table and routes requests to the correct proxy.
The presence of this information in the session table ensures that if a dispatcher is killed or restarted, the information needed to return to the proxy and running application is still present.
GAS Dispatcher responsibilities
The GAS Dispatcher, in summary, is responsible for the following:
- Launching VMProxies
- Handling and validating the application or service configuration
- Providing the application configuration to the VMProxy via environment variables
- Handling a persistent and shared session table that manages the forwarding of application requests to the corresponding VMProxies
- Stopping the VMProxies when the Web server shuts down
- Handling static file requests