Preface1. Introduction & justification
Service-oriented computing is a popular design methodology for large scale business computing systems. Its underpinning principle is that of modelling a business process as a re-usable service entity that can be connected to a series of other physically distributed services in order to realise a set of predetermined specifications. Interest in further researching and applying the service oriented approach has exponentially increased in the past few years with the development of the Service Oriented Architecture (SOA) and other competing frameworks. A significant number of companies aim to reap the benefit of cost reduction by realising B2B and B2C processes on large-scale SOA-compliant software system platforms. This interest has also been compounded and further strengthened by the massive increase of e-commerce through the online selling of e-content from MP3 music and videos to services and access to specialised content and applications. This phenomenon is bound to continue in the future as big content providers such as music and film production companies forge partnerships with ISPs for on-demand, cost-efficient global content distribution over home broadband connections.
Traditionally, service-oriented computing research has focused on: a) the accurate mapping of real business logic onto software service objects, b) service inter-linking and workflow/transaction management and c) the interfaces and orchestration of the whole scheme by the underlying operating systems and physical hardware. However, this emphasis is quickly shifting towards researching into computing platforms that are capable of supporting this kind of processing. Due to the competitive nature of the aforementioned services, such a platform should be capable of providing a guaranteed quality of service to the customers of the participating businesses. This quality has four dimensions:
1. Efficiency: The execution and coordination of the realised processes is optimised in terms of data traffic and latency. Data traffic stemming from user queries and downloads is the main cost factor of online content providers and thus its optimisation is a standard long term goal of such businesses. Latency is arguably one of the most important factors affecting customer satisfaction and therefore it should also be within specified acceptable limits.
Peer-to-Peer (P2P) and Grid computing are two very pertinent fields that have received a significant and sustained research interest in terms of designing and deploying large scale and high performance computational resource sharing systems. Computational resources include anything from files and applications to processing cycles and storage space. Effectively these two fields collectively form the de facto basis for the methodologies and techniques that need to be used to develop performance-driven service-oriented software platforms capable of satisfying the aforementioned four key aspects of quality of service.
2. Scalability: These platforms should be able to scale well as they are intended to be used by massive customer bases. They should also manage to withstand demand during peak times and the “flash crowds” phenomenon.
3. Robustness: The provisioning of the services needs to have continuously high availability by design and redundancy.
4. Security: Appropriate levels of security need to be provided to protect both the providers and consumers from malicious or fraudulent activities. In fact, without adequate security provisioning it is highly unlikely that any platform will be considered seriously for such scale of business computing.
P2P and Grids started as two different distributed computing philosophies: Grid computing represented a more business-oriented orchestration of relatively homogeneous and powerful distributed computing resources to optimise the execution of time consuming tasks whereas P2P networks had an emphasis on the discovery and sharing of resources on the edges of a heterogeneous network (i.e. user desktops, etc.) especially in terms of file sharing. However, nowadays these two domains have a very substantial overlap as P2P systems have been borrowing on more traditional Grid techniques for task scheduling and execution and the Grid systems have been deploying P2P oriented techniques for more scalable and versatile resource discovery. In fact with the development of very sophisticated information discovery subsystems within Grids, of P2P overlays dedicated to coordinated parallel and distributed processing and of mobile Grids and P2P networks for ad-hoc sharing of mobile telecoms operator services, it has now become more difficult than ever to differentiate these two approaches.
2. Aim & objectives
This handbook aims to address the need for more literature onto the applicability and use of P2P and Grid computing techniques for delivering efficient service-oriented computing. Specifically the book has two key objectives: Firstly to explore how the P2P and Grid paradigms can be used to deliver quality of service in key operations such as the discovery, secure utilisation and coordination of distributed services. Secondly, to use the service-oriented computing as the context of a technical comparison between these two fields. The first objective is closely linked to commercial demand for distributed computing techniques that can form the basis for feasible and efficient solutions for service discovery, secure access and orchestration. The second objective is firmly rooted within the distributed computing academic and research community and its desire to better understand the link between P2P networks and Grids and thus research into potential hybrid solutions.
3. Audience & contribution
The above objectives make this book appropriate and useful to the following audience:
• researchers and doctoral students working specifically in P2P computing, Grids or SOA implementations and deployments, primarily as a reference publication. Similarly, this book will be useful to researchers in related or more general fields such as distributed computing, software engineering, Web Services, modelling of business processes, etc.
The above categories of readers will find this publication especially appealing as it combines three distinct scholarly contributions:
• academics delivering research-oriented modules in the above fields. This handbook can serve as a good collection of related articles to facilitate a broad understanding of this subject and as such it can become one of the recommended texts in such courses.
• professional system architects and developers who could decide to adapt and apply in practice a number of the techniques and processes presented in the book.
• technical managers and IT consultants as a book that demonstrates the potential applicability of certain methods to delivering efficient and secure commercial electronic services to customers globally.
Firstly it identifies and highlights state-of-the-art techniques and methods from P2P and Grid computing that can be used to build performance-driven service-oriented software platforms. Secondly it uses service-oriented computing as a context to draw a comparison between the P2P and Grid computing paradigms in terms of their ability to provide the necessary quality of service.
Finally, it achieves all of the above through the balanced coverage of both P2P and Grid related research and therefore provides a single reference point for both these technologies. This is academically desirable as the two fields have a significant conceptual overlap and therefore distributed systems researchers are typically interested in knowing about the applicability and usefulness of both P2P and Grids in their research domain. The strong overlapping between them is emphasized by the fact that every major conference, workshop and peer-reviewed journal dedicated on Grid computing typically accepts paper submissions on P2P and vice versa.
4. Handbook Contents
This handbook includes 45 high quality fully refereed chapters organised into five sections.
The first section introduces fundamental concepts, techniques and terminology in the fields of service-oriented computing, P2P and Grid computing through a set of literature review articles. This material effectively sets the scene for the remainder of the book. v
The following three sections present state-of-the-art research work that contributes towards one of the four quality of service parameters mentioned in the introduction (namely: efficiency, scalability & robustness and security).
The final section concludes the handbook by presenting real applications and lessons learned from using P2P or Grid approaches to realise various aspects of service-oriented computing.
We are certain that you will find each chapter interesting and potentially useful to your work.