Visit Object

The visit object will contain all the data about a client's visit to the web application. If possible, it should have a no-arguments constructor (this allows SimpleEngine to instantiate it as needed).

Keeping the size of the serialized engine small is a good goal for overall performance and scalability, and the visit object is serialized with the engine. During initial development, the visit object should implement the java.io.Serializable interface.

Once the application, and the structure of the visit object, is stable, the more efficient java.io.Externalizable interface should be implemented instead.

In addition, deferring the creation of the visit object as late as possible is also of benefit, since this is the best way to keep the serialized engine small.