ABSTRACT

This chapter provides an introduction to distributed computing as a foundation for better understanding of cloud-enabled business processes. Distributed systems constitute of a large umbrella under which several different software systems are classified. Unification of parallel and distributed computing allows one to harness a set of networked and heterogeneous computers and present them as a unified resource. Architectural styles help categorize and provide reference models for distributed systems. More precisely, system architectural styles are more concerned with the physical deployment of such systems, whereas software architectural styles define logical organizations of components and their roles. These two styles are the fundamental deployment blocks of any distributed system. Message-based communication is the most relevant abstraction for interprocess communication (IPC) and forms the basis for several techniques of IPC which is a fundamental element in distributed systems; it is the element that ties together separate processes and allows them to be seen as a unified whole. The later-half of the chapter introduces the concepts, characteristics and issues related to distributed databases. As part of the latter, the chapter discusses the use of data replication (to improve system reliability and availability), concurrency control and recovery techniques. The chapter ends with Codd’s Twelve Rules for the Distributed Databases that have been devised on the lines of his rules for the relational database systems.