Documentation Archive Developer
Search
Table of Contents Previous Section

Adaptor Modes

All WebObjects adaptors route incoming requests to WebObjects applications in one of three modes:

  1. Load-balancing between concurrent instances of the same application specified in the public configuration file

  2. Choosing an application from the private configuration file

  3. Autostarting an application
The active adaptor tries to contact the requested application by going through the modes in the preceding order.

Load Balancing: When the client request tries to contact an application, the active WebObjects adaptor first checks the public configuration file for an application matching the specification in the URL. Load balancing typically occurs only for the first request of a session if the application stores state in the server. Afterwards, the application resolves the URL so that page navigation will always occur in the context of the same application. But if the application stores state on the page or in cookies, true load balancing will be performed for each request.

Private Configuration File: If the adaptor cannot find a public configuration file, it attempts to resolve the URL against entries in the private configuration file. If the adaptor finds a matching entry but cannot contact it (for example, the application has been stopped), the adaptor deletes the "dangling" entry from the private configuration file and autostarts the application.

Autostarting: If there is no public configuration file and the adaptor fails to find an application matching the client's request in the private configuration file, it tries to start the application itself. The adaptor first searches in specific locations in the document root of the HTTP server and then in NeXT_ROOT/NextLibrary/WOApps for a WebObjects application (one with a .woa extension) that matches the specification in the request URL. If it finds one, it invokes the WODefaultApp executable, or if the application is compiled, it invokes the executable in the application wrapper itself. This invocation starts the application on the HTTP server machine and registers it in the private configuration file, thereby allowing the adaptor to contact the new application instance. If the adaptor cannot find the requested application (for example, there's a typo in the URL), it returns a list of the applications it can find.

Note that if the public configuration file NeXT_ROOT/NextLibrary/WOAdaptors/Configuration/WebObjects.conf exists, no applications are ever autostarted. Also note that adding applications to the Monitor as described in the section "Initial Monitor Setup" creates the public configuration file. Thus, if you are using the Monitor application, autostarting is disabled.

Table of Contents Next Section