A single user could install such an intermediary on a client machine for personal use. A group of French-speaking users could install it on a shared machine. An information provider could install it on the Web server machine to optionally translate the content for any user who wants the service. WBI allows developers to easily write a wide variety of intermediary applications in Java. Monitors lie along the information flow and simply listen in without affecting the data as it flows by.
Editors modify data as it flows along the stream, either adding, removing, or changing information.
Generators create data, effectively acting as an information source. When WBI receives an HTTP request, it dynamically routes the request through a series of MEGs depending on the details of the request. The editor has a condition attached to it that instructs WBI to direct only content of the proper type to it. The conditions can trigger on a variety of details of the HTTP request or response. WBI can operate as either an HTTP proxy or server because it can choose to produce the content locally and send it back to the client, or pass the request to another server, possibly modifying the received content before passing it along.