With the advances in the networking infrastructure in general, and the Internet in specific, we can build grid environments
that allow users to utilize a diverse set of distributed and heterogeneous resources. Since the focus of such environments
is the efficient usage of the underlying resources, a critical component is the brokering module that mediates the discovery,
access and usage of these resources. One of the major tasks of the brokering module is brokering of resources. With the consumer’s
constraints, provider’s rules, distributed heterogeneous resources and the large number of scheduling choices, the brokering
module needs to decide where to place the user’s jobs and when to start their execution in a way that yields the best performance
to the user and the best utilization to the resource provider. In this paper we present the design and implementation of a
flexible, extensible and generic policy- based resource brokering infrastructure for computational grids following a layered
façade design pattern and using XML as the underlying specification language. We also describe a testbed environment and our
efforts at integrating it with several grid systems.