The WebDriver subsystem is designed around the concept that the content of a request or response should be abstracted from the method of transmission. In practice, this means that web applications and services written on top of Serenity will be able to seamlessly respond to a request that is delivered using almost any protocol. The architecture is designed around the HTTP protocol, but will be expanded to include features that HTTP lacks but other protocols support.

The three components of the WebDriver subsystem are:
  1. Drivers - These are classes which inherit the Serenity.Web.Drivers.WebDriver abstract class. A Driver handles the actual communication with the client and is in charge of sending and receiving the request/response bytes.
  2. Adapters - These are classes which inherit the Serenity.Web.Drivers.WebAdapter abstract class. An Adapter processes the bytes received through a Driver, and creates a CommonContext object (a CommonRequest/CommonResponse pair) from the processed data. The Adapter is also responsible for converting a responded-to CommonContext back to an array of bytes so that the response may be delivered to the client.
  3. CommonContext - The CommonContext class represents a CommonRequest/CommonResponse pair which are responsible for containing the data of the client's request and the server's response to that request. The CommonContext object is consumed by the web application.

Last edited Dec 13, 2006 at 4:32 AM by WShelley, version 1


No comments yet.