1. A server-based method for providing remote access to a legacy application program over a communication network, comprising: determining logical elements of the legacy application program in accordance with corresponding states of the legacy application program; determining a state model in accordance with the logical elements of the legacy application program, the state model associating the logical elements of the legacy application program with the corresponding states of the legacy application program; generating a remote access program in accordance with the state model, the remote access program executing on a server computing device; updating the state model in accordance with data received from a user interface program executing on a client computer and in accordance with application data received from the legacy application program; enabling communication between the legacy application program and the client computer; and providing application representation data generated in accordance with the application data to the user interface program to the client computer, the application representation data enabling the client computer to display the legacy application program in accordance with information contained in the state model.