Infrastructure Overview

Application Structure

time@work and expense@work entry involves three levels of processing:

Client PC – Internet Explorer

HTML pages are read by Internet Explorer and a grid is formatted. There are no ActiveX components and no downloads, but the HTML page does contain some embedded Java Scripts which, for example, prepare once-only lists of combo lookup values (Activity lists, etc) on each row.

Page refreshes are reduced as far as is possible during Timesheet or Expense Form Entry by passing specific Project values from the Project, or Task, search pages to the main page, values which Java Scripts use for modifying some aspects of the page (such as read-only or update properties of fields).

Considerable effort has been made to:

– Reduce the size of HTML pages by holding lists of values only once in the page.

– Reduce the number of times a page needs to be refreshed during the process of timesheet or form entry.

– Avoid execution of Java Scripts until they are needed (note that a combo lookup is only filled when the cursor is placed over it).

– Avoid any ActiveX download, thus ensuring zero deployment for the application.

Internet Information Server (IIS)

time@work and expense@work’s server side processes are highly parameter driven, in that HTML pages are formatted dynamically on the basis of Form Types, Calculations, Value Tables, Data Dictionaries, Error Tables, and so on. All of these ‘configuration’ data are stored in and read from the central SQL database.

However, sophisticated cacheing techniques ensure that frequently read, and never updated, data are read only once. Thus Data Dictionaries, for example, are held by the IIS server. This reduces the frequency of communication between IIS and MS SQL servers.

The entire application is written using ASP.Net technology and is executed as compiled code rather than interpreted. This improves performance.

However, in high volume implementations, several IIS servers may be needed. Multiple IIS servers (whether separately addressed or managed using IIS clustering) can work with a single SQL server.

Note also that sufficient bandwidth from these servers to the internet is essential.

MS SQL Server

The MS SQL database (whether with automatic replication or not, and whether clustered or not) sits at the core of the infrastructure, and it is on this server (or clustered servers) that Timesheet, Form, Project and Employee data are stored (together with the configuration parameters that are initially read from this server and cached on the IIS server).

Its important that the MS SQL server is sized appropriately and that a high speed LAN connecting the IIS servers and the MS SQL server is in place.

High-Volume Configuration

High-volume implementations of time@work or expense@work can be configured in this way: