Receive requests, in the form of a URL, from a client on the Web .
Process the request, which often includes interaction with a data source.
Create an HTML page as a reply to the request.
Pass the HTML page back to the client.
The following diagram shows the basic structure of WebSpeed and how its components interact to handle a request from a client.
From the diagram, you can see that the WebSpeed Messenger is a key component of the architecture. As the diagram implies, it is the only WebSpeed component that must be installed on the same machine as the Web server. All other WebSpeed components can be installed on the same, or on a different machine from the Web server. The Messenger is usually installed in an appropriate scripts directory (for example, /cgi-bin) on the Web server.
During an OpenEdge installation, you specify a WebSpeed Messenger that is compatible with your Web server. (Note that the Web server is not a component of the WebSpeed product.). Web server types supported include ISAPI-compatible (Microsoft IIS), NSAPI-compatible (Sun Web server), or CGI-compatible (almost any Web server including Apache.) There is also a Messenger that works with Microsoft’s Active Server Pages, the WSASP Messenger.
As the diagram implies, a client initiates a WebSpeed request that is received by a Web server and passed to the Messenger. The Messenger contacts the NameServer to get the name of a WebSpeed Broker that has the resources to handle the request. The request is then passed to an appropriate Broker. The Broker finds a WebSpeed Agent that can run the code (Web objects) that services the request. The output is formatted as HTML, returned to the Messenger, and sent to the HTTP Client via the Web server.
Notice that the AdminServer is not directly involved with servicing a WebSpeed request. The AdminServer is an administrative framework that starts and stops components based on configuration information contained in the ubroker.properties file.
This topic is a simplified version of the WebSpeed architecture and how it functions. For more information, see the following manuals in the OpenEdge Product documentation: