1. A method of profiling and selecting grid resources for a computer program to adapt the program to use a specified grid based system of computer services via a grid adapter, the method comprising the steps of: using a utility application to execute the computer program on a virtual machine running on a computer system; inserting a wrapper between the utility application and the virtual machine; said wrapper providing pass-through access to the virtual machine, monitoring operation of the computer program for a period of time, and recording resource use characteristics and patterns of the operation of the computer program to understand the use of grid capable resources that the computer program could utilize and to be cognizant of the way the computer program makes use of resources, including on the basis of said execution of the computer program, identifying specific performance requirements of the computer program, and determining a profile of the computer program from the recorded use characteristics and patterns and said identified performance requirements to adapt the computer program to the specified grid based system of computer services via the grid adapter, including using a profiling tool to build an application configuration file for the computer program, and said profile describing a relative priority of the computer program to the grid adapter; and using said determined profile for selecting resources for the computer program from the grid based system of computer services.