Flexible Dynamic Binding in Agile Grid Development 1 Jovan Cakic, Richard F. Paige, Howard Chivers, Xiaocheng Ge, John A. McDermid, and Jim Austin Department of Computer Science, University of York, UK. {cakic,paige,chive,xchge,jam,austin}@cs.york.ac.uk Abstract The eXGrid project focuses on the agile development of Grids, in order to more flexibly build dynamic virtual organizations. A key issue in supporting virtual organizations in Grids is a more flexible notion of dynamic binding. We report on experiments in achieving flexible dynamic binding in an agile development of a .NET-based Grid. 1 Supported by EPSRC GR/S64226/01. 1. Introduction and Background Grid computing is a model of system development based on virtual resource integration. Resources are to be delivered seamlessly and dynamically over the Internet and aim at supporting flexible collaboration and computation, in many cases on a national or international scale. However, Grid computing is still in early stages of development, and fully dynamic business interactions based on the metaphor of Virtual Organizations (VO) [Fos01] are not foreseen in the near future. Current Grid middleware does not yet provide the flexibility necessary to make sophisticated planning and scheduling decisions [Gil04] at the level required by this metaphor. Advances are needed in the areas of service discovery, composition, and orchestration. The goals of the eXGrid project, which investigates agile approaches to design of Grid- based systems, include creating a high-level conceptual model of Grid-based systems, and an agile development methodology that applies the model to concrete development problems. The abstract model of Grids that we have proposed [Pai04] provides a simplified interface to Grid middleware, a flexible definition of service, and supports many of the critical usage scenarios that have substantial business value. The model was constructed by applying agile development principles [Agi04] and practices, particularly simplicity, and as such it is minimal. While some issues and usage scenarios may not be supported by the model, the agile methodology that we will deliver will bridge the gap between the model and concrete scenarios. This paper introduces one of the steps – a more flexible notion of dynamic binding – that is being taken to strengthen the conceptual model, bringing it to a sufficient level of maturity so that it supports most, if not all, of the scope of Grid computing and the VO metaphor. The level of dynamic binding that we require in fully supporting the business VO metaphor goes beyond that of most existing Grids – i.e., binding a service implementation to an interface at run-time, or running a script – we support service discovery, management, and negotiation at the most flexible level at run-time. The detailed plan of work for eXGrid includes several stages and is currently focusing on two key aspects of Grids: flexible construction of VOs; and security. The latter is reported on elsewhere [Chi05]. 2. Grids vs. Service-Oriented Architectures and the Need for Dynamic Binding A typical Service-Oriented Architecture (SOA)- based system targets a particular business process, with a predictable workflow and well- known resources. Interfaces and message formats are more or less fixed at design-time, which means that information models of such systems are stable. The Grid computational environment, however, is characterized by entity autonomy, heterogeneity, and distribution. It is an environment in which a priori agreements regarding engagement cannot be assumed. Trading partnerships must be dynamically selected, negotiated, procured, and monitored.