In this paper we propose a novel framework for the dynamic allocation of jobs in grid-like environments, in which such jobs are dispatched to the machines of the grid by a centralized scheduler. We apply a new, full resource-driven approach to the scheduling task: jobs are allocated and (possibly) relocated on the basis of the matching between their resource requirements and the characteristics of the machines in the grid. We provide experimental evidence that our approach effectively exploits the computational resources at hand, successfully keeping the completion time of the jobs low, even without having knowledge of the actual running times of the jobs.