This chapter describes a framework to support runtime service discovery for Grid applications based on service discovery queries in both push and pull modes of query execution. The framework supports six different types of trigger conditions that may prompt service replacement during run-time of grid business application, and evaluates the relevance of a set of candidate services against service discovery queries. The chapter also describes the language used to express service discovery queries and the three types of fitness measurement used to evaluate the candidate services against these queries. Both synchronous (pull) and asynchronous (push) mechanisms for service discovery are presented and shown to be complimentary in dealing with all six service discovery trigger conditions. The chapter is illustrated through examples.
The ability to achieve competitive advantage is regarded as a significant factor in determining a firm’s success (Pratali, 2003). Research relating to SMEs and strategy by Duhan et al. (2001) argued that there is a need to view competitive advantage from the perspective of resources, particularly information systems resources. Information systems and business software integration has long been discussed in other literature reviews. Many concerns have been encountered, as most of the datasets addressed by individual applications are very often heterogeneous and geographically distributed. These are used by communities of users, which are also geographically distributed. Hence, the ability to make data stores interoperable remains a crucial factor for the development of these types of systems (Wohrer et al., 2004). Clearly, one of the challenges for such facilitation is that of data integration, which aims to provide seamless and flexible access to information from multiple autonomous, distributed and heterogeneous data sources through a query interface (Calvanese, 1998; Levy, 2000; Reinoso Castillo et al., 2004; Ulman, 1997). Moreover, the combination of large dataset size, geographic distribution of users and resources, and computationally intensive analysis results in complex and stringent performance demands that, until recently, have not been satisfied by any existing computational and data management infrastructure (Foster et al., 2001).
On the other hand, working with obsolete data yields to an information gap that in turn may well compromise decision-making. It is a value creation for individuals and/or collaborators to automatically stay informed of data that may change over time (Asimakopoulou, 2006; Bessis, 2003). Repeatedly searching data sources for the latest relevant information on a specific topic of interest can be both time-consuming and frustrating. In response, a set of technologies collectively referred to as ‘Push’, ‘NetCasting’ or ‘WebCasting’ was introduced in late 90s. This set of technologies allowed the automation of search and retrieval functions. Ten years on, Web Services have overtaken most of Push technology functionality and become a standard supporting recent developments in Grid computing with state-of-the-art technology for data and resource integration.
Grid computing addresses the issue of collaboration, data and resource sharing (Kodeboyina, 2004). It has been described as the infrastructure and set of protocols to enable the integrated, collaborative use of distributed heterogeneous resources including high-end computers, networks, databases, and scientific instruments owned and managed by multiple organizations, referred to as Virtual Organizations (Foster, 2002). A Virtual Organization (VO) is formed when different organizations come together to share resources and collaborate in order to achieve a common goal (Foster et al., 2002). The most important standard that has emerged within the Grid community is the Open Grid Services Architecture (OGSA), an informational specification that aims to define a common, standard and open architecture for Grid-based applications. The need to integrate databases into the Grid has also been recognized (Nieto-Santisteban, 2004) in order to support science and business database applications (Antonioletti et al., 2005). Significant effort has gone into defining requirements, protocols and implementing the OGSA-DAI (Data Access and Integration) specification as the means for users to develop relevant data Grids to conveniently control the sharing, accessing and management of large amounts of distributed data in Grid environments (Antonioletti et al., 2005; Atkinson et al., 2003). Ideally, OGSA-DAI as a data integration specification aims to allow users to specify ‘what’ information is needed without having to provide detailed instructions on ‘how’ or ‘from where’ to obtain the information (Reinoso Castillo et al., 2004).