1. A method for providing computational services to a client using a grid-based distributed computing system, the system including a plurality of engines and at least one grid manager, the method comprising: deploying executable code corresponding one or more service(s) such that the engines can access the executable code; registering the service(s) with the manager; creating instance(s) of the service(s) that may be invoked by the client; and, using one or more of the instance(s) to invoke one or more of the registered service(s), wherein invoking a service comprises: communicating a service request to the manager; using the manager to assign the service request to an available engine; and, executing code corresponding to the requested service on the assigned engine.