Top Previous Next TOC Index

The Web Request Broker (WRB)


The WRB (Web Request Broker) is an asynchronous request handler with an API (Application Program Interface) that enables it to interface dynamically and seamlessly to various back-end technologies called "WRB Services".

Whenever the Web Listener receives a URL that calls for the WRB, it passes execution of the request to the WRB Dispatcher or simply Dispatcher. The Dispatcher maintains communication with a pool of processes called WRB Executable Engines (WRBXs).The Dispatcher finds a free WRBX that is configured to run the desired WRB Service and passes execution to it. The result is that the Listener can receive and validate URLs coming in, while each request is handed off to a process that executes it in the background. Each WRBX uses the WRB API to interface to a WRB cartridge. WRB cartridges can be of the following types:


WRB Services

The combination of a cartridge and its WRB API constitute the WRB Service. WRBXs are instances of WRB Services, so that there are three WRB Services corresponding to the three WRB cartridges, while the WRBXs are created and destroyed according to the workload.

The Dispatcher determines which WRB Service to send a given request to on the basis of the path and the file extension (MIME type) specified in the URL. You configure the WRB in the WebServer Manager to determine which combinations of path and extension correspond to which Services.

The WRB API is designed so that third parties can write their own extensions to the WebServer. The three cartridges listed above come with the WebServer, but you can obtain additional cartridges from third parties or write your own.

The WRB Services can also augment the access control specified by the Listener with Service-specific control. The Services included with the WebServer do not do this, but the WRB API provides a callback routine that enables you to put this functionality in cartridges that you write. This routine enables your cartridge to do any of the following:

For more information on how WRB cartridges work and how to write your own, refer to the WRB specification that accompanies the WebServer online documentation.


WRB Executable Engines

The Dispatcher creates and maintains the WRBXs. The data passed to a WRBX when a request comes in consists of:

The Dispatcher continually adjusts the load by controlling how many WRBXs are running at a given time, subject to certain parameters. These parameters are set by the WebServer Administrator, who sets the maximum and minimum number of WRBXs running for each WRB Service. The Dispatcher creates new WRBXs as needed and connects them to the appropriate WRB Services. The Dispatcher also keeps track of which WRBXs are executing requests and which are free. The WRBXs are single-threaded processes that communicate with the WRB Dispatcher using the dataflow mechanism appropriate to the Operating System (such as a pipe in Unix).


Click Here to Go to the top of the section.

Click Here to Go to the previous topic.

Click Here to Go to the next topic.

Click here to Go to the Table of Contents.

Click here to Go to the Index.


This document was last modified at 07:32pm PDT on April 29, 1996.

To report any problems or comments, e-mail Oracle WebServer Documentation.