A Virtual Organisation in large-scale distributed systems is a set of individuals and/or institutions with some common purposes or interests that need to share their resources to further their objectives, which is similar to a human community in social networks that consists of people have common interests or goals. Due to the similarity between social networks and Grids, the concepts in social science (e.g. small world phenomenon) can be adopted for the design of new generation Grid systems. This chapter presents a Small World Architecture for Effective Virtual Organisations (SWEVO) for Grid resource discovery in Virtual Organisations, which enables Virtual Organisations working in a more collaborative manner to support decision makers. In SWEVO, Virtual Organisations are connected by a small number of interorganisational links. Not every local network node needs to be connected to remote Virtual Organisations, but every network node can efficiently find connections to specific Virtual Organisations.
Traditionally, grid computing has been a form of distributed computing that is concerned with resource sharing across communications networks. In this model, individual computers are called nodes and virtualize certain resources such as processor, memory and storage. Other nodes can then access these virtual resources over a network connection. These nodes are physically distributed and are usually under the control and ownership of different entities. Examples of controlling entities are: governments, universities, corporations, and businesses. Grids implement models of virtualisation and rely on standard protocols for communication, both of which are captured in a software layer known as middleware.
More recently, Service Oriented Architecture (SOA) has emerged from the IT world in the form of web-services. SOA is an approach to enable a set of loosely coupled functional components to exist and be remotely usable. As opposed to grid computing, the emphasis of SOA is more on how to exchange information which is well defined whilst still being of open standard (as opposed to grid computing that places emphasise on the infrastructure). Foster and Tuecke (2005) capture the description of a service as “A service is a self-contained implementation of some function(s) with a well defined interface specifying the message exchange patterns used to interact with the function(s).”
The web-services incarnation, allows a service to exist as a Uniform Resource Locator (URL) to which requests can be sent and responses solicited in both synchronous and asynchronous modes. Over the following four paragraphs we account for some approaches that have been recently proposed to support different areas of SOA. The approaches discussed are concerned with (a) languages to describe services, (b) service discovery, (c) service composition, and (d) service monitoring, validation, verification, and evolution.
Various XML-based languages have been proposed to support descriptions of service components and choreography. Web Services Description Language - WSDL (Christensen et al., 2001) is currently the most used language for service description and supports interface-based definition in terms of input/output signatures. The semantic markup for Web Services - OWL-S (Martin et al., 2004) is an ontology that exists within the web ontology language (OWL) and extends input/output signatures by allowing the description of pre- and post-conditions to represent value-based restrictions, while Web Services Modelling Ontology - WSMO (Bruijn et al., 2005) provides a language for describing semantic aspects of services. The Business Process Execution Language for Web Services - BPEL4WS (Andrews et al., 2003) is a language that describes observable behaviour of web services by message-flow oriented interface. The Web Service Conversation Language - WSCL, (Banerji et al., 2002) goes beyond description of input/output messages, and defines transitions with associated conditions. More recently, OpenModel Modelling Language - OMML (Hall & Zisman, 2004b) has been proposed to support full behaviour specification of computer-based services.