The complexity of computational grid applications and their environments has been increased due to the heterogeneity of resources; complexity, continuous changes of the applications as well as the resources states, and the large number of resources involved. Current runtime systems for Grid computing mainly focus on executing applications with static resource configuration and do not adequately change the configuration of application execution environments dynamically to optimize the application performance. In this paper, we present an architectural overview of the ADViCE-G (Adaptive Virtual Distributed Computing Environment for Globus), a PSE portal running over Globus, and show how ADViCE-G can optimize the application execution at runtime based on application requirements. We have implemented the ADViCE-G prototype and currently evaluating the prototype and its adaptive services for a larger set of Grid applications.