  Grid computing is distributed computing performed transparently across
multiple administrative domains. Grid middleware, which is meant to enable
access to grid resources, is currently widely seen as being too heavyweight
and, in consequence, unwieldy for general scientific use. Its heavyweight
nature, especially on the client-side, has severely restricted the uptake of
grid technology by computational scientists. In this paper, we describe the
Application Hosting Environment (AHE) which we have developed to address some
of these problems. The AHE is a lightweight, easily deployable environment
designed to allow the scientist to quickly and easily run legacy applications
on distributed grid resources. It provides a higher level abstraction of a grid
than is offered by existing grid middleware schemes such as the Globus Toolkit.
As a result the computational scientist does not need to know the details of
any particular underlying grid middleware and is isolated from any changes to
it on the distributed resources. The functionality provided by the AHE is
`application-centric': applications are exposed as web services with a
well-defined standards-compliant interface. This allows the computational
scientist to start and manage application instances on a grid in a transparent
manner, thus greatly simplifying the user experience. We describe how a range
of computational science codes have been hosted within the AHE and how the
design of the AHE allows us to implement complex workflows for deployment on
grid infrastructure.
